Файл: Лабораторная работа Создание линейного алгоритма 5 Лабораторная работа Решение задач с линейным алгоритмом 7.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.04.2024
Просмотров: 154
Скачиваний: 0
СОДЕРЖАНИЕ
Структура программы на языке Turbo Pascal
Лабораторная работа № 2. Решение задач с линейным алгоритмом
Лабораторная работа № 3. Обработка строковых и символьных переменных
Лабораторная работа № 4. Обработка целочисленных данных
Лабораторная работа № 5. Создание разветвляющего алгоритма
Лабораторная работа № 6. Решение задач с разветвляющимся алгоритмом
Лабораторная работа № 7. Использование оператора выбора CASE.
Лабораторная работа № 8. Генератор случайных чисел
Лабораторная работа № 9. Использование цикла с параметром
Лабораторная работа № 10. Использование цикла с предусловием
Лабораторная работа № 10. Использование цикла с предусловием
Лабораторная работа № 11. Решение задач с использованием циклического алгоритма
Лабораторная работа № 12. Использование цвета
Лабораторная работа № 13. Создание меню
Лабораторная работа № 14. Обработка одномерного массива
Лабораторная работа № 15. Решение задач на использование одномерных массивов
Лабораторная работа № 16. Обработка двумерного массива
Лабораторная работа № 17. Решение задач с использованием двумерных массивов
Лабораторная работа № 18. Использование процедур
Лабораторная работа № 19. Использование функций
Лабораторная работа № 20. Графические возможности Turbo Pascal
Лабораторная работа № 21. Работа с файлами
Лабораторная работа № 22. Задания для самостоятельной работы
Лабораторная работа № 18. Использование процедур
Процедуры применяются для сокращения объема программы и выполнения часто повторяющихся действий в программе. Процедура по структуре очень похожа на структуру всей (основной) программы:
Procedure название (переменные : тип данных); Var переменные : тип данных; Begin …… …… …… End; |
Переменные, которые указываются после названия – это те переменные, значения которых берутся из основной программы.
Переменные, которые указываются после var, используются только внутри самой процедуры.
Процедуру можно вызвать из основной программы по ее названию и указанию в скобках переменных, которые будут использоваться в процедуре (эта строка выделена в листинге жирным начертанием). Процедуру можно вызвать любое количество раз. Идентификаторы переменных основной программы и процедуры могут быть разные.
Значение процедуры хранится внутри нее и в дальнейшем использоваться не может!
Далее приведены два варианта использования процедуры, которая вычисляет сумму двух действительных чисел.
1 вариант | 2 вариант |
Program q; Uses crt; {--------------------------------} Procedure summ(x,y,z:real); Begin z:=x+y; writeln('Summa = ', z:6:2); end; {--------------------------------} Var a,b,s:real; Begin clrscr; writeln('Vvedite 2 chisla'); Readln(a); Readln(b); summ(a,b,s); readln; end. | Program q; Uses crt; {------------------------------} Procedure summ(a,b:real); var summa:real; Begin summa:=a+b; writeln('Summa = ', summa:6:2); end; {-------------------------------} Var a,b:real; Begin clrscr; writeln('Vvedite 2 chisla'); Readln(a); Readln(b); summ(a,b); readln; end. |
Задание для самостоятельной работы:
-
Написать программу с использованием процедуры для вычисления суммы четырех действительных чисел. -
Написать программу с использованием процедуры для вычисления выражения -
Написать программу с использованием процедуры для поиска максимального числа из двух действительных чисел, которые вводятся с клавиатуры. -
Дано 2 числа. Если первое число больше второго, то вычислить сумму чисел. Если второе число больше первого, то вычислить произведение чисел. В случае равенства чисел не выполнять никаких вычислений. (Для вычисления суммы и произведения использовать процедуры). -
Одномерный массив K(20) заполнен случайными числами от -20 до +20. Вывести массив на экран. Определить, количество отрицательных, количество положительных, количество четных, количество нечетных элементов. Результаты вывести на экран и записать в текстовый документ. Обработку массива выполнить в отдельной процедуре. -
Написать программу, состоящую из трех подпрограмм и основной программы. Подпрограммы должны организовывать ввод чисел, вычисление их суммы и вывод результата.
Лабораторная работа № 19. Использование функций
Функции используются для сокращения объема программы и выполнения часто повторяющихся действий в программе.
Переменные, которые указываются после var, используются только внутри самой функции.
Функцию можно вызвать из основной программы по ее названию. Функцию можно вызвать любое количество раз. Идентификаторы переменных основной программы и функции могут быть разные или одинаковые.
Значение функции должно храниться в какой-либо переменной и ее можно использовать для последующих вычислений!
Далее приведены два варианта использования функции, которая вычисляет сумму двух действительных чисел.
1 вариант | 2 вариант |
program dex; uses crt; var a,b,s:real; {-----------------------------------} function summa(x,y:real):real; begin summa:=x+y; end; {-----------------------------------} begin clrscr; writeln('Vvedite 2 chisla'); readln(a,b); s:=summa(a,b); writeln ('summa chisel = ', s:6:2); readln; end. | program dex; uses crt; var a,b,s:real; {-----------------------------------} function summa:real; var x,y:real; begin writeln('Vvedite 2 chisla'); readln(x,y); summa:=x+y; end; {-----------------------------------} begin clrscr; s:=summa; writeln ('summa chisel = ', s:6:2); readln; end. |
Задание для самостоятельной работы:
-
Написать программу с использованием функции для вычисления суммы четырех действительных чисел. -
Написать программу с использованием функции для вычисления выражения . Функцию использовать для вычисления выражения (x2+1) -
Написать программу с использованием функции для вычисления и . С помощью функций вычислить выражение: t:= - -
Одномерный массив K(20) заполнен случайными числами от -20 до +20. Вывести массив на экран. Определить максимальное, минимальное значение, количество нулевых элементов. Результаты вывести на экран и записать в текстовый документ. Использовать для обработки массива функции. -
Вычисление факториала числа N. -
Написать программу, которая вычисляет периметр треугольника, если известны координаты его вершин. Формулу для вычисления расстояния (где x1, у1; x2, y2 — координаты точек ) оформить в виде подпрограммы.
Лабораторная работа № 20. Графические возможности Turbo Pascal
Для формирования графических изображений предназначен стандартный библиотечный модуль graph. В нем содержится 79 графических процедур, функций, десятки стандартных констант и типов данных. Все они составляют единый комплекс средств, позволяющих разрабатывать программные продукты.
Запуск графической системы:
USES GRAPH {подключение модуля graph}
VAR DR, MD: INTEGER; {описание переменных driver (драйвер) и mode (режим) для определения режима работы графического системы}
BEGIN
DR:=DETECT; {автоматический подбор драйвера}
INITGRAPH (DR, MD,’C:\PROGRAM\TP\BGI’); {инициализация граф. системы}
………………………….
{окончание работы графической системы}
CLOSEGRAPH
Процедуры построения графических примитивов
Все изображения, построенные в графическом режиме, состоят из точек (пикселей). Для построения изображения на экране используется система координат. (x=640, y=480)
1. Вывод точки осуществляется процедурой:
PutPixel (x,y,color); - x,y – координаты, color – цвет
Например:PutPixel (10,10,2); - вывод точки на экран с координатами 10,10 зеленого цвета
PutPixel (10,100,Magenta); - вывод точки на экран с координатами 10,100 малинового цвета
Цветовая шкала
Цвет | Код | Цвет | Код |
Black - черный | 0 | DarkGray – темно-серый | 8 |
Blue – синий | 1 | LightBlue – ярко-голубой | 9 |
Green – зеленый | 2 | LightGreen – ярко-зеленый | 10 |
Cyan – бирюзовый | 3 | LightCyan – ярко-бирюзовый | 11 |
Red – красный | 4 | LightRed – ярко-красный | 12 |
Magenta – малиновый | 5 | LightMagenta – ярко-малиновый | 13 |
Brown – коричневый | 6 | Yellow – желтый | 14 |
LightGray – светло-серый | 7 | White - белый | 15 |
2. Построение линии выполняется процедурой:
Line (x1,y1,x2,y2); - x1,y1 – rкоординаты начала линии, x2,y2 – координаты конца линии
Также для построения линий используются еще 2 процедуры:
-
LineTo (x,y:integer); - построение линии из точки текущего положения в точку с координатами x,y -
LineRel (dx,dy:integer); - строит линию из точки текущего положения в точку, смещенную на dx по оси x, dy по оси y.
3. Построение прямоугольника
Rectangle (x1, y1, y1, y2); x1,y1 – координаты левого верхнего угла прямоугольника,x2,y2 – координаты правого нижнего угла прямоугольника.
4. Построение закрашенного прямоугольника
Bar (x1, y1, x2 ,y2 : integer);
5. Построение окружности
circle (x,y,r); x,y – координаты центра, r – радиус
6. Построение дуги
Arc (x, y : integer; StAngle, EndAngle, Radius : word );
x, y - rкоординаты центра, StAngle, EndAngle – начальный и конечный углы дуги, Radius – радиус дуги
7. Построение эллипса и эллипсовидных дуг
ellipse (x,y: integer; StAngle, EndAngle : word ; xr , yr : word);
x,y – координаты центра, StAngle, EndAngle – начальный и конечный углы эллипса, xr, yr – горизонтальная и вертикальная оси)
TP позволяет вычерчивать линии разного стиля: тонкие, широкие, сплошные, штриховые, пунктирные и т.д.
Для установки стиля при построении графических примитивов используется процедура:
SetLineStyle (LineStyle:word;Pattern:word;Thckness:word); - LineStyle – стиль линии, Pattern – образец, Thckness – толщина линии.
Если используется стандартный образец линии, то параметр Pattern=0.
Стиль линии Толщина линии
Константа | Значение | Описание | Константа | Значение | Описание |
SolidLn | 0 | Непрерывная линия | NormWidth | 1 | Нормальная толщина (1 пиксел) |
DottedLn | 1 | Линия из точек | ThickWidth | 3 | Жирная линия (3 пикселя) |
CenterLn | 2 | Линия из точек и тире | | | |
DashedLn | 3 | Штриховая линия | | | |
UserBitLn | 4 | Тип пользователя | | | |