Урок 13.1 Задача 19
Primary tabs
Пользователь передает целое положительное число N, выведете на экран последовательность из единиц в количестве N "ёлочкой", например для N=18:
1
1 1
1 1 1
1 1 1 1
1 1 1 1 1
1 1 1
ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно).
Решите указанными двумя способами.
Решение:
var a,c,n: integer;
begin
writeln('Введите число');
readln(n);
a:=0;
c:=1;
while (a<=n) do
begin
a:=1;
if (a <=n) then
write(a,' ');
if (a = (c + 1)) then
begin
writeln();
end;
end;
readln();
end. - Log in to post comments
- 2484 reads
vedro-compota
Thu, 12/01/2022 - 19:44
Permalink
замечания - пока не трогаем
1)
-- почему а меняет значение с нуля на 1? Почему бы не присвоить значение еще до цикла
2)
-- дублирование проверки, зачем дважды проверять что а меньше либо равно n
_____________
матфак вгу и остальная классика =)
vedro-compota
Thu, 12/01/2022 - 19:45
Permalink
Решите задачу
Решите задачу
-- решить циклом while
_____________
матфак вгу и остальная классика =)
vedro-compota
Thu, 12/01/2022 - 19:57
Permalink
попытаться переписать циклом
попытаться переписать циклом for
_____________
матфак вгу и остальная классика =)
kuznmax
Thu, 12/15/2022 - 18:04
Permalink
Пока что только так
program Project1; var a,c,n: integer; begin writeln('Введите число'); readln(n); c:=1; for a:=1 to n do if (a <=n) then write(a,' '); if (a = (c + 1)) then writeln(); readln(); end.vedro-compota
Thu, 12/15/2022 - 19:56
Permalink
1) прокомментировать
1) прокомментировать назначение переменных
2) и назначение проверок if()
_____________
матфак вгу и остальная классика =)
kuznmax
Thu, 01/05/2023 - 14:26
Permalink
Ответ
vedro-compota
Thu, 01/05/2023 - 14:47
Permalink
добавить комментарии прямо в
вынести продолжение решения отдельно как для задачи #1 урока по for, с учетом замечаний:
1) добавить комментарии прямо в код:
текущую пока на паузу до решения
_____________
матфак вгу и остальная классика =)
kuznmax
Fri, 01/06/2023 - 12:46
Permalink
Добавил
program Project1; var a,c,n: integer;// a-количество едениц в строке begin writeln('Введите число'); readln(n); //n-количество едениц при выводе елочкой c:=1;//c-количество строк for a:=1 to n do if (a <=n) then// сравнивает кол-во едениц в строке и введенное число write(a,' '); if (a = (c + 1)) then//сравнивает кол-во едениц и строки writeln(); readln(); end.