Программирование на Pascal / Delphi / Лабораторные работы1 / Лаба№4
.docУфимский государственный авиационный технический университет
Кафедра Информатики
Лабораторная работа №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.