Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа 4

.doc
Скачиваний:
26
Добавлен:
02.05.2014
Размер:
217.09 Кб
Скачать

Уфимский государственный авиационный технический университет

Кафедра информатики

Лабораторная работа №4

Массивы

Уфа – 2004

Задача:

Одномерные массивы:

Известна среднемесячная зарплата 10 сотрудников отдела. Расположить

данные в порядке убывания. (Программа №1)

Двумерные массивы:

Известно количество выпущенной продукции тремя заводами за первый квартал

(помесячно). Найти среднемесячное количество выпущенной продукции для каждого

завода. (Программа №2)

Блок схем алгоритма программы №1:

Блок схем алгоритма программы №2:

Таблица используемых значений программы №1

Имя

Тип

Назначение переменной

Описание

a

array[1..10]

внутренняя

Массив

g

real

выходная

Наименьшее значение a[i]

I

integer

внутренняя

Номер сотрудника

k

integer

внутренняя

Номер сотрудника


Таблица используемых значений в программе №2

Имя

Тип

Назначение переменной

Описание

a

array[1..3,1..3]

внутренняя

Массив

s

array[1..3]

внутренняя

Массив

i

integer

внутренняя

Кол-во выпущенной продукции по месяцам

j

integer

внутренняя

Номер завода


Текст программы №1:

program zarp;

Var

a:array[1..10] of real;

i,k:integer;

g:real;

begin

Writeln('‚Введите среднемесячную зарплату сотрудников: (через Enter):');

for i:=1 to 10 do begin

readln(a[i]);

end;

For k:=10 downto 2 do

begin

for i:=1 to k-1 do

begin

if a[i]<a[i+1] then begin g:=a[i]; a[i]:=a[i+1]; a[i+1]:=g end;

end;

end;

writeln('Зарплата в порядке убывания:');

for i:=1 to 10 do begin

Writeln(a[i]:6:2);

end;

readln;

end.

Результаты работы программы №1:

Введите среднемесячную зарплату сотрудников

1000

2000

3000

4000

7000

5000

9000

3000

4000

2500

Зарплата в порядке убывания

9000

7000

5000

4000

4000

3000

3000

2500

2000

1000

Текст программы №2:

Program Zavod; var a:array[1..3,1..3] of real; s:array[1..3] of real; i,j:integer; begin

writeln('Введите кол-во выпущенной продукции по месяцам, по 3-м заводам через пробел');

Writeln(' Янв. Февр. Март');

for j:=1 to 3 do begin

Write(j,' завод ');

for i:=1 to 3 do

read(a[i,j]);

end;

for j:=1 to 3 do begin

s[j]:=0;

for i:=1 to 3 do s[j]:=s[j]+(a[i,j])/3

end;

Writeln('Среднемесячный выпуск продукции');

for i:=1 to 3 do begin writeln(i,' завод ',s[i]:6:2);

end;

readln;

readln;

end.

Результаты работы программы №2:

Введите кол-во выпущенной продукции по месяцам, по 3-м заводам через пробел:

Месяц

Январь

Февраль

Март

1 завод

100

300

250

2 завод

150

230

180

3 завод

140

260

210

Среднемесячный выпуск продукции

1 завод

216,67

2 завод

186,67

3 завод

203,33