Федеральное агентство по образованию
Московский государственный открытый университет
Рязанский институт (филиал)
Кафедра информационных технологий
Информатика
отчет
по
лабораторной работе №4
Выполнил студент группы 285
Ерёмин С.Н.
Проверил доцент
Засорин С.В.
Рязань, 2009
Задание №1: Дан одномерный массив вещественных чисел. Найти в нем больший элемент и поставить его первым. Преобразованный массив вывести на экран
С
Начало
1
хема алгоритма:
a=massiv[i]
i=1, 1, 10
Ввод массива
да
Вывод пустой строки
Вывод massiv[i]
b=massiv[i]
i=1
нетКонец цикла
Конец
a=massiv[i]
да
a<b
a=b
нет
да
Конец цикла
Вывод а
i=1, 1, 10
1
Текст программы:
Program Lab4_1;
Var
i:integer;
massiv:array[1..10] of real;
a,b:real;
Begin
For i:=1 to 10 do
Begin
Writeln('Vvedite element ',i);
Read(massiv[i]);
b:=massiv[i];
if i=1 then a:=massiv[i];
if a<b then a:=b;
end;
Write(a:6:2,' ');
For i:=1 to 10 do
Begin
if a=massiv[i] then
write
else
write(' ',massiv[i]:6:2)
end;
end.
Результаты выполнения:
Vvedite element 1
1
Vvedite element 2
2
Vvedite element 3
32
Vvedite element 4
43
Vvedite element 5
12
Vvedite element 6
32
Vvedite element 7
43
Vvedite element 8
54
Vvedite element 9
3
Vvedite element 10
4
54.00 1.00 2.00 32.00 43.00 12.00 32.00 43.00 3.00 4.00
Vvedite element 1
4
Vvedite element 2
5
Vvedite element 3
12
Vvedite element 4
65
Vvedite element 5
44
Vvedite element 6
23
Vvedite element 7
4
Vvedite element 8
54
Vvedite element 9
5
Vvedite element 10
4
65.00 4.00 5.00 12.00 44.00 23.00 4.00 54.00 5.00 4.00
Задание №2: Дан одномерный массив целых чисел. Написать программу, которая определяет, сколько раз введенное с клавиатуры число встречается в массиве
С
Начало
хема алгоритма:
Вывод информационного текста
i=1, 1, n
Вывод mass[i]
Конец цикла
Ввод х
i=1, 1, n
x=mass[i]
нет
t=t+1
да
Конец цикла
Вывод t
Конец
Текст программы:
Program Lab4_2;
Const
n=10;
Var
mass:array[1..n] of integer;
i,x,t:integer;
Begin
t:=0;
Writeln('Vvedite 10 chisel');
For i:=1 to n do
Read(mass[i]);
Writeln('Vvidite chislo, kollichestvo povtoreniy kotorogo v msssive nado opedelit');
Read(x);
For i:=1 to n do
Begin
if x=mass[i] then
t:=t+1;
end;
writeln('kolichestvo povtoreniy chisla ',x,' ravno ',t);
End.
Результаты выполнения:
Vvedite 10 chisel
1
1
2
3
4
234
1
23
55
3
Vvidite chislo kollichestvo povtoreniy kotorogo v msssive nado opredelit
1
kolichestvo povtoreniy chisla 1 ravno 3
Vvedite 10 chisel
1
45
2
3
4
23
48
3
54
8
Vvidite chislo kollichestvo povtoreniy kotorogo v msssive nado opredelit
3
kolichestvo povtoreniy chisla 3 ravno 2
Задание №3: Дана матрица вещественных чисел А(N,M). Написать программу, которая определяет номер строки, в которой сумма элементов матрицы минимальна
С
1
g=0
хема алгоритма:Начало
i=1, 1, a
Вывод информационного текста
j=1, 1, b
g=g+(mass[i,j])
Конец цикла
g<k
j=1, 1, a
Ввод mass[i,j]
нет
k=g; q=i
даКонец цикла
Конец цикла Конец цикла
Ввод q
j=1, 1, a
Конец
k=k+mass[1,j]
Конец цикла
q=1
i=2, 1, b
1
Текст программы:
Program Lab4_3;
Const
a=5; b=5;
Var
mass:array[1..a,1..b] of real;
j,i,q:integer;
k,g:real;
Begin
For i:=1 to a do
Begin
Writeln('Vvedite ',a,' chisel ',i,' stroki');
For j:=1 to a do
Begin
read(mass[i,j]);
end;
end;
For j:=1 to a do
Begin
k:=k+mass[1,j]
end;
q:=1;
For i:=2 to b do
Begin
g:=0;
For j:=1 to b do
Begin
g:=g+(mass[i,j]);
end;
If g<k then
Begin
k:=g;
q:=i;
end;
end;
Writeln('min summa elementov v ',q,' stroke');
End.