
- •Основы программирования на языке паскаль
- •1. Простейшие программы Структура Паскаль-программы
- •Данные и тип данных
- •Стандартные функции
- •Выражения
- •Организация простейших программ
- •Модуль crt
- •Задания для самостоятельной работы
- •2. Ветвления
- •Задания для самостоятельной работы
- •3. Циклы
- •Оператор цикла с постусловием используется, когда известно условие, при котором цикл будет прекращать свою. Формат оператора:
- •Задания для самостоятельной работы
- •4. Массивы
- •Сортировка
- •Задания для самостоятельной работы
- •5. Строки
- •Задания для самостоятельной работы
- •6. Процедуры и функции
- •Параметры
- •Локальные и глобальные переменные
- •Функции
- •Задания для самостоятельной работы
- •7. Записи
- •Задания для самостоятельной работы
- •8. Множества
- •Операции над множествами
- •Задания для самостоятельной работы
- •9. Файлы
- •Стандартные процедуры и функции для работы с файлами всех типов
- •Стандартные процедуры и функции для работы с типизированными файлами
- •Задания для самостоятельной работы
- •10. Модуль graph
- •Процедуры и функции модуля graph
- •Задания для самостоятельной работы
- •11. Модули, определяемые пользователем
- •Задания для самостоятельной работы
- •12. Линейные однонаправленные списки Указатели
- •Линейные однонаправленные списки
- •Задания для самостоятельной работы
- •13. Двунаправленные списки.
- •Задания для самостоятельной работы
- •14. Кольцевые списки
- •Задания для самостоятельной работы
- •15. Стеки и очереди
- •Задания для самостоятельной работы
- •16. Деревья
- •Задания для самостоятельной работы
- •Простейшие программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- •Бадмаева Энгельсина Сергеевна, Тонхоноева Антонида Антоновна
- •670000, Г. Улан-Удэ, ул. Смолина, 24-а.
Выражения
Из переменных, констант и обращений к функциям (т.е. операндов) с помощью знаков операций и круглых скобок можно составлять выражения. Тип выражения зависит от типа операндов и вида примененных операций. Порядок выполнения операций в выражении определяется согласно следующему приоритету:
унарные: унарный +, унарный -, Not;
мультипликативные: *, /, And, Div, Mod;
аддитивные: +, -, Or;
операции отношения: <, >, =, <=, >=, <>, In.
Изменить приоритет операций можно с помощью круглых скобок. Операции равного приоритета выполняются в порядке следования.
Организация простейших программ
Простейшие программы имеют линейную структуру. Каждый оператор в них выполняется по одному разу в порядке следования. Такие программы не содержат условий. Для организации простейших программ используют оператор присваивания, а также стандартные процедуры ввода и вывода данных.
Оператор присваивания используется для задания переменной некоторого значения. Формат: <переменная>:=<выражение>
Переменная и выражение должны быть одного типа! Исключение здесь только одно: переменной вещественного типа можно присвоить значение выражения целого типа.
Процедуры ввода данных с клавиатуры имеют две формы:
READ (<список ввода>);
READLN (<список ввода>)
где <список ввода> - список переменных целого, вещественного или символьного типа, разделенных запятыми. Числовые значения при вводе отделяются пробелом или клавишей <ENTER>, разделитель между символами не нужен. В отличие от первой формы, выполнение процедуры второй формы завершается только после нажатия на клавишу <ENTER>.
Процедуры вывода данных на экран дисплея имеют две формы:
WRITE(<список вывода>);
WRITELN(<список вывода>);
где <список вывода> - список выражений, разделенных запятыми. Выражения могут быть любого простого стандартного типа. Отличие процедуры второй формы от первой: после вывода последнего значения курсор переходит к началу следующей строки, а не остается в следующей позиции за последним значением.
При выводе данных значения выражений из одного списка между собой не разделяются. В этом случае пользователь сам должен предусмотреть, как разместить их на экране. Для этого существуют следующие способы:
использование текстовых констант (последовательностей символов, заключенных в апострофы);
использование формата вывода: V:n[:m], где V – выражение, n – минимальное количество позиций, отводимых под значение выражение V, m – количество позиций для дробной части (только для выражений вещественного типа).
Эти способы можно также комбинировать.
Модуль crt
Модуль CRT представляет собой библиотеку подпрограмм управления текстовым выводом на экран дисплея, звуковым генератором и чтения с клавиатуры.
В режиме текстового вывода используется следующая система координат: левая верхняя точка с координатами (1,1) является началом координат; горизонтальная координата Х возрастает слева направо, вертикальная Y – сверху вниз (1 Х 80, 1 Y 25). Если на экране определяется окно, то все координаты задаются относительно границ окна, за исключением координат процедуры WINDOW, которые всегда задаются относительно границ экрана. Рассмотрим некоторые процедуры модуля CRT:
TextColor (Color:Byte); - установка текущего цвета символов.
TextBackGround (Color:Byte); - установка текущего цвета фона.
ClrScr; - очистка экрана (окна) с одновременным закрашиванием текущим цветом фона и установкой курсора в верхнюю левую точку экрана (окна).
GotoXY (X,Y:Byte); - установка курсора в позицию с координатами (X,Y) экрана (окна);
Window(X1,Y1,X2,Y2:Byte); - определение текстового окна на экране, которое становится текущим. Здесь (X1,Y1) – координаты левой верхней точки окна, (X2,Y2) – правой нижней точки.
Delay(D:Word); - задержка работы программы на указанное число D миллисекунд.
Пример 1. Вычислить площадь треугольника по трем заданным сторонам. Программу оформить с помощью модуля CRT.
Program Example_1;
{Для нахождения площади треугольника используется формула Герона}
Uses CRT; {подключение модуля к программе}
Var a, b, c, p, s: Real; {a,b,c – стороны, p – полупериметр, s - площадь}
Begin
TextBackGround(1); {установка текущего цвета фона экрана}
ClrScr; { очистка экрана с одновременным окрашиванием текущим цветом }
Window(10,10,70,20); {установка размеров текстового окна}
TextBackGround(3); {установка текущего цвета фона окна}
ClrScr; { очистка окна с одновременным окрашиванием текущим цветом }
TextColor(4); {установка текущего цвета символов}
GotoXY(2,4); {установка курсора в заданную позицию окна}
Write(‘Введи длины сторон треугольника:’);
Readln(a,b,c); {ввод с клавиатуры значений длин сторон треугольника}
p:=(a+b+c)/2; {вычисление периметра}
s:=Sqrt(p*(p-a)*(p-b)*(p-c)); {вычисление площади}
GotoXY(2,6);
Writeln(‘Площадь треугольника равна ’,s:6:2); {вывод значения площади на экран}
Delay(3000) {задержка работы программы на 3 секунды}
End.