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

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

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

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

Turbo Pascal 7.0

“Массивы”

Студент ИНЕК

Группа К-122

Кизка Н.Д.

Проверила:

Филосова Е.И.

Уфа

2006г.

Вариант 3

Задача №4.1 - 4.4

Задан массив из 6 целых чисел. Найдите сумму его элементов. Найдите кол-во неотрицательных элементов. Найдите наименьший элемент. Поменять местами первый и последний элемент.

program joker;

type summa=array[1..6] of integer;

var

i,c:integer;

a:summa;

s,k,min:real;

begin

1)s:=0;

for i:=1 to 6 do

begin

writeln('VVedite element massiva');

readln(a[i]);

s:=s+a[i]

end;

writeln('summa s=',s);

2)k:=0;

for i:=1 to 6 do

if a[i]>=0 then k:=k+1;

writeln('kolichestvo k=',k);

3)min:=a[1];

for i:=2 to 6 do if a[i]<min then min:=a[i];

writeln('min=',min);

4)c:=a[1];

a[1]:=a[6];

a[6]:=c;

for i:=1 to 6 do write (a[i]:5);

readln;

end.

Ответы:

summa s= 2.1000000000E+01

kolichestvo k= 6.0000000000E+00

min= 1.0000000000E+00

6 2 3 4 5 1

Задача№А

Курс доллара в течение года менялся в диапазоне от 28 до 30 рублей. Найти наибольшее значение курса доллара. В качестве результата вывести номер месяца.

program ershik;

type mes=array [1..12] of real;

var

i:integer;

curs:mes;

max:real;

begin

for i:=1 to 12 do

begin

writeln('vvedite mesach');

readln(curs[i]);

end;

max:=curs[1];

for i:=2 to 12 do

if max<curs[i] then max:=curs[i];

writeln('naibolshii kurs dollara=',max:10:2);

readln;

end.

Ответ:

vvedite mesach

6

vvedite mesach

7

vvedite mesach

5

vvedite mesach

7

vvedite mesach

4

naibolshii kurs dollara= 7

Задача№4.6-4.8

Задана целочисленная матрица из 3 строк и 4 столбцов. Найти сумму всех элементов данной матрицы. Найдите сумму элементов первой строки данной матрицы. Организовать вывод на экран исходной матрицы.

Program matr;

type suma=array[1..3,1..4] of real;

var

i,j:integer;

a:suma;

s,s1:real;

begin

1)s:=0;

for i:=1 to 3 do

for j:=1 to 4 do

begin

writeln('vvedite element massiva');

readln(a[i,j]);

s:=s+a[i,j]

end;

writeln('suma s=',s);

2)s1:=0;

for j:=1 to 4 do s1:=s1+a[1,j];

writeln('suma pervoi stroki s1=',s1);

3)for i:=1 to 3 do

begin

for j:=1 to 4 do write (a[i,j]:5);

writeln

end;

readln;

end.

Ответ:

suma s= 1.3400000000E+02

suma pervoi stroki s1= 1.0000000000E+01

1.0E+00 2.0E+00 3.0E+00 4.0E+00

5.0E+00 6.0E+00 7.0E+00 8.0E+00

9.0E+01 1.0E+00 3.0E+00 4.0E+00

Задача№Б

Известен план выпуска компьютеров и кол-во выпущенных компьютеров тремя фирмами за три месяца. Определить в каком месяце не был выполнен план третьей фирмой.

Program comp;

type firm=array[1..3,1..3] of real;

var

i,j,vip,t:integer;

mes:firm;

plan,k:real;

begin

for i:=1 to 3 do

for j:=1 to 3 do

begin

k:=0;

writeln('vvedite firmu');

readln(mes[i,j]);

end;

writeln('vvedite plan');

readln(plan);

writeln('vvedite vipusk firmi');

readln(vip);

writeln('vvedite mesac');

readln(t);

for i:=1 to 3 do

if vip<plan then k:=k+t;

writeln('no plan mesac=',t);

if vip>=plan then write('plan vipolnen=',mes[i,j]);

writeln;

readln;

end.

Задача№4.10

Задана целочисленная матрица А размерностью 5x7. Переставьте местами первую и последнюю строку данной матрицы.

Program zion;

var k:real;

a,i:integer;

begin

for i:=1 to 10 do

begin

writeln('vvedite chislo');

readln(a);

if (a mod 4=0) and (a mod 6<>0) then

end;

begin

writeln('a=',a:3);

k:=k+1;

writeln('k=',k:3);

readln;

end;

end.

Соседние файлы в папке Лабораторные работы1