Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TP_L4.DOC
Скачиваний:
3
Добавлен:
22.11.2018
Размер:
195.58 Кб
Скачать

Лабораторная работа 5 работа с векторами

ЦЕЛЬ РАБОТЫ:

1. Усвоить правила работы с переменными типа

массив языка программирования Паскаль.

2. Научиться составлять алгоритмы и программы

для обработки одномерных массивов.

Краткие сведения из теории

Под массивом понимается упорядоченная совокупность конечного числа данных одного типа, об"единенных под общим именем. Имена массивов образуются так же, как и имена простых переменных. Одномерный массив называется вектором. Для описания массивов используется служебное слово array. Массив в Турбо-Паскале можно описывать двумя способами:

а) в разделе описания переменных VAR:

var

<имя переменной>: array [тип индекса] of <тип компоненты>;

б) определить сначала тип, а затем описать массив этим типом

type

<имя типа>: array [тип индекса] of <тип компоненты>;

var

<имя переменной>: <имя типа>;

где <тип индекса> - порядковый тип;

<тип компоненты> - любой тип.

ПРИМЕР 1: В векторе найти номера и значения первого мини-

мального и последнего максимального элементов.

А Л Г О Р И Т М

алг Первый минимум и последний максимум

арг n:цел; A:вещ таб [1..n]

рез n min, n max: цел;

a min, a max: вещ

раб i: цел

нач

ввод n

нц для i от 1 до n

ввод A[i]

кц

amin:=A[1]; nmin:=1;

amax:=A[1]; nmax:=1;

нц для i от 2 до n

если A[i] < amin

то amin:=A[i]; nmin:=i

все

если A[i] >= a max

то amax:=A[i]: nmax:=i

все

кц

вывод nmin, amin, nmax, amax

кон

П Р О Г Р А М М А

program min_and_max;

const n1=100;

var a: array [1 .. n1] of real;

n,i,nmin, nmax: integer;

amin, amax: real;

begin

writeln ('n=');

readln (n);

writeln ('Вводите элементы вектора');

for i:=1 to n do

readln (a[i]);

amin:=a[1]; nmin:=1;

amax:=a[1]; nmax:=1;

for i:=1 to n do

begin

if a[i] < amin then

begin

amin:=a[i]; nmin:=i

end;

if a[i] >= amax then

begin

amax:=a[i]; nmax:=i

end

end;

writeln ('min=', amin:8:3,',nmin=', nmin:3);

writeln ('max=', amax:8:3,',nmax=', nmax:3);

end.

ПРИМЕР 2: Создать массив из N случайных целых чисел, равно-

мерно распределенных в диапазоне от 0 до 100.

Вычислить среднее арифметическое этих чисел.

А Л Г О Р И Т М

алг Среднее арифметическое

арг n:цел;

рез m: цел таб [1..n];

s: вещ

раб i: цел

нач

ввод n

нц для i от 1 до n

m[i]:=random(101)

вывод m[i]

кц

s:=0;

нц для i от 1 до n

s:=s+m[i]

кц

s:=s/n;

вывод s

кон

П Р О Г Р А М М А

program SRED;

const

nmax=1000;

type

x=array [1 .. nmax] of integer;

var

m:x;

i,n:integer;

s:real;

begin

writeln ('n='); readln(n);

{создание массива}

for i:=1 to n do

begin

m[i]:=random (101);

writeln (m[i])

end;

s:=0;

for i:=1 to n do

s:=s+m[i];

s:=s/n;

writeln ('s='s)

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]