Задачи по программированию на языке Паскаль
Компьютерные Технологии в Обучении
  256ПрограммированиеPascalСумма случайных чисел

Информационный блок

Рекламный блок

Сумма случайных чисел. Циклы for, while

Три задачи на нахождение суммы случайно сгенерированных элементов. Для каждой задачи приведено два варианта - классический синтаксис (Turbo/Borland Pascal) и PascalABC.NET

Цикл for. Найти сумму сумму элементов массива

Задание:
Заполнить массив из 10 целых чисел случайными значениями в диапазоне от 0 до 9.
Найти сумму элементов массива.
Program RandomArray;
Var
i, Summa : Integer;
A : array [1..10] of Integer;
begin
write('Сгенерировано 10 целых чисел ');
Summa := 0;
for i := 1 to 10 do begin
A[i] := Random(10); { Random генерирует случайные числа в диапазоне от 0 до числа, указанного в качестве параметра, уменьшенного на единицу. }
write(A[i]: 4); { Вывести значение текущего элемента массива без перехода на новую строку. Значения выводятся в форматированном варианте. }
Summa := Summa + A[i];
end;
writeln; { Перейти на новую строку }
writeln('Сумма = ', Summa);
end.

Цикл for. Найти сумму элементов массива. Синтаксис PascalABC.NET

Задание:
Заполнить массив из 10 целых чисел случайными значениями в диапазоне от 0 до 9.
Вычислить сумму элементов массива.
Вариант для PascalABC.NET - "здоровье кода" составляет 124%.
begin
Var A : array [1..10] of Integer; // Используется статический массив, вместо рекомендуемого динамического.

Print('Сгенерировано 10 целых чисел ');
var Summa : Integer := 0;
for var i := 1 to 10 do begin
A[i] := Random(10); // Random генерирует случайные числа в диапазоне от 0 до числа, указанного в качестве параметра, уменьшенного на единицу.
write(A[i]: 4); // Вывести значение текущего элемента массива без перехода на новую строку. Значения выводятся в форматированном варианте.
Summa += A[i];
end;
Println; // Перейти на новую строку.
Println('Сумма = ', Summa);
end.

Цикл while. Вычислить сумму случайных чисел

Задание:
Ввести количество элементов.
Заполнить массив случайными значениями в диапазоне от 30 до 60.
Найти сумму элементов массива.
Program RandomArray;
Var
i, n, Summa : Integer;
A : array [1..20] of Integer;
begin
write('Введите количество чисел (не больше 20) ');
readln(n);
write('Сгенерированы числа: ');
Summa := 0;
i := 1;
while i <= n do begin
A[i] := Random(31)+30; { Random генерирует случайные числа в диапазоне от 0 до числа, указанного в качестве параметра, уменьшенного на единицу. }
write(A[i]: 4); { Вывести значение текущего элемента массива без перехода на новую строку. Значения выводятся в форматированном варианте. }
Summa := Summa + A[i];
i := i + 1;
end;
writeln; { Перейти на новую строку }
writeln('Сумма = ', Summa);
end.

Цикл while. Найти сумму случайных чисел. Синтаксис PascalABC.NET

Задание:
Ввести количество элементов.
Заполнить массив случайными значениями в диапазоне от 30 до 60.
Вычислить сумму элементов массива.
Вариант для PascalABC.NET - "здоровье кода" составляет 177%.
begin
var n := ReadInteger('Введите количество чисел'); // Для ввода используется рекомендованная функция ReadInteger.
var A : array of Integer := new integer[n]; // Используется динамический массив.

Println('Сгенерированы числа: ');
var Summa : Integer := 0;
var i : Integer := 0;
while i <= n-1 do begin
A[i] := Random(31)+30; { Random генерирует случайные числа в диапазоне от 0 до числа, указанного в качестве параметра, уменьшенного на единицу. }

{
Вывести значение текущего элемента массива.
По умолчанию между числами будет выводиться один пробел.
Чтобы сделать дополнительный отступ, добавлена строка из нескольких пробелов.
}
Print(A[i], ' ');

Summa += A[i]; // Используется расширенное присваивание.
i += 1;
end;
Println; // Перейти на новую строку.
Println('Сумма = ', Summa);
end.

Цикл for. Найти сумму чисел

Задание:
Ввести количество элементов.
Сгенерировать случайные числа в диапазоне от -50 до 50.
Вычислить сумму положительных чисел.
Program RandomArray;
Var
i, n, Number, Summa : Integer;
begin
write('Введите количество чисел ');
readln(n);
write('Сгенерированы числа: ');
Summa := 0;
for i := 1 to n do begin
Number := Random(101)-50; { Random генерирует случайные числа в диапазоне от 0 до числа, указанного в качестве параметра, уменьшенного на единицу. }
write(Number: 4); { Вывести значение сгенерированного числа, без перехода на новую строку. Значения выводятся в форматированном варианте. }
if Number > 0 then Summa := Summa + Number;
end;
writeln; { Перейти на новую строку }
writeln('Сумма = ', Summa);
end.

Цикл for. Вычислить сумму чисел. Синтаксис PascalABC.NET

Задание:
Ввести количество элементов.
Сгенерировать случайные числа в диапазоне от -50 до 50.
Найти сумму положительных чисел.
Вариант для PascalABC.NET - "здоровье кода" составляет 147%.
begin
var n := ReadInteger('Введите количество чисел'); // Для ввода используется рекомендованная функция ReadInteger.
Println('Сгенерированы числа: ');
var Summa : Integer := 0; // При описании используется инициализация переменной.
for var i := 1 to n do begin
var Number := Random(101)-50; // Random генерирует случайные числа в диапазоне от 0 до числа, указанного в качестве параметра, уменьшенного на единицу.
Println(Number); // Вывести значение сгенерированного числа.
if Number > 0 then Summa += Number; // Используется расширенное присваивание.
end;
Println('Сумма = ', Summa);
end.

Рекламный блок