Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгор_ТХТК_пособие.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.6 Mб
Скачать

5.2.1. Работа с одномерными массивами

Пример 5.5 Составить программу сложения двух векторов.

Вектор в программе может быть представлен в виде одномерного массива. Пусть заданы два одномерных массива а и b, состоящие из n элементов. В результате сложения двух векторов получается массив такого же размера, каждый элемент которого равен сi = аi + bi. В программе должны быть организованы циклы для ввода одномерного массива а, для ввода одномерного массива b, для расчета каждого элемента результирующего массива с и для вывода результата расчета.

program slogen; {Сложение 2-х одномерных массивов}

uses crt;

const n = 10;

var

I,sum : integer;

a,b,c : array [ 1.. n ] of integer;

begin

clrscr;

gotoxy(3,1);

write('Введите массив а');

for i := 1 to n do {Ввод массива аi}

begin

gotoxy(1+5*i,2);

readln(a[i])

end;

gotoxy(3,3);

write('Введите массив b');

for i := 1 to n do {Ввод массива bi}

begin

gotoxy(1+5*i,4);

readln(b [i])

end;

for i := 1 to n do c[i] := a[i] + b[i]; {Расчет элементов массива сi}

gotoxy(3,9);

writeln('Суммарный вектор');

for i := 1 to n do {Вывод массива сi}

begin

gotoxy(1+5*i,10);

write(c[i])

end

end.

Одномерные массивы а, b, с описаны в разделе описания переменных. Для обращения к каждому элементу массива использовался оператор цикла с параметром i , где i - пробегает все значения от 1 до n, определяя тем самым каждый элемент массива. Процедуры clrscr и gotoxy (i,k) описаны , модуле crt, поэтому за заголовком программы следует uses - фраза. Clrscr -процедура гашения экрана. Процедура gotoxy (i,k) перемещает курсор в i-тую позицию k-той строки экрана. Параметры процедуры, i и k- величины типа integer. В этой программе процедура gotoxy (i,k) используется для наглядного ввода и вывода массивов. Элементы массива а и b: а[1], а[2], а[3], а[4], ... , а[-0] и b[1], b[2], b[3], b[4], ... , b[10], вводятся в позициях 6, 11, 16, 21, ... , 51 строк 2 и 3 соответственно. Результат - массив с - выводится в позициях 6, 11, 16, 21, ... , 51 строки 10.

Пример 5.6 Составить программу подсчета суммы только тех элементов массива, целая часть которых - нечетная. Ввод и обработка элементов массива производится в одном цикле. Функция trunc (a[ i ] ) - выделяют целую часть каждого элемента. Функция odd - вырабатывает значение TRUE - если целая часть элемента массива - нечетное число, и этот элемент попадает в сумму. Оператор writeln (odd ( trunc(x)) - выдает на печать: TRUE - если x - нечетное; FALSE - если x - четное.

Program sum;

coust n=100;

Var a: array [1..N] of real;

s: real;

n, k, i: integer;

begin

s: =0; writeln ('введите n 100'); readln (nk);

for i:=1 to nk do

begin

writeln ('введ.', i, '- й элемент массива');

readln (a[ i ] );

if odd (trunc (a[ i ] ) then s: = s + a[ i ];

end;

writeln ('Сумма нечетных элементов = ', s);

end.

Пример 5.7 Определить, содержит ли заданный массив число, равное s.

Необходимо разработать программу, которая обеспечит ввод с клавиатуры десяти чисел и сохранит их в некотором одномерном массиве. Затем программа должна запросить у пользователя ввод еще одного числа. После ввода данного числа программа осуществит проверку элементов массива на наличие в них числа, равного введенному , и, если такое есть, выдаст соответствующее сообщение на экран. То есть пользователь получит информацию о том, содержится ли последнее введенное число в массиве.

program poisk; {Последовательный поискв массиве}

const n = 10;