- •Билет № 1
- •Хранение информации.
- •Передача информации.
- •Обработка информации.
- •Билет № 2
- •Билет № 3
- •Билет № 4
- •Билет № 5
- •Билет № 6
- •Билет № 7
- •Билет № 8
- •Билет № 9
- •Билет № 10
- •Билет № 11
- •Билет № 12
- •С помощью генератора случайных чисел:
- •По формуле:
- •3) С клавиатуры:
- •Билет № 13
- •Билет № 14
- •Билет № 15
- •Билет № 16.
- •Билет №17.
- •Билет № 18.
- •Билет № 19
- •Билет № 20
- •Билет № 21
- •Билет № 22
- •Билет № 23
- •Билет № 24
- •Билет № 25
Билет № 12
Массивы. Одномерные массивы в Pascale: способы заполнения. Примеры.
В практической деятельности человека часто используются таблицы и списки.
Например, список среднесуточной температуры месяца или список и оценки учеников в журнале. В языках программирования подобные типы данных описываются с помощью массивов.
Массив - набор конечного числа элементов одинакового типа, объединенных общим именем. Каждое значение в массиве называется элементом. Номер элемента в списке называется индексом.
Массивы бывают одномерными или двумерными. Мы изучали одномерные массивы.
Для того, чтобы использовать массив в программе, его нужно описать в разделе описаний:
Var имя_массива : array [размер ] of тип_элементов;
Например,
Var N: array [1..30] of string;
Temp: array [1..100] of real;
В этом примере описаны два массива: массив N из 30 элементов строкового типа и массив Temp из 100 действительных чисел.
Обращение к конкретному элементу массива осуществляется путем указания имени массива и индекса этого элемента в квадратных скобках. В качестве индексов массивов используют переменные целого типа. Это дает возможность обрабатывать массивы в циклах, в которых индекс массива является одновременно и счетчиком цикла.
Способы ввода данных в массив.
С помощью генератора случайных чисел:
program primer_1;
var i: integer;
r : array [1..10] of integer;
begin
for i:=1 to 10 do begin
r[i]:=random(100);
writeln(r[i]);
end;
end.
В этом примере массив из 10 элементов заполнен случайными числами из интервала [0 ; 99] и выведен на экран компьютера.
По формуле:
program primer_2;
var i:integer;
a : array [1..10] of real;
begin
for i:=1 to 10 do
begin
a[i]:=sin(i)*sqr(i);
writeln(a[i]);
end;
end.
В этом примере массив из 10 чисел заполнен значениями, вычисляемыми по формуле a[i]:=sin i *i2 и все элементы массива выведены на экран компьютера.
3) С клавиатуры:
program primer_3;
var i:integer;
a : array [1..10] of real;
begin
for i:=1 to 10 do
begin
write (‘введи’, i , ‘элемент массива’);
readln (a[i]);
end;
end.
В этом примере исходные данные вводятся в массив из 10 элементов во время работы программы.
Билет № 13
Массивы. Одномерные массивы в Pascale: поиск суммы и количества элементов, удовлетворяющих данному условию. Примеры.
Массив - набор конечного числа элементов одинакового типа, объединенных общим именем. Каждое значение в массиве называется элементом. Номер элемента в списке называется индексом. Если индекс один, то массив одномерный. Размер – количество элементов в массиве.
При работе с массивами придерживаются следующей схемы:
Объявление массива
Задание исходных элементов массива.
Обработка элементов массива.
Вывод результатов.
Поставленная в условии задача решается на этапе обработки элементов массива. Все элементы массива перебираются в цикле, где происходит их сравнение, или изменение, или поиск нужного элемента, или вычисление суммы или количества элементов или другие необходимые операции.
Рассмотрим задачи поиска суммы и количества элементов, удовлетворяющих данному условию.
Пусть a – данный массив, n – его размер, k – счётчик индексов.
Нахождение количества элементов по условию:
Общий вид: z:=0;
for k:=1 to n do
if <условие> then z:=z+1;
Вычисление суммы всех элементов массива:
Общий вид: s:=0;
for k:=1 to n do
s:=s+a[k];
Вычисление суммы элементов массива, удовлетворяющих условию:
Общий вид: s:=0;
for k:=1 to n do
if <условие> then s:=s+a[k];
Пример: найти сумму и количество чётных элементов массива.
program primer_1;
var i, s, z: integer;
a : array [1..100] of integer; {объявление массива a из 100 чисел};
begin
{заполнение массива случайными числами от 0 до 499 и вывод его на экран};
for i:=1 to 100 do begin
a[i]:=random(500); write (a[i], ‘ ‘);
end;
writeln;
{нахождение s – суммы чётных элементов и z – количества чётных элементов};
z:=0; s:=0;
for i:=1 to 10 do
if a[i] mod 2 =0 then begin z:=z+1; s:=s+a[i]; end;
{вывод результатов};
write (‘в массиве’, z, ‘чётных чисел. Их сумма равна’,s)
end.
