Предмет: Информатика, автор: dsidorin19

Решите пожалуйста задачу по информатике.
Натуральные числа a,b,n заданы пользователем. Вывести на экран числа отрезка a,b с шагом n.
Пример: 2,20,3
2,5,8,11,14,17,20


VipPhoenixVip: Паскаль?
dsidorin19: Да, PascalAbc.net
VipPhoenixVip: сек

Ответы

Автор ответа: VipPhoenixVip
1

var a,b,n:integer;

Begin

 write('Введите начало интервала (a): '); readln(a);

 write('Введите конец интервала (b): '); readln(b);

 write('Введите шаг (n): '); readln(n);

 a := a - n;

 while (true) do Begin

   a := a + n;

   write(''+a);

   if(a >= b) then break;

   write(',');

 End;

End.

Приложения:

VipPhoenixVip: Первый end от While
VipPhoenixVip: второй end - конец программы
dsidorin19: А что будет если true не писать?
VipPhoenixVip: Проверь. while (true) - бесконечный цикл, while (a < 10) - конечный цикл, то бишь пока a меньше 10 будет идти повторение иначе конец
VipPhoenixVip: Еще вопросы?)
dsidorin19: А слово true заменить можно?
VipPhoenixVip: Можно. Удали строчку if(a >= b) then break; а вместо true поставь a < b
VipPhoenixVip: Результат вроде такой же будет
MrMiner1: я бы вам посоветовал писать не write(''+ a);,а write('',a);. А в вашем случае write(a); т.к. вы записью '' не добавляете пробела.
VipPhoenixVip: ну такое.. я ж не программист )
Автор ответа: 13nisa13
0

var a,b,n,i:integer;

begin

write('Введите a,b,n: ');

readln(a,b,n);

repeat

write(a,'  ');

a:=a+n

until a>b

end.

или

var a,b,n,i:integer;

begin

write('Введите a,b,n: ');

readln(a,b,n);

while a<=b do

begin

write(a,'  ');

a:=a+n

end

end.


VipPhoenixVip: while a<=b do - почему <= ?
VipPhoenixVip: без б) дошло... ты сначала выводишь потом добавляшь :З
Похожие вопросы
Предмет: Биология, автор: паша34676