Цель урока: изучить использование массива, элементы которого являются константами, построение круговой диаграммы.
Задания по теме урока
Задание 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.