Добрый день. ☺ На этой странице рассматриваем первые 9 заданий раздела for (смотрите Оператор цикла с параметром) задачника Абрамяна.
For1. Даны целые числа K и N (N > 0). Вывести N раз число K.
var
K: integer;
N, i: word; { <-- Описание переменных }
begin
write('K = '); { <-- Выводим на экран сообщение }
readln(K); { <-- Вводим K и переходим на следующую строку }
write('N = '); { <-- Выводим сообщение на экран }
readln(N); { <-- Вводим N и переходим на следующую строку }
writeln('Число ', K, ' выводим ', N, ' раз:'); { <-- Подсказка }
for i := 1 to N do { <-- Повторение N раз }
write(' ', K); { <-- Выводим число K на экран }
readln { <-- Ожидание нажатия Enter }
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** word;
: Представляет 16-битовое целое число без знака.Диапазон значений: 0 .. 65 535 For2. Даны два целых числа A и B (A < B). Вывести в порядке возрастания все целые числа, расположенные между A и B (включая сами числа A и B), а также количество N этих чисел.
var
A, B, i: integer;
N: word;
begin
writeln('Введите целые числа A и B (A < B):');
readln(A, B);
writeln; { <-- Переход на новую строку }
writeln('Выводим все целые числа между ', A, ' и ', B, ':');
{ Выводим все числа от А до В включительно: }
for i := A to B do write(' ', i);
N := B - A + 1; { <-- Количество чисел в диапазоне [A, B] }
{ Выводим результат: }
writeln; { <-- Пропускаем одну строку }
writeln('Количество чисел между ', A, ' и ', B, ' равно ', N);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** word;
: Представляет 16-битовое целое число без знака.Диапазон значений: 0 .. 65 535 * * *
Второе решение задачи For1 учитывает ситуацию, когда A > B.
var
A, B, i: integer;
N: word;
begin
writeln('Введите целые числа A и B:');
readln(A, B);
writeln('Выводим все целые числа между ', A, ' и ', B, ':');
if A <= B then { <-- A не больше B }
for i := A to B do write(' ', i){ <-- Выводим в прямом порядке }
else { <-- A больше B }
for i := B to A do write(' ', i);{ <-- Выводим в обратном порядке }
N := abs(B - A) + 1; { <-- Количество чисел в диапазоне [A, B] }
{ Выводим результат: }
writeln; { <-- Пропускаем одну строку }
writeln('N = ', N);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** word;
: Представляет 16-битовое целое число без знака.Диапазон значений: 0 .. 65 535**function** Abs(x: real): real;
: Возвращает модуль числа x. For3. Даны два целых числа A и B (A < B). Вывести в порядке убывания все целые числа, расположенные между A и B (невключая числа A и B), а также количество N этих чисел.
var
A, B, N, i: integer;
begin
write('A = ');
readln(A);
write('B = ');
readln(B);
writeln;
{ Количество чисел в интервале (A, B): }
N := abs(B - A) - 1;
if N > 0 then begin
writeln('Числа с интервала ', A, ' и ', B,
' в порядке убывания:');
if A < B then
for i := B - 1 downto A + 1 do write(' ', i)
else
for i := A - 1 downto B + 1 do write(' ', i);
writeln;
writeln('N = ', N)
end
else writeln('Между ', A, ' и ', B, ' нет других чисел');
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**function** Abs(x: real): real;
: Возвращает модуль числа x. For4. Дано вещественное число — цена 1 кг конфет. Вывести стоимость 1, 2, ..., 10 кг конфет.
var
i: byte;
C: real;
begin
write('Введите стоимость 1 кг конфет: ');
readln(C);
writeln;
{ Выводим стоимость 1, 2, ..., 10 кг конфет: }
writeln('Стоимость:');
for i := 1 to 10 do
writeln(' ', i, ' кг конфет: ', i * C:0:2);
readln
end.
**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 For5. Дано вещественное число — цена 1 кг конфет. Вывести стоимость 0.1, 0.2, ..., 1 кг конфет.
var
i: integer;
C: real;
begin
write('Введите стоимость 1 кг конфет: ');
readln(C);
writeln;
{ Выводим стоимость 0.1, 0.2, ..., 1 кг конфет: }
for i := 1 to 10 do
writeln(' Стоимость ', i / 10,
' кг конфет: ', (i * C / 10):0:2);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 For6. Дано вещественное число — цена 1 кг конфет. Вывести стоимость 1.2, 1.4, ..., 2 кг конфет.
var
i: integer;
C: real;
begin
write('Введите стоимость 1 кг конфет: ');
readln(C);
writeln;
{ Выводим стоимость 1.2, 1.4, ..., 2 кг конфет: }
for i := 1 to 5 do
writeln(' Стоимость ', 1 + i / 5,
' кг конфет: ', C * (1 + i / 5):0:2);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 For7. Даны два целых числа A и B (A < B). Найти сумму всех целых чисел от A до B включительно.
var
A, B, Sum, i: integer;
begin
write('A = ');
readln(A);
write('B = ');
readln(B);
Sum := 0; { <== сначала сумма чисел равна 0 }
for i := A to B do { <-- для всех чисел от A до B }
Sum := Sum + i; { <== сумму увеличиваем на i }
writeln;
writeln('Сумма чисел от ', A, ' до ', B, ' равна ', Sum);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647 For8. Даны два целых числа A и B (A < B). Найти произведение всех целых чисел от A до B включительно.
var
A, B, D, i: integer;
begin
writeln('Введите целые числа A и B (A < B):');
readln(A, B);
D := 1; { <== сначала произведение чисел равно 1 }
for i := A to B do { <-- для всех чисел от A до B включительно }
D := D * i; { <== произведение умножаем на i }
writeln;
writeln('Произведение чисел от ', A, ' до ', B, ' равно ', D);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647 For9. Даны два целых числа A и B (A < B). Найти сумму квадратов всех целых чисел от A до B включительно.
var
A, B, Sum, i: integer;
begin
write('A = ');
readln(A);
write('B = ');
readln(B);
Sum := 0; { <== сначала сумма квадратов чисел равна 0 }
for i := A to B do { <-- для всех чисел от A до B включительно }
Sum := Sum + sqr(i); { <== сумму увеличиваем на i в квадрате }
writeln;
writeln('Сумма квадратов чисел от ', A,
' до ', B, ' равна ', Sum);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**function** Sqr(x: real): real;
: Возвращает квадрат числа x.