Root /ArchiveAbout
()

Выводим числа в указанном порядке

Выводим числа в указанном порядке

Добрый день. ☺ На этой странице рассматриваем первые 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.