ВВЕРХ
ВНИЗ
  • Home
  • Series
  • Series 1 - 7

Series 1 - 7

На этой странице представлены первые 7 примеров из раздела "последовательности в Паскаль" задачника Абрамяна.

Series1 – находим сумму последовательно введенных 10-ти чисел.
Series2 – находим произведение введенных 10-ти вещественных чисел.
Series3 – среднее арифметическое последовательности 10-ти вещественных чисел.
Series4 – находим сумму и произведение последовательности N вещественных чисел.
Series5 – выводим целые части и сумму введенных N положительных чисел.
Series6 – находим дробные части и произведение введенных N положительных чисел.
Series7 – округляем последовательность введенных N вещественных чисел.

Series1. Даны десять вещественных чисел. Найти их сумму.

Последовательность действий очевидна:

1) Присваиваем сумме S значение 0 - это будет начальное значание.

2) Задаем генератор псевдослучайных чисел randomize, с помощью которого при каждом запуске будет генерироваться новая последовательность случайных чисел.

3) Вычисляем случайное вещественное число используя random (случайное число с диапазона [0, 1)). Таким образом, 20·random-10 – случайное число с [-10, 10).

4) Выводим вычисленное число на экран.

5) К сумме S прибавляем число a.

6) После выхлда из цикла выводим полученную сумму S на экран с точностью 3 знака после запятой.

Код Pascal
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
var
  i: byte;
  a, S: real;

begin
  S := 0; //начальное значение суммы
  randomize; //генератор псевдослучайных чисел
  for i := 1 to 10 do begin
    a := -10 + 20 * random; //случайное вещественное число [-10, 10)
    write(a:0:3, '':3); //выводим его, округляя до 3 знаков
    S := S + a //прибавляем к сумме найденное число
  end;
  writeln;
  writeln('S = ', S:0:3)
end.

Series2. Даны десять вещественных чисел. Найти их произведение.

Код Pascal
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
var
  i: byte;
  a, D: real;

begin
  D := 1; //начальное значение произведения
  randomize; //генератор псевдослучайных чисел
  i := 0;
  while i < 10 do begin
    inc(i);
    a := -5 + 10 * random; //случайное вещественное число [-5, 5)
    write(a:0:3, '':3); //выводим его, округляя до 3 знаков
    D := D * a //умножаем произведение на данное число
  end;
  writeln;
  writeln('произведение = ', D:0:3)
end.

Series3. Даны десять вещественных чисел. Найти их среднее арифметическое.

Код Pascal
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
var
  i: byte;
  a, S: real;

begin
  S := 0; //начальное значение суммы
  randomize; //генератор псевдослучайных чисел
  for i := 1 to 10 do begin
    a := -10 + 20 * random; //случайное вещественное число [-10, 10)
    write(a:0:3, '':3); //выводим его, округляя до 3 знаков
    S := S + a //прибавляем к сумме найденное число
  end;
  S := S / 10; //делим сумму на 10
  writeln;
  writeln('среднее арифметическое = ', S:0:3)
end.

Series4. Дано целое число N и набор из N вещественных чисел. Вывести сумму и произведение чисел из данного набора.

Код Pascal
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
var
  i, N: integer;
  a, S, D: real;

begin
  S := 0; //начальное значение суммы
  D := 1; //начальное значение произведения
  write('N = ');
  readln(N); //вводим количество чисел N
  randomize; //генератор псевдослучайных чисел
  i := 0;
  repeat
    inc(i);
    a := -5 + 10 * random; //случайное вещественное число [-5, 5)
    write(a:0:3, '':3); //выводим его, округляя до 3 знаков
    S := S + a; //прибавляем к сумме найденное число
    D := D * a //умножаем произведение на данное число
  until i = N;
  writeln;
  writeln('сумма = ', S:0:3);
  writeln('произведение = ', D:0:3)
end.

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

Это ещё одна задача на последовательности в Паскаль. Для определения целой части вещественного числа используем функцию int(a), которая результат (число без дробной части) записывает как вещественное число.

Код Pascal
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
var
  i, N: integer;
  a, S: real;
  
begin
  write('N = ');
  readln(N);
  S := 0; //начальное значение суммы
  writeln('Введите ', N, ' вещественных чисел:');
  i := 1;
  repeat
    read(a);
    S := S + int(a); //к сумме прибавляем целую часть
    write(int(a), ' '); //выводим целую часть
    inc(i)
  until i > N;
  writeln;
  writeln('сумма целых частей = ', S);
end.

*   *   *

А вот если вы пишете в PascalABC.Net, то предыдущий код задачи Series5 можно записать следующим образом:

Код PascalABC.Net
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
begin
  write('N = ');
  var N := readInteger; //вводим целое число и записываем в N
  var S : real := 0;
  writeln('Введите ', N, ' вещественных чисел:');
  for var i := 1 to N do begin
    var a := readReal;//вещественное число, введенное с клавиатуры
    S := S + int(a);
    write(int(a), ' ')
  end;
  writeln;
  writeln('сумма целых частей = ', S);
end.

Здесь readInteger - считывает введенное с клавиатуры число и записывает как целое, readReal - считывает введенное с клавиатуры вещественное число. К тому же, все переменные можно описывать в теле программы.

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

После введения числа вычисляем и выводим уже новую последовательность дробных частей от данного числа. Для определения дробной части вещественного числа используем функцию frac(a).

Код Pascal
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
var
  i, N: integer;
  a, D, frac_a: real;

begin
  write('N = ');
  readln(N);
  D := 1; //начальное значение произведения
  writeln('Введите ', N, ' вещественных чисел:');
  for i := 1 to N do begin
    read(a); //вводим вещественное число
    frac_a := frac(a); //находим дробную часть числа
    D := D * frac_a; //произведение умножаем на дробную часть числа
    write(frac_a, ' ') //выводим дробную часть числа
  end;
  writeln;
  writeln('произведение дробных частей = ', D);
end.

Series7. Дано целое число N и набор из N вещественных чисел. Вывести в том же порядке округленные значения всех чисел из данного набора (как целые числа), а также сумму всех округленных значений.

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

Код Pascal
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
var
  i, N, c: integer;
  a, S: real;

begin
  write('N = ');
  readln(N);
  S := 0; //начальное значение суммы
  writeln('Введите ', N, ' вещественных чисел:');
  i := 1;
  while i <= N do begin
    read(a);
    c := round(a); //округляем число до ближайшего целого
    S := S + c; //к сумме прибавляем округленное до целого
    write(c, ' '); //выводим округленную часть
    inc(i)
  end;
  writeln;
  writeln('сумма округленных чисел = ', S);
end.


Яндекс.Метрика