• Уважаемый посетитель!!!
    Если Вы уже являетесь зарегистрированным участником проекта "миХей.ру - дискусcионный клуб",
    пожалуйста, восстановите свой пароль самостоятельно, либо свяжитесь с администратором через Телеграм.

Pascal

  • Автор темы Автор темы Sherry
  • Дата начала Дата начала

Sherry

Участник
Помогите разобраться, в чем дело. Ввожу текст:
program A;
begin
write(‘AAA’);
end.
Далее проверяю на ошибки, все ОК, а программа не хочет запускаться. Мне нужно, чтобы она выводила на экран ААА. Помогите.
Версия: Pascal 6.0
 
Sherry, ты уверена, что программа не запускается? Скорее всего запустилась и выполнилась.
 
В общем собственно не знаю как выполнить задание: составьте программу, которая выводит в строку: АВВСССDDDD…ZZ…Z.
Ввожу вот такой код:
program A;
var a,b,c,d,e:char;
begin
writeln;
writeln(‘vvedite a,b,c,d,e,’);
a:=A;
b:=BB;
c:=CCC;
d:=DDDD…;
e:=ZZ…Z;
read (a,b,c,d,e);
write(‘АВВСССDDDD…ZZ…Z’);
end.

Выдает сообщение об ошибке. Что не так?
 
Sherry, вообще-то тебе предложено написать программу с двумя вложенными циклами...
На что ругается? На
?
Поди-ка говорит, что A не определенно?
 
Sherry, я сомневаюсь, что тебя просят просто вывести строку. Ты ведь прошла вложенные циклы?
Ты неправильно поянла задание, надо вывести следующую строку:
ABBCCCDDDDEEEEE... (далее количество повторений каждой следующей буквы равно количеству повторений предыдущей плюс один) ...ZZZZZZZZZZZZZZZZZZZZZZZZZZ ( последняя буква 'Z' встречается 26 раз).
Или я не прав?
 
Задание именно так было дано как я написала, со всеми точками
 
Тогда вот тебе текст программы. : )

program BC;
var a : array [1..26] of char;
n, i, j : integer;
begin
a[1]='A';
a[2]='B';
a[3]='c';
... (извини, дальше сама напиши в том же духе, весь латинский алфавит)
a[24]='X';
a[25]='Y';
a[26]='Z';
n:=1;
for i:=1 to 26 do
begin
for j:=1 to n do write(a);
n:=n+1;
end;
writeln;
end.
 
Sherry
а программа не хочет запускаться.
Версия: Pascal 6.0
Откуда запускаешь? Из оболочки? Попробуй нажать ALT-F5 (не помню точно) - покажет экран с результатами работы.
Еще можно в конце программы простой readln; поставить, будет ждать Enter.
Еслиже программа действительно не запускается (иногда случается на некоторых связках машина-виндовз-погода_на_марсе), то попробуй из среды создать .exe-шник (где-то есть опция компилить в память или в файл - ставишь второе), выйти из нее, и просто запустить созданный ехе (тут точно лучше иметь readln);

Ну и мой вариант программы (проверил, работает):
Код:
program ABBCCC;

var	i, j: integer;

begin
	for i:=1 to 26 do begin
		for j:=1 to i do write(chr(ord('A')+i-1));
	end;
	writeln;
	readln;
end.
 
вообще то в паскале можно и так:

var c: char;
begin
...
for c:='A' to 'Z' do
...
 
Пожалуй ты прав,
Код:
program ABBCCC2;
var	i: char;
	j: integer;
begin
	for i:='A' to 'Z' do begin
		for j:=0 to ord(i)-ord('A') do write(i);
	end;
	writeln;
end.
смотрится нагляднее...
 
А так еще нагляднее :)
Код:
program ABBCCC3;
var	i: char;
	j: char;
begin
	for i:='A' to 'Z' do begin
		for j:='A' to i do write(i);
	end;
	writeln;
end.
 
Шогал, отлично, самое лучшее решение!))
 
Печатал где и как? ;)
Вообще-то что его попросишь, то и напечатает... Все решаемо.
Если же проблема в "крюкозябах", то тут надо настраивать кодировки, шрифты и пр. Или программу набирать в ДОС-кодировке.
 
Есть такая прога - atrusk.com
Правда обладает побочным эффектом - слегка меняет внешний вид шрифта...
 
А можно просто записать руссую версию Паскаля.
 
Назад
Сверху