for1-15

Решение задач. День одиннадцатый. Задачи For1-15

Приветствуем читателей нашего сайта! Сегодня мы с вами решим for1-15 из вот этого задачника.

For1. Даны целые числа K и N (N > 0). Вывести N раз число K.

Организовываем простой цикл от 1 до требуемого числа.

program for1;

var
 K, N, i: integer;

begin
 read(K, N);
 for i := 1 to N do write(K, ' '); {Пишем К через пробел }
end.

For2. Даны два целых числа A и B (A < B). Вывести в порядке возрастания все целые числа, расположенные между A и B (включая сами числа A и B), а также количество N этих чисел.

Так как A < B, то цикл должен будет выводить все числа от А до B. Чтобы сосчитать количество чисел, используем формулу: <конечное_значение> — <начальное_значение> + 1.

program for2;

var
  A, B, i, count: integer;

begin
  read(A, B);
  for i := A to B do write(i, ' '); {выписываем числа от меньшего к большему}
  count := B - A + 1; {считаем количество чисел}
  writeln;
  write( 'Количество чисел - ', count);
end.

For3. Даны два целых числа A и B (A < B). Вывести в порядке убывания все целые числа, расположенные между A и B (не включая числа A и B), а также количество N этих чисел.

Задача решается аналогично предыдущей. Только на этот раз используем  downto, так как числа будут двигаться сверху вниз. Чтобы исключить А и В из списка выводимых чисел, от В отнимаем 1, а к А наоборот прибавляем.

program for3;

var
  A, B, i, count: integer;

begin
  read(A, B);
  for i := B - 1 downto A + 1 do write(i, ' '); {выписываем числа от большего к меньшему}
  count := (B - 1) - (A + 1) + 1; {считаем количество чисел}
  writeln;
  write( 'Количество чисел - ', count);
end.

For4. Дано вещественное число — цена 1 кг конфет. Вывести стоимость 1, 2 , …, 10 кг конфет.
Каждую итерацию цикла выводим цену, умноженную на i.

program for4;

var
  i: integer;
  price_one: real;

begin
  read(price_one);
  for i := 1 to 10 do writeln(i, ' кг. стоит - ', price_one * i, ' ');
end.

For5°. Дано вещественное число — цена 1 кг конфет. Вывести стоимость 0.1, 0.2, …, 1 кг конфет.

Такая же программа, как предыдущая, только теперь умножаем на  i / 10.

program for5;

var
  i: integer;
  price_one: real;

begin
  read(price_one);
  for i := 1 to 10 do writeln(i / 10, ' кг. стоит - ', price_one * (i / 10), ' ');
end.

For6.Дано вещественное число — цена 1 кг конфет. Вывести стоимость 1.2, 1.4, …, 2 кг конфет.

program for6;

var
  i: integer;
  price_one: real;

begin
  read(price_one);
  for i := 1 to 5 do writeln(1 + i / 5, ' кг. стоит - ', price_one + price_one * (i / 5), ' ');
end.

For7. Даны два целых числа A и B (A < B). Найти сумму всех целых чисел от A до B включительно.

Организовываем цикл и складываем все числа.

program for7;

var
  A, B, i, S: integer;

begin
  read(A, B);
  S := 0; 
  for i := A to B do S := S + i; 
  write( 'Сумма  - ', S);
end.

For8. Даны два целых числа A и B (A < B). Найти произведение всех целых чисел от A до B включительно.

Создаем цикл и умножаем все числа.

program for8;

var
  A, B, i, P: integer;

begin
  read(A, B);
  P := 1; 
  for i := A to B do P := P * i; 
  write( 'Произведение - ', P);
end.

For9. Даны два целых числа A и B (A < B). Найти сумму квадратов всех целых чисел от A до B включительно.

Организовываем такой же цикл, как и в предыдущей задаче, но одновременно суммируем квадраты всех чисел. Чтобы высчитать квадрат, используем функцию Sqr.

program for9;

var
  A, B, i, S: integer;

begin
  read(A, B);
  S := 0; {PascalABC делает это автоматически, но если у вас другой компилятор советуем обнулять переменные вручную}
  for i := A to B do S := S + Sqr(i);  {складываем все квадраты}
  writeln;
  write( 'Сумма квадратов - ', S);
end.

For10. Дано целое число N (> 0). Найти сумму 1 + 1/2 + 1/3 + … + 1/N (вещественное число).

program for10;

var
  N, i: integer;
  S : real;

begin
  read(N);
  S := 0; 
  for i := 1 to N do S := S + 1 / i; 
  write( 'Сумма - ', S:1:2);
end.

For11.Дано целое число N (> 0). Найти сумму N2 + (N + 1)2 + (N + 2)2 + … + (2·N)2 (целое число).

program for11;

var
  N, i: integer;
  S : integer;

begin
  read(N);
  S := 0; 
  for i := N to 2 * N do S := S + Sqr(i); 
  write( 'Сумма - ', S);
end.

For12°.Дано целое число N (> 0). Найти произведение 1.1 · 1.2 · 1.3 · …(N сомножителей).

program for12;

var
  N, i: integer;
  P: real;

begin
  read(N);
  P := 1; 
  for i := 1 to N do P := P * (1 + i / 10 ); 
  write( 'Произведение - ', P:1:2);
end.

For13°. Дано целое число N (> 0). Найти значение выражения 1.1 – 1.2 + 1.3 – … (N слагаемых, знаки чередуются). Условный оператор не использовать.

Для того, чтобы поменять знак, каждую итерацию цикла меняем значение специальной переменной на противоположное.

program for13;

var
  N, A, i: integer;
  S: real;

begin
  Write('N = ');
  readln(N); 
  S := 1.1; 
  A := 1; {Сначала положительное}
  for i := 2 to N do {первую итерацию цикла мы уже произвели, поэтому начинаем отсчет с 2}
  begin 
   A := -A; {Теперь отрицательное}
   S := S + A * (1 + i / 10);  {Складываем}
  end;
  Writeln(S:5:1); {Отдадим под дробную часть одно знакоместо}
end.

For14. Дано целое число N (> 0). Найти квадрат данного числа, используя для его вычисления следующую формулу:
N2 = 1 + 3 + 5 + … + (2·N – 1).
После добавления к сумме каждого слагаемого выводить текущее значение суммы (в результате будут выведены квадраты всех целых чисел от 1 до N).

program for14;

var
  i, N: integer;
  Pow: real;

begin
  write('N = ');
  read(N);
  Pow := 0;
  for i := 1 to N do 
  begin
    Pow := Pow + (2 * i - 1);
    writeln(Pow);
  end;
end.

For15°. Дано вещественное число A и целое число N (> 0). Найти A в степени N: AN = A·A· … ·A (числа A перемножаются N раз).

program for15;

var
  i, N: integer;
  A, Pow: real;

begin
  write('A = ');
  read(A); 
  write('N = ');
  read(N);
  Pow := 1;
  for i := 1 to N do Pow := Pow * A;
  write(Pow:1:2);
end.

На сегодня все! Не забывайте кликать по кнопочкам и подписываться на обновления нашего сайта!

  • Антон

    Здравствуйте,вы не могли бы мне помочь с решением задач,сколько пробую ничего не получается(