Задача 20 Урок 13.1
Primary tabs
Пользователь передает целое положительное число N, выведете на экран последовательность от 1 до N "ёлочкой", например для N=18:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно).
Решите указанными двумя способами.
Вложенные циклы:
program task20v1;
var i,a,m,n: integer;
begin
writeln('vvedite chislo n');
readln(n);
a:=1;
m:=1;
while (a<=n) do
begin
for i:=1 to m do
begin
if (a<=n)then
write(a,' ');
a:=a+1;
end;
m:=m+1;
if (a<=n)then
writeln();
end;
readln();
end. 1 цикл:
program task20v2;
var a,b,n,c: integer;
begin
writeln('vvedite chislo n');
readln(n);
c:=1;
while (n>0) do
begin
if (a<=b) then
begin
write(c,' ');
a:=a+1;
n:=n-1;
c:=c+1; //увеличение числа на выводе
end
else //переходим на новую строку
begin
writeln();
b:=b+1; //кол-во строк
a:=0; //кол-во символов
end;
end;
readln();
end. - Log in to post comments
- 635 reads
vedro-compota
Sun, 11/13/2022 - 13:04
Permalink
Инструкция:
Инструкция:
может выполняться в теле цикла без каких-либо условий, попробуйте переписать так
_____________
матфак вгу и остальная классика =)
NikSo
Mon, 11/14/2022 - 10:16
Permalink
Убрал n:=n-1;
Ваш комментарий скорее всего от задачи Задача 21 Урок 13.1
program task20v2; var a,b,n,c: integer; begin writeln('vvedite chislo n'); readln(n); c:=1; while (n>=c) do begin if (a<=b) then begin write(c,' '); a:=a+1; c:=c+1; //увеличение числа на выводе end else begin writeln(); b:=b+1; //кол-во символов в строке которое нужно вывести a:=0; //кол-во символов которое вывелось с начала строки end; end; readln(); end.