- •Министерство образования и науки рф
- •Наука информатика
- •Алгоритмы и программы
- •Информация, ее количественная мера и принципы кодирования
- •Принципы программного управления обработкой информации и структура современных пк
- •Принципы построения и технические характеристики устройств пк Основные устройства
- •Клавиатура
- •Лабораторная работа №1 название: знакомство с эвм, операционной системой и файловыми менеджерами
- •Начальные сведения об операционной системе dos
- •Файлы и каталоги на дисках
- •Работа с программой Dos Navigator
- •Краткая справка по Dos Navigator
- •Краткая справка по текстовому редактоРу среды
- •** Команды перемещения курсора **
- •** Команды удаления/вставки**
- •** Команды работы с блоками **
- •** Команды, передаваемые среде из редактора**
- •Лабораторная работа №3 название: организация ввода/вывода,вычисление выражений,использование стандартных функций
- •Лабораторная работа № 4 название: Организация циклов в программе с использованием условного операторА
- •Лабораторная работа №5 название: Организация циклов в программе с использованием операторов цикла
- •Лабораторная работа № 6
- •Лабораторная работа №7 название: работа с массивами чисел
- •Программа:
- •Лабораторная работа №8 название: упорядочение элементов массива
- •Программа:
- •Программа:
- •Лабораторная работа №9 название: работа с комбинированными типами данных
- •Программа:
- •Результаты работы программы
- •Лабораторная работа №10 название: организация программ с использованием подпрорамм
- •Программа:
- •Результаты работы программы
- •Лабораторная работа №11 название: организация программ с использованием модулей
Результаты работы программы
ИСХОДНЫЕ МАССИВЫ
МАССИВ X
5.00 9.00 8.00 7.00 2.00 0.00 2.00 6.00 5.00 9.00
МАССИВ Y
8.00 3.00 0.00 1.00 6.00
МАССИВ Z
9.00 4.00 0.00 6.00 2.00 4.00 6.00 7.00
МАССИВЫ ПОСЛЕ ПЕРЕСТАНОВКИ
МАССИВ X
0.00 2.00 2.00 5.00 5.00 6.00 7.00 8.00 9.00 9.00
МАССИВ Y
0.00 1.00 3.00 6.00 8.00
МАССИВ Z
0.00 2.00 4.00 4.00 6.00 6.00 7.00 9.00
РАБОТУ ВЫПОЛНИЛ ИВАНОВ И.И.
Контрольные вопросы:
Чем отличается подпрограмма функция от подпрограммы процедуры?
Что называется фактическим и формальным параметром?
В чем разница передачи данных по ссылке и по значению?
Лабораторная работа №11 название: организация программ с использованием модулей
ЦЕЛЬ ЗАДАНИЯ:
Получение практических навыков в написании программ с использованием МОДУЛЕЙ
ПОСТАНОВКА ЗАДАЧИ:
Дано два одномерных массива. Требуется вычислить функцию
,
где S1 и K1 - сумма и число положительных элементов первого массива,
S2 и K2 - сумма и число отрицательных элементов второго массива.
Для вычисления суммы и числа положительных или отрицательных элементов массива использовать одну и ту же процедуру, размещенную в модуле. Процедура должна позволять решать задачи при числе элементов массива N <= 100.
СОДЕРЖАНИЕ ОТЧЕТА:
1. Постановка задачи для конкретного варианта.
2. Исходный текст модуля и программы, блок - схему алгоритма.
3. Результаты выполнения программы.
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
1. МОДУЛЬ - это автономно компилируемая программная единица, включающая в себе различные компоненты раздела описаний (типы, константы, переменные, процедуры и функции). Модуль сам по себе не является выполняемой программой - его объекты используются другими программными единицами.
Все программные ресурсы модуля можно разбить на две части: объекты, прямо предназначенные для использования другими программами или модулями, и объекты рабочего характера. В соответствии с этим модуль, кроме заголовка, имеет две основные части, называемые интерфейсом и реализацией.
Заголовок модуля составляется из служебного слова UNIT и следующего за ним имени модуля. Заголовок завершается символом ";" (точка с запятой). Для правильной работы среды ТУРБО-ПАСКАЛЯ это имя должно совпадать с именем дискового файла, в котором помещается исходный текст модуля. Если, например, имеем заголовок UNIT GLOBAL; то исходный текст соответствующего модуля должен размещаться в дисковом файле GLOBAL.PAS.
Интерфейсная часть начинается со служебного слова INTERFACE, за которым следует совокупность обычных описаний. Часть реализации начинается служебным словом IMPLEMENTATION и содержит описание подпрограмм, объявленных в интерфейсной части. В ней могут объявляться локальные для модуля объекты, вспомогательные типы, константы и переменные. Завершает модуль, как и программу, служебное слово END и символ точка.
Описанию подпрограммы, объявленной в интерфейсной части модуля, в исполняемой части должен предшествовать заголовок, в котором можно опускать список формальных параметров (и тип результата для функции), так как они уже описаны в интерфейсной части. Но если заголовок подпрограммы приводится в полном виде, т.е. со списком формальных параметров и объявлением результата, он должен совпадать с заголовком, объявленным в интерфейсной части, например:
unit cmplx;
interface
type complex=record re,im: real end;
procedure addс(x,y:complex; var z:complex);
implementation
procedure addс;
begin
z.re:=x.re+y.re;
z.im:=x.im+y.im
end
end.
В этом модуле описан тип complex и процедура addс сложения комплексных чисел. Модуль компилируется точно таким же образом, как и обычные подпрограммы. Но так как модуль не является непосредственно выполняемой единицей, то в результате его компиляции образуется дисковый файл с расширением .TPU, при этом имя файла берется из имени файла с исходным текстом модуля.
Для того чтобы получить доступ к интерфейсным объектам модуля необходимо указать в программе имя нужного TPU - файла. Соответствующая конструкция называется спецификацией используемых модулей и имеет следующий вид:
USES U1,U2,U3;
где USES- служебное слово, U1,U2,U3- имена используемых модулей.
Эта спецификация должна идти непосредственно после заголовка программы. При наличии спецификации используемых модулей в данной программе считаются известными все описания из интерфейсных частей подключенных модулей. К интерфейсным объектам модуля можно обращаться в программе точно так же, как если бы они были описаны в самой этой программе.
2. Правильность работы программы проверить на следующих тестовых задачах:
А) 1-ый массив N=10.
элементы с 1-го по 5-ый равны 4
элементы с 6-го по 10-ый равны -2
2-ой массив N=5
все элементы массива равны -3
ОТВЕТ: Z=1.75
Б) 1-ый массив N=5
все элементы массива равны 5
2-ой массив N=3
все элементы массива равны 2
ОТВЕТ: Z ВЫЧИСЛИТЬ НЕВОЗМОЖНО
Контрольные вопросы:
Что называется модулем?
Какова структура модуля?
На какие части разбиты программные ресурса модуля?
В чем отличие локальных и глобальных переменных?
Как обеспечить доступ к интерфейсным объектам модуля?