Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Вологодский государственный технический университет»
Кафедра автоматики и вычислительной техники
ОТЧЕТ
лабораторная работа 5
по информатике
Выполнил: Симанов Алексей Николаевич
Проверил(а): Давыдова Е.Н.
Группа: ЭПО-11
Вариант: 5
Вологда 2011
Содержание
Задача 1...........................................................................................................................................................2
Задача 2……………………………………………………………………………………………………………………………………………………..5
Задача 3……………………………………………………………………………………………………………………………………………………..7
Задача 4……………………………………………………………………………………………………………………………………………………..9
Задача 5…………………………………………………………………………………………………………………………………………………….11
Задача 6…………………………………………………………………………………………………………………………………………………….13
Задача 1
Дан одномерный целочисленный массив. Составьте программу определения значения наибольшего элемента этого массива.
Работа программы
Задается одномерный массив(а) после чего программа выводит нам его максимальный элимент(max).
Назначение переменных
Назначение переменных, используемых в задаче, приведено в таблице 1
Таблица 1 – Назначение переменных
Переменная |
Тип |
Назначение |
а |
Array of Integer |
Одномерный массив |
I,N |
Integer |
I,N=const |
Max |
Integer |
Максимальный элемент массива |
Блок – схема алгоритма программы
Рис. 1 Блок схема алгоритма программы
Текст программы
program massiv;
uses crt;
var a:array[1..100] of integer;
i,n,max:integer;
begin
n:=10;
randomize;
for i:=1 to n do
begin
a[i]:=random(100);
write(a[i],' ');
end;
max:=a[1];
for i:=1 to n do
if a[i]>max then
max:=a[i];
writeln;
writeln(' Максимум равен ',max);
readln;
end.
Тестирование
Задается исходный массив(a) путем заполнения его рандомом, после чего программа выводит его максимальный элемент(max).
1:
Массив 29 86 66 7 33 50 22 71 73 80
Максимум равен 86
Задача 2
Удалить все повторяющиеся элементы, оставив только их первые вхождения, то есть получить массив различных элементов.
Работа программы
Вводится исходный массив из 7 элементов(а), если в полученном массиве будут одинаковые элементы, то программа выведет вам массив только с различными элементами.
Назначение переменных
Назначение переменных, используемых в задаче, приведено в таблице 1
Таблица 1 – Назначение переменных
Переменная |
Тип |
Назначение переменных |
А |
Array of integer |
Исходный массив |
I,N,J,K |
Integer |
Целочисленные переменные, n=const |
Текст программы
uses crt;
var a:array[1..100] of integer;
i,n,j,k:integer;
begin
write(' Введите 7 чисел каждый раз после ввода нажимайте ENTER ');
writeln;
n:=7;
randomize;
for i:=1 to n do
readln(a[i]);
writeln(' Ваш новый массив ');
for i:=1 to n do
begin
for j:=i+1 to n do
if a[i]=a[j] then
begin
for k:=j to n-1 do
a[k]:=a[k+1];
n:=n-1;
end;
end;
for i:=1 to n do
write(a[i],' ');
readln;
end.
Блок – схема алгоритма программы
начало
Ввод
элементов массива
n:=7
j:=i+1
to n do
Заполнение массива
i:=1
to n do
i:=1
to n do
If
a[i]=a[j]
да
нет
K:=j
to n-1 do
a[k]:=a[k+1]
n:=n-1
I:=1 to n do
Вывод
a[i]
Конец
Тестирование
Введите 7 целых чисел, после чего программа выдаст вам новый массив в зависимости от введенных вами чисел.
1:
Введите 7 чисел каждый раз после ввода нажимайте Enter.
1,2,2,3,3,3,4
Ваш новый массив равен 1 2 3 4
Задача 3
Вставить по одному элементу перед всеми отрицательными элементами.
Работа программы
Вводится размерность массива(n), сам массив(а), вставляемый элемент(х),если в массиве встречается отрицательный элемент то программа вставляет перед ним(х).
Назначение переменных
Назначение переменных, используемых в задаче, приведено в таблице 1
Таблица 1 – Назначение переменных
Переменная |
Тип |
Назначение переменной |
a |
Array of integer |
Массив вводимый с клавиатуры |
i,j,n |
integer |
Целочисленные переменные необходимые в теле программы. |
Текст программы
program vstavka;
uses crt;
var a:array [ 1 .. 100 ] of integer;
i, j, n, x:integer;
begin
write(' Введите размер массива: '); {не более 50}
readln(n);
writeln('Введите исходный массив:');
for i := 1 to n do begin
write('Введите а [',i,']: ');
readln(a[ i ]);
end;
write('Введите вставляемый элемент: ');
readln(x);
i := 1;
while i <= n do begin
if a[ i ] < 0 then begin
for j := n downto i do
a[ j+1 ] := a[ j ];
a[ i ] := x;
inc(n);
inc(i);
end;
inc(i);
end;
writeln('Результирующий массив: ');
for i := 1 to n do
write(a[ i ] : 8);
readln;
end.