Урок 5. Выполнение арифметических действий над элементами массива

Цель урока: изучить использование массива, элементы которого являются константами, построение круговой диаграммы.


Ментальная карта “Действия над элементами массива”


Задания по теме урока

Задание 1. Составьте программу заполнения массива а[1..10] целыми числами. Найти и вывести на экран сумму четных элементов массива, которые превышают заданное число N. Число N также вводится с клавиатуры.

Задание 2. Сформировать и вывести на экран массив, элементы которого заданы генератором случайных чисел на интервале [-6, 47] (размер произвольный). Заменить четные элементы массива нулями. Вывести на экран полученный массив.

Задание 3. Массив A[1..10]  вводится с клавиатуры. Сформировать новый массив B, состоящий из положительных элементов массива A[1..10]. Массив B вывести на экран.

Задание 4. Сформировать и вывести на экран массив, элементы которого заданы генератором случайных чисел на интервале [40, 49] (размер произвольный). Найти среднее арифметическое его элементов. Вывести на экран только те элементы массива, которые больше найденного среднего арифметического.

Задание 5. Сформировать и вывести на экран массив, элементы которого заданы генератором случайных чисел на интервале [-50, 80] (размер произвольный). Найти количество положительных элементов.

Дополнительное задание

Домашнее задание

§ 4.3-4.4 учебного пособия, ответить на вопросы после параграфа.


Форма отправки файлов

Форма видна только зарегистрированным пользователям.


Примеры решения задач

Пример 1. Сформировать и вывести на экран массив, элементы которого заданы генератором случайных чисел на интервале [-56, 47] (размер произвольный). Найти произведение элементов с четными номерами, которые превосходят некоторое число t.

Program proisvedchetbolt;
Var a: array[1..100] of integer;
      i, n, p, t: integer;
Begin
  Write ('Сколько элементов? '); 
  Readln (n);
  P:=1;  
  For i:=1 to n do
       begin      
            a[i]:= Random(104)-56;  writeln (a[i],' ');
            if (i mod 2 = 0) and (a[i]>t) then P:=P*a[i];
       end;
  Writeln('Произведение элементов с четными номерами, превосходящие число t:', P);
End.

Пример 2. Найдите среднее арифметическое элементов массива, состоящего из 10 чисел, которые превышают по величине число С. Элементы вводятся с клавиатуры.

Program sredarifmet;
Var a: array[1..10] of  real;
      i, k: integer;
      C, S, sred: real;
Begin
  For i:=1 to 10 do
    begin
       write('a[',i,']= ');    
       readln (a[i]);
    end;
  write('введите С: '); readln (C );
  For i:=1 to 10 do
    begin
       If a[i]>C then
           begin
            S:=S+a[i];
            K:=K+1;
           end;
     end;
   sred:=S/k;
   Writeln('среднее арифметическое чисел, превосходящих ',C,'  равно  ',sred);
End.

Пример 3. Дан массив, содержащий положительные и отрицательные числа. Заменить все элементы массива на противоположные по знаку.

Чтобы поменять элемент на противоположный, достаточно умножить его на -1.

const N = 10;
var
    arr: array[1..N] of integer;
    i: byte;
begin
    randomize;
    for i:=1 to N do begin
        arr[i] := random(100) - 50;
        write(arr[i]:4);
    end;
    writeln;
    for i:=1 to N do 
        arr[i] := -1 * arr[i];
    for i:=1 to N do 
        write(arr[i]:4);
    writeln;
end.

Пример 4. Напишите программу для нахождения количества отрицательных элементов целочисленного массива из 10 элементов, принадлежащих диапазону (-20;30).

var
  mas: array [1..10] of integer;
  k,i: integer;
 
begin
  for i := 1 to 10 do 
  begin
    mas[i]:=random(51)-20;
    write(mas[i], ' ');
    if mas[i]<0 then inc(k);
  end;
  writeln;
  writeln('Кол-во: ',k);
end.

Пример 5. Записать четные элементы массива в новый массив.

var 
  a,b: array [1..100] of integer;
  aN: integer; // Количество элементов в массиве a  
  bN: integer; // Количество элементов в массиве b  
begin
  aN := 20;
  for var i:=1 to aN do
    a[i] := Random(100);
  writeln('Элементы массива: ');
  for var i:=1 to aN do
    write(a[i],' ');
  writeln;  
 
  bN := 0;
  for var i:=1 to aN do
    if a[i] mod 2 = 0 then 
    begin
      bN += 1;
      b[bN] := a[i];
    end;
 
  writeln('Четные элементы массива: ');
  for var i:=1 to bN do
    write(b[i],' ');
end.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *