- •Министерство образования и науки рф
- •Наука информатика
- •Алгоритмы и программы
- •Информация, ее количественная мера и принципы кодирования
- •Принципы программного управления обработкой информации и структура современных пк
- •Принципы построения и технические характеристики устройств пк Основные устройства
- •Клавиатура
- •Лабораторная работа №1 название: знакомство с эвм, операционной системой и файловыми менеджерами
- •Начальные сведения об операционной системе dos
- •Файлы и каталоги на дисках
- •Работа с программой Dos Navigator
- •Краткая справка по Dos Navigator
- •Краткая справка по текстовому редактоРу среды
- •** Команды перемещения курсора **
- •** Команды удаления/вставки**
- •** Команды работы с блоками **
- •** Команды, передаваемые среде из редактора**
- •Лабораторная работа №3 название: организация ввода/вывода,вычисление выражений,использование стандартных функций
- •Лабораторная работа № 4 название: Организация циклов в программе с использованием условного операторА
- •Лабораторная работа №5 название: Организация циклов в программе с использованием операторов цикла
- •Лабораторная работа № 6
- •Лабораторная работа №7 название: работа с массивами чисел
- •Программа:
- •Лабораторная работа №8 название: упорядочение элементов массива
- •Программа:
- •Программа:
- •Лабораторная работа №9 название: работа с комбинированными типами данных
- •Программа:
- •Результаты работы программы
- •Лабораторная работа №10 название: организация программ с использованием подпрорамм
- •Программа:
- •Результаты работы программы
- •Лабораторная работа №11 название: организация программ с использованием модулей
Программа:
program lab8;
const n=5; m=4;
type str=array[1..n,1..m] of real;
var a:str;
sum:real;
k,i,j:integer;
f:text;
begin
assign(f,'lab8.dat'); rewrite(f);
writeln('ВВЕДИТЕ ЭЛ-ТЫ МАССИВА А(',n:1, ',' , m:1, ')');
(* ВВОД МАССИВА *)
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
(* ВЫВОД ЭЛ-ОВ МАССИВА НА ЭКРАН И В ФАЙЛ *)
writeln; writeln(' ':10,'ИСХОДНЫЙ МАССИВ');
writeln(f); writeln(f,' ':10,'ИСХОДНЫЙ МАССИВ');
for i:=1 to n do
for j:=1 to m do
begin
write(' A[',i:1, ',' ,j:1,']=',a[i,j]:8:3);
write(f,' A[',i:1, ',' ,j:1,']=',a[i,j]:8:3);
if ( j mod 4 =0) then begin
writeln; writeln(f)
end
end;
(* НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА *)
sum:=0;
for i:=1 to n do
for j:=1 to m do
sum:=sum+a[i,j];
writeln; writeln(f);
writeln(' СУММА ЭЛЕМЕНТОВ МАССИВА =',sum:8:3);
writeln(f,' СУММА ЭЛЕМЕНТОВ МАССИВА =',sum:8:3);
writeln; writeln(f);
writeln(' ПРОГРАММУ ВЫПОЛНИЛ ИВАНОВ И.И.');
writeln(f,' ПРОГРАММУ ВЫПОЛНИЛ ИВАНОВ И.И.');
close(f)
end.
РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ:
ИСХОДНЫЙ МАССИВ
A[1,1]= 5.100 A[1,2]= 30.000 A[1,3]= 5.900 A[1,4]= 9.300
A[2,1]= 3.400 A[2,2]= 5.600 A[2,3]= -11.500 A[2,4]= 8.300
A[3,1]= 125.800 A[3,2]= 17.100 A[3,3]= 19.500 A[3,4]= 34.000
A[4,1]= 1.000 A[4,2]= 0.500 A[4,3]= 0.400 A[4,4]= 345.000
A[5,1]= -4.700 A[5,2]= 45.700 A[5,3]= 18.900 A[5,4]= 12.700
СУММА ЭЛЕМЕНТОВ МАССИВА = 672.000
ПРОГРАММУ ВЫПОЛНИЛ ИВАНОВ И.И.
Контрольные вопросы:
Способы описания массивов?
Как организуется ввод и вывод массивов?
Лабораторная работа №8 название: упорядочение элементов массива
ЦЕЛЬ РАБОТЫ:
1. Получение практических навыков в использовании оператора цикла.
2. Знакомство с алгоритмами упорядочения.
ПОСТАНОВКА ЗАДАЧИ:
Изучив алгоритмы упорядочения, выбрать один из них. Написать программу, которая работает с любым доступным набором данных. Входную информацию и результаты счета вывести на рабочий диск и на экран, снабдив их соответствующими заголовками.
СОДЕРЖАНИЕ ОТЧЕТА
1. Задание на лабораторную работу.
2. Блок-схему алгоритма и текст программы.
3. Результаты работы программы.
МЕТОДИЧЕСКИЕ УКАЗАНИЯ:
Рассмотрим массив целых и действительных чисел A(1),...,A(N).
Пусть требуется переставить элементы этого массива так, чтобы после перестановки они были упорядочены по не убыванию (возрастанию).
A(1)<=A(2)<=A(3)<=...<=A(N).
Эта задача называется задачей сортировки или упорядочения массива (эту же задачу можно рассматривать применительно к упорядочению по не возрастанию (убыванию)):
A(1)>=A(2)>=A(3)>=...>=A(N)).
Для решения этой задачи можно воспользоваться, например, следующими алгоритмами:
а) Найти элемент массива, имеющий наименьшее значение, переставить его с первым элементом, затем проделать то же самое, начав со второго элемента и т.д. (сортировка выбором). При решении задачи используются два цикла. Во внутреннем цикле находится наименьший элемент и его порядковый номер. После окончания цикла первый элемент из рассматриваемой части массива записывается на место наименьшего, а наименьший - на место первого. Указанные действия повторяются во внешнем цикле, начиная сначала с первого элемента массива, затем со второго и т.д.
б) Последовательным просмотром чисел A(1),...,A(N) найти 'I' такое, что A(I)>A(I+1). Поменять местами A(I) и A(I+1), возобновить просмотр с элемента A(I+1) и т.д. Тем самым наибольшее число передвинется на последнее место. Следующие просмотры начинать опять сначала, пока в процессе просмотра массива не будет перестановок (сортировка обменом).
Пример программы упорядочения массива по не убыванию (возрастанию) методом выбора.