Root /ArchiveAbout
()

Array 20 - 23

Array 20 - 23

На этой странице решаются задачи 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