
- •Введение
- •Рекомендуемая литература
- •1. Алгоритмизация и основные этапы работы на эвм
- •1.1. Основные этапы подготовки решения задач на эвм
- •1.2. Алгоритмы и способы их описания.
- •1.3. Базовые алгоритмические структуры.
- •2. Основы программирования
- •2.1. Машинный код процессора
- •2.2. Классификация языков программирования
- •3. Интегрированная среда разработки (иср) Lazarus
- •3.1 Основные характеристики
- •3.2. Консольное приложение
- •3.3. Характеристика проекта консольного приложения
- •4. Алфавит языка Free Pascal
- •4.1. Типы данных
- •4.2. Выражения
- •4.3. Основные стандартные функции
- •4.4. Процедуры ввода и вывода
- •4.5. Операторы
- •4.6. Массивы.
- •4.7. Подпрограммы.
- •4.8. Модули.
- •5. Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal»
- •5.1. Задания контрольной работы
- •5.2. Требования по оформлению пояснительной записки
- •Министерство рф по связи и информатизации Поволжский государственный университет телекоммуникаций и информатики
- •Программирование основных алгоритмических структур на языке Free Pascal
- •5.3. Методические указания по выполнению заданий
- •6. Перечень контрольных вопросов
4.8. Модули.
Разработав функцию или процедуру, программист может ее использовать в другой программе. Free Pascal позволяет пользователю поместить свои функции и процедуры в отдельный модуль, а затем вызывать и использовать их в других программах, указав имя модуля в списке модулей в разделе uses.
Для создания нового модуля необходимо из меню File выбрать команду New => Unit (Файл/Новый/Модуль). В результате открывается окно редактора кода, в котором находится сформированный Free Pascal шаблон модуля. В новом окне редактора вводится код модуля, затем он компилируется и сохраняется, а затем уже его можно использовать повторно, путем вызова в проекте по имени в разделе uses.
Например:
unit MayUnit; // имя модуля после его сохранения
interface //описательная часть
implementation // реализация
. . . // код модуля
end.
Использование модуля MayUnit :
program Blank;
{$mode objfpc}{$H+}
uses
Classes, SysUtils, MayUnit, //добавление в список к проекту
begin
… //код проекта
end.
5. Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal»
5.1. Задания контрольной работы
Варианты заданий для выполнения контрольной работы выбираются из соответствующих таблиц по последней M и предпоследней N цифрам зачётной книжки.
Например, если номер зачетной книжки 073328, то M=8, а N=2.
Первая задача решается по 8-му варианту, вторая – по 2-му, третья – по 0-му (8+2=10 с отбрасыванием десятков), четвертая по 6-му (8-2=6), пятая – по 8-му варианту.
Решение каждой задачи должно состоять из блок-схемы алгоритма и реализующей его программы, снабженные пояснениями. Программу реализовать в ИСР Lazarus как проект консольного приложения или как приложение под Windows. В последнем случае интерфейс проектов выбирается по своему усмотрению. Допускается выполнение заданий в среде Delphi или средах, поддерживающих язык Free Pascal.
Задача 1. По заданным расчетным формулам и наборам исходных данных, указанных в таблице 5.1, вычислить на ПК значения соответствующих переменных. На печать вывести значения вводимых исходных данных и результаты расчетов, сопровождая их вывод именами выводимых переменных.
Таблица 5.1
M |
Расчетные формулы |
Данные |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
0 |
|
|
Задача 2. Вычислить на ПК значения функции, заданной в таблице 5.2. На печать вывести значения вводимых исходных данных и полученные результаты, сопровождая их именами переменных. Значения аргумента взять из указанного диапазона так, чтобы протестировать все ветви программы.
Таблица 5.2
N |
Функции и условия |
Данные и диапазон |
1 |
|
a=0.5 x = [1 ; 4] |
2 |
|
a=3 x = [1 ; 5] |
|
|
b=0.5 x = [0 ; 3] |
4 |
|
a=2 x = [1 ; 6] |
5 |
|
b=3.2 x = [-2 ; 3] |
6 |
|
a=2.3 x = [1 ; 5] |
7 |
|
b=5 x = [-5 ; 1] |
8 |
|
a=2.5 x = [0 ; 4] |
9 |
|
a=0.9 x = [0 ; 3] |
0 |
|
b=2.6 x = [0 ; 5] |
Задача 3. Вычислить на ПК значения функции, заданной в таблице 5.3, используя оператор цикла for… to…do с параметром.
Таблица 5.3
M+N |
a = 2.8; b = 0.7; x = 5.1 |
M+N |
a = 2.8; b = 0.7; x = 5.1 |
1 |
|
6 |
|
2 |
|
7 |
|
3 |
|
8 |
|
4 |
|
9 |
|
5 |
|
0 |
|
Примечание. Если (M+N) >9, то в качестве номера варианта выбирается последняя цифра суммы (разряд десятков отбрасывается).
Задача 4. Вычислить на ПК значения функции, заданной в таблице 5.4, используя операторы while…do и repeat…until. На экран вывести значения вводимых исходных данных и полученные результаты в виде таблицы.
Таблицу оформить символами « * » или другими символами. Например, при заданном диапазоне изменения переменной x = [1 ÷ 4], с шагом 0,3 таблица расчетных данных имеет вид:
Таблица
* * * * * * * * * * * * * * * * * *
* значение x * значение y *
* * * * * * * * * * * * * * * * * *
* 1.00 * 0.85 *
* * * * * * * * * * * * * * * * * *
* 1.30 * 0.56 *
* * * * * * * * * * * * * * * * * *
* . . . . . * . . . . . *
* * * * * * * * * * * * * * * * * *
* 3.70 * 0.69 *
* * * * * * * * * * * * * * * * * *
* 4.00 * 0.91 *
* * * * * * * * * * * * * * * * * *
Таблица 5.4
|M-N| |
Функции и условия |
Данные |
Диапазон аргумента |
1 |
|
b=2 |
x = [1 ; 4] шаг=0.3 |
2 |
|
a=1.5 |
x = [0.5 ; 3] шаг=0.3 |
3 |
|
b=1.5 |
x = [1 ; 5] шаг=0.4 |
4 |
|
a=0.5
|
x = [-2 ; 3] шаг=0.4 |
5 |
|
a=3
|
x = [0 ; 5] шаг=0.5 |
6 |
|
a=2 b=5 |
x = [1 ; 5] шаг=0.5 |
7 |
|
a=1.65 b=5 |
x = [0 ; 5] шаг=0.5 |
8 |
|
a=2.3 b=-0.3 |
x = [1 ; 5] шаг=0.3 |
9 |
|
a=2.5 b=2.6
|
x = [2 ; 5] шаг=0.5 |
10 |
|
a=1.5 b=1.5 |
x = [0 ; 4] шаг=0.4 |
Примечание. |M-N| - значение разности двух цифр M и N по абсолютной величине (без учета знака).
Задача 5. С помощью ПК произвести обработку одномерного массива, заданного в таблице 5.5. Элементы одномерного массива задать числами в диапазоне –20 . . . +20. Необходимо:
описать массив;
ввести элементы массива из заданного диапазона;
выполнить с элементами массива действия, заданные в табл. 5.5;
вывести результаты на экран;
Таблица 5.5
M |
Имя массива |
Задание 1 |
1 |
А(10) |
Вывести на печать все четные положительные элементы массива А |
2 |
В(12) |
Вычислить среднее арифметическое значение отрицательных элементов массива В. |
3 |
G(16) |
Вывести последовательность g1, g9, g2, g10, ... , g8, g16 и вычислить произведение пар элементов массива G. |
4 |
С(10) |
Найти сумму s элементов массива С. Вычислить (s – c1, s – c2, …, s – c10). Результат вывести в одной строке. |
5 |
H(14) |
Вывести последовательность h1, h14, h2, h13, ... , h7, h8 и вычислить сумму пар элементов массива H. |
6 |
D(10) |
Найти произведение p элементов массива D. Вычислить (p + d1, p + d2, …, p + d10 ). Результат вывести в одной строке. |
7 |
F(12) |
Вычислить максимальный элемент массива сформированных пар (f1+ f12, f2 + f11, ... , f6 + f7 ). |
8 |
L(16) |
Переписать в массив L подряд положительные элементы массива M. |
9 |
K(12) |
Вычислить минимальный элемент массива сформированных пар ( k1· k7, k2 · k8, ... , k6 · k12 ). |
0 |
P(12) |
Переписать в массив Q подряд отрицательные элементы массива P. |