На этой странице решаются задачи Array20 - Array23 из задачника Абрамяна.
Array20. Дан массив размера N и целые числа K и L (1 ≤ K ≤ L ≤ N). Найти сумму элементов массива с номерами от K до L включительно.
var
A: array[1..255] of integer;
N, K, L, i: byte;
S: word;
begin
writeln(' Массив какого размера вы хотите задать? ');
write(' N = ');
readln(N);
writeln(' Введите массив размера ', N, ':');
write(' ');
for i := 1 to N do
read(a[i]); //Вводим элементы массива
write(' Введите(через пробел) два номера K <= L,');
writeln(' которые не больше ', N, ':');
write(' ');
read(K, L); //Вводим двам номера(через пробел).
{Результат: }
write(' Сумма элементов массива с номерами от ');
writeln(K, ' до ', L, ' равна:');
{Находим сумму всех чисел массива
от K-го до L-го номера включительно: }
for i := K to L do
S := S + a[i];
write(' S = ', S) //Выводим сумму.
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**type** word;
: Представляет 16-битовое целое число без знака.Диапазон значений: 0 .. 65 535 Array21. Дан массив размера N и целые числа K и L (1 ≤ K ≤ L ≤ N). Найти среднее арифметическое элементов массива с номерами от K до L включительно.
var
A: array[1..255] of integer;
N, K, L, i: byte;
Arifm: real;
begin
writeln(' Массив какого размера вы хотите получить? ');
write(' N = ');
readln(N);
writeln(' Введите массив размера ', N, ':');
write(' ');
for i := 1 to N do
read(a[i]); //Вводим элементы массива
write(' Введите(через пробел) два номера K <= L,');
writeln(' которые не больше ', N, ':');
write(' ');
read(K, L); //Вводим двам номера(через пробел).
{Результат: }
write(' Среднее арифметическое суммы элементов массива');
writeln(' с номерами от ', K, ' до ', L, ' равно:');
{Находим сумму всех чисел массива от
K-го до L-го номера включительно:}
for i := K to L do
Arifm := Arifm + a[i];
{L - K + 1 - количество чисел в диапазоне [K, L].
Тогда делим сумму элементов массива на
их количество(среднее арифметическое): }
Arifm := Arifm / (L - K + 1);
write(' Arifm = ', Arifm) //Выводим результат.
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 Array22. Дан массив размера N и целые числа K и L (1 < K ≤ L ≤ N). Найти сумму всех элементов массива, кроме элементов с номерами от K до L включительно.
var
A: array[1..255] of integer;
N, K, L, i: byte;
S: word;
begin
writeln(' Массив какого размера вы хотите задать? ');
write(' N = ');
readln(N);
writeln(' Введите ', N, ' элементов массива(через пробел):');
write(' ');
for i := 1 to N do
read(a[i]); //Вводим элементы массива
write(' Введите(через пробел) два номера K <= L,');
writeln(' которые не меньше 2 и не больше ', N, ':');
write(' ');
read(K, L); //Вводим двам номера(через пробел).
{Результат: }
write(' Сумма всех элементов массива,');
write(' кроме элементов с номерами от ');
writeln(K, ' до ', L, ' включительно, равна:');
{Находим сумму всех чисел массива от
1-го до (K-1)-го номера включительно:}
for i := 1 to K - 1 do
S := S + a[i];
{Находим сумму всех чисел массива от
(L+1)-го до N-го номера включительно:}
for i := L + 1 to N do
S := S + a[i];
write(' S = ', S) //Выводим сумму.
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**type** word;
: Представляет 16-битовое целое число без знака.Диапазон значений: 0 .. 65 535 Array23. Дан массив размера N и целые числа K и L (1 < K ≤ L ≤ N). Найти среднее арифметическое всех элементов массива, кроме элементов с номерами от K до L включительно.
var
A: array[1..255] of integer;
N, K, L, i: byte;
Arifm: real;
begin
writeln(' Массив какого размера вы хотите задать? ');
write(' N = ');
readln(N);
writeln(' Введите ', N, ' элементов массива(через пробел):');
write(' ');
for i := 1 to N do
read(a[i]); //Вводим элементы массива
write(' Введите(через пробел) два номера K <= L,');
writeln(' которые не меньше 2 и не больше ', N, ':');
write(' ');
read(K, L); //Вводим двам номера(через пробел).
{Результат: }
write(' Среднее арифметическое суммы всех элементов');
write(' массива, кроме элементов с номерами от ');
writeln(K, ' до ', L, ' включительно, равна:');
{Находим сумму всех чисел массива от 1-го до
(K-1)-го номера включительно:}
for i := 1 to K - 1 do
Arifm := Arifm + a[i];
{Находим сумму всех чисел массива от
(L+1)-го до N-го номера включительно:}
for i := L + 1 to N do
Arifm := Arifm + a[i];
{N + K - L - 1 - количество чисел в
диапазонах [1, K - 1]U[L + 1, N].}
{Делим сумму элементов массива на их
количество(среднее арифметическое): }
Arifm := Arifm / (N + K - L - 1);
write(' Arifm = ', Arifm) //Выводим результат.
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308