Страница 1 из 1
Просьба помочь с задачкой
Добавлено: 22 янв 2009, 19:44
PRo9
Перепишите в форме предусловием (while) следующий оператор цикла паскаля
к:=0; for i:='z' down to 'a' do k:=k+1
Заранее спасибо
Re: Просьба помочь с задачкой
Добавлено: 22 янв 2009, 23:16
Creatizmo
Код: Выделить всё
k := 0;
i := z;
while i <= a do
begin
k := k + 1;
i := i - 1;
end;
Re: Просьба помочь с задачкой
Добавлено: 22 янв 2009, 23:21
dr.Jekill
Creatizmo, я что-то не понял, ты что из символьной i отнимаешь потом единицу? :
i:=z;
..
i:=i-1;
Может попробовать что-то подобное?
var k,j:byte;
i:char;
begin
k:=0;i:='z';j:=26;
while (i<='a') and (j>0) do
begin
k:=k+1;
j:=j-1;//тут конечно коряво
end;
writeln(k:2);
readln;
end.
Re: Просьба помочь с задачкой
Добавлено: 23 янв 2009, 00:26
PRo9
тут вот челы еще написали так
k:=0;
i:='z';
while i<>'a' do
begin
k:=k+1;
i:=pred(i);
end.
препод придрался к тому что выделено жирным. судя по вашим решениям нужно заменить i<>'a' на i<='a' ???
Re: Просьба помочь с задачкой
Добавлено: 23 янв 2009, 04:47
Creatizmo
dr.Jekill писал(а):Creatizmo, я что-то не понял, ты что из символьной i отнимаешь потом единицу?
ммм.. да ошибочка вышла... принял z и a за числовые константы...
у тебя кстати тоже в программке ошибочка
PRo9
<> - не равно
>= - больше либо равно
<= - меньше либо равно
Код: Выделить всё
...
k := 0;
i := 'z';
j := 26;
while (i>='a') and (j>0) do
begin
inc(k);
dec(j);
i := pred(i);
end;
writeln(k);
...
Добавлено: 23 янв 2009, 11:09
PRo9
Creatizmo что такое j := 26??? количество букв
А где в твоей задаче k:=k+1??? или это inc(k)
Re: Просьба помочь с задачкой
Добавлено: 23 янв 2009, 19:58
Creatizmo
j - это кол-во латинских букв
Да процедура
inc(k) увеличивает
k на единицу

Re: Просьба помочь с задачкой
Добавлено: 24 янв 2009, 02:01
dr.Jekill
Creatizmo писал(а):ммм.. да ошибочка вышла... принял z и a за числовые константы...
у тебя кстати тоже в программке ошибочка
PRo9
<> - не равно
>= - больше либо равно
<= - меньше либо равно
Код: Выделить всё
...
k := 0;
i := 'z';
j := 26;
while (i>='a') and (j>0) do
begin
inc(k);
dec(j);
i := pred(i);
end;
writeln(k);
...
Все мы не без греха!
var k:byte;
i,m:char;
begin
k:=0;i:='a';m:='z';
while i<=m do
begin
m:=pred(m);
k:=k+1;
end;
writeln(k:2);
readln;
end.