Решение задачи № 21 из главы 13.1.Выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" увеличивалась до M
Primary tabs
Пользователь передает целые положительные число N и M, выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" увеличивалась до M чисел, то уменьшалась до 1.
program pascal_piramid_more_less; var start_length_string ,max_length_string,last_carry_string,i,fix_number,piramid_length :integer; begin start_length_string := 1; // начальная длинна строки до переноса last_carry_string := 0; // выведено с последнего переноса max_length_string := 3; // максимальная длинна строки fix_number := 1; // учитываем , что начальная длинна строки равна 1 piramid_length := 76; // количество элементов for i:=1 to piramid_length do // выведем значения от 1 до 76 begin write( i , ' ' ); last_carry_string +=1; // учтем что выведено один символ if( max_length_string > fix_number ) then // выполняем блок 1 пока верно условие begin if ( last_carry_string >= start_length_string ) then // пора переносить строку begin writeln();// перенос строки last_carry_string := 0; // после переноса сбрасываем счетчик start_length_string +=1; // в следующий раз длинна строки увеличится на 1 fix_number +=1; // увеличиваем на 1 end; end; if( fix_number = max_length_string ) then // выполняем блок 2 пока верно условие begin if ( last_carry_string >= start_length_string ) then // пора переносить строку begin writeln(); // перенос строки last_carry_string:= 0; // выведено с последнего переноса start_length_string-=1; // уменьшаем ширину пирамиды на 1 if( start_length_string = 1 ) then // длинна достигла начального значения fix_number := 1; // присваиваем начальное значение end; end; end; writeln(); readln(); end.
- Log in to post comments
- 2767 reads
sergio
Sun, 05/03/2020 - 15:24
Permalink
Пользователь передает целые
.
sergio
Sun, 05/03/2020 - 15:25
Permalink
Вложенные циклы в Pascal
.