Скачать 60.91 Kb.
|
![]() ![]() ![]() Конспект урока Основы программирования на языке PascalСтруктура программыПрограмма на языке Паскаль состоит из заголовка, разделов описаний и раздела операторов. Заголовок программы содержит имя программы, например: Program PRIM; Описания могут включать в себя:
Раздел описания модулей определяется служебным словом USES и содержит имена подключаемых модулей (библиотек) как входящих в состав системы Turbo Pascal, так и написанных пользователем. Раздел описания модулей должен быть первым среди разделов описаний. Имена модулей отделяются друг от друга запятыми: uses CRT, Graph; Любой оператор в программе может быть помечен меткой. Имя метки задается по правилам образования идентификаторов Турбо Паскаль. В качестве метки также могут использоваться произвольные целые числа без знака, содержащие не более четырех цифр. Метка ставится перед оператором и отделяется от него двоеточием. Все метки, используемые в программе, должны быть перечислены в разделе описания меток, например: label 3, 471, 29, Quit; Описание констант позволяет использовать имена как синонимы констант, их необходимо определить в разделе описания констант: const K= 1024; MAX= 16384; В разделе описания переменных необходимо указать все переменные, используемые в программе, и определить их тип: ^ P,Q,R: Integer; A,B: Char; F1,F2: Boolean; Описание типов, процедур и функций будет рассмотрено ниже. Отдельные разделы описаний могут отсутствовать, но следует помнить, что в Паскаль - программе должны быть обязательно описаны все компоненты программы. Раздел операторов представляет собой составной оператор, который содержит между служебными словами ^ Последовательность операторов. Операторы отделяются друг от друга символом ;. Текст программы заканчивается символом точка. Кроме описаний и операторов Паскаль - программа может содержать комментарии, которые представляют собой произвольную последовательность символов, расположенную между открывающей скобкой комментариев { и закрывающей скобкой комментариев }. Пример 1program Primer; {вычисление суммы двух чисел} var x,y,s: integer; begin WriteLn('Введите через пробел два числа '); ReadLn(x,y); s := x + y; WriteLn('Сумма чисел равна ',s); end. Данная программа запрашивает с клавиатуры два числа, находит их сумму и выводит ответ. Теперь сделаем так, чтобы программа сначала очищала экран, выполняла свои действия, а в конце работы позволяла пользователю посмотреть результат, ожидая его нажатия клавиши. Пример 2program Primer; {вычисление суммы двух чисел} uses Crt; {подключение модуля, необходимого для процедур очистки экрана и задержки} var x,y,s: integer; begin ClrScr; {очистка экрана} WriteLn('Введите через пробел два числа '); ReadLn(x,y); s := x + y; WriteLn('Сумма чисел равна ',s); ReadKey; {ожидание нажатия клавиши} End. Пример 3Вычисление площади треугольника по формуле Герона (программа с линейным алгоритмом) ^ var a,b,c,p,S,Y:real; begin writeln('Вычисление площади треугольника по формуле Герона.'); writeln('Введите стороны треугольника a, b, c:'); readln(a,b,c); p:=(a+b+c)/2; S:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln('Площадь треугольника равна: S=', S); writeln('Для выхода из программы введите число 1.'); readln(y); end. ^ 1. Составной и пустой операторы Составной оператор - это последовательность произвольных операторов программы, заключенная в операторные скобки. Турбо-Паскаль допускает произвольную глубину вложенности: Begin ... Begin ... Begin ... End; End; End; Наличие ; перед End - пустой оператор. 2. Операторы ветвлений Условный оператор IF <условие> THEN <оператор1> [ELSE <оператор2>] Условие – значение типа BOOLEAN или логическая операция. Если условие верно, выполняется оператор, или блок операторов, следующий за THEN, в противном случае выполняется блок операторов после ELSE, если он есть. Условия могут быть вложенными и в таком случае, любая встретившаяся часть ELSE соответствует ближайшей к ней "сверху" части THEN. Пример: ^ A, B, C, D: Integer; begin A:=1; B:=2; C:=3; D:=4; If A > B Then If C < D Then If C < 0 Then C:=0 {обратите внимание, что перед Else} {пустой оператор ";"не ставится} Else A:=B; end. а могло быть и так: If A > B Then If C < D Then If C < 0 Then C:=0 Else Else Else A:=B Рассмотрим программу, которая вводит произвольное целое число от 0 до 15 и выводит его в шестнадцатеричной системе: ^ Var Ch: Char; N: Integer; Begin Write ('N = '); Readln(N); If (N >= 0) And (N <= 15) Then Begin If N < 10 Then Ch:= Chr(Ord('0')+N) Else Ch:=Chr(Ord('A')+N-10); End Else Writeln('Ошибка'); End. 3. Операторы повторений Цикл с предопределенным числом повторений. For <переменная цикла>:=<начальное значение> To(DownTo) <конечное значение> Do <блок операторов> Переменная должна быть целого или перечислимого типа. При исполнении цикла переменная цикла изменяется от начального до конечного значения с шагом 1. Если стоит to, то переменная увеличивается, если downto – уменьшается. Условия выполнения цикла проверяются перед выполнением блока операторов. Если условие не выполнено, цикл For не выполняется. Следующая программа подсчитывает сумму чисел от 1 до введенного: ^ Var I, N, S: Integer; Begin Write('N = '); Readln(N); S:=0; For I:=1 To N Do S:=S + I; Writeln ('Cумма = ', S) End. Условный цикл с проверкой условия перед исполнением блока операторов. While <условие> Do <блок операторов> Блок операторов будет исполняться, пока условие имеет значение true. Необходимо, чтобы значение условия имело возможность изменения при исполнении блока операторов, иначе исполнение цикла не закончится никогда (в DOS это приведет к зависанию компыютера). Если условие зарание ложно, блок операторов не исполнится ни разу. Найдем машинное "эпсилон" для переменной типа Real: ^ Var Epsilon: Real; Begin Epsilon:=1; While Epsilon + 1 > 1 Do Epsilon: = Epsilon/2; Writeln ('Эпсилон = ', Epsilon); End. Условный цикл с проверкой после выполнения блока операторов. Repeat <тело цикла> Until <условие> Блок операторов независимо от значения условия будет выполнен хотябы один раз. Цикл заканчивается, если после очередного исполнения блока операторов условие имеет значение true. Пример: программа запрашивает ввод одного символа и выводит его ASCII - код, пока не будет введен пустой символ: ^ Const Cr = 13; Var Ch:Char; Begin Repeat Readln (Ch); Writeln (Ch,' = ', Ord (Ch)); Until Ord (Ch) = Cr End. Оператор выбора одного из вариантов. Case <ключ выбора> Of <список выбора> Else <оператор> End; <ключ выбора> - выражение любого перечислимого типа, <список выбора> - одна или более конструкций вида <значение ключа>:<блок операторов>. Составим программу, имитирующую калькулятор. Программа вводит две строки: первая содержит два числа, разделенные пробелом или запятой, вторая - символ арифметического действия. 2 2 Признаком конца работы служит ввод любого символа, отличного от +, -, /, *. Программа: ^ Var Operation: Char; {Знак Операции} X, Y, Z: Real; Stop: Boolean; Begin Stop:= False; repeat Writeln; {Пустая Строка - Разделитель} Write ('X, Y = '); Readln (X,Y); Write ('Операция: '); Readln (Operation); Case Operation Of '+': Z: = X+Y; '-': Z: = X-Y; '*': Z: = X*Y; '/': Z: = X/Y; Else Stop:= True; End; If Not Stop Then Writeln('Z = ',Z); Until Stop; End. Любому из блоков операторов списка может предшествовать не одно, а несколько значений выбора, разделенных запятыми. |
![]() | Теоретические основы метода отражений (Хаусхолдера) для решения слау | ![]() | Программа предназначена для обучения основам программирования на языке низкого уровня Ассемблере учащихся средних школ, учреждений... |
![]() | Структура программы на языке С. Подключение библиотек, Организация ввода-вывода с помощью библиотеки iostream | ![]() | Познакомить обучающихся с основными случаями словообразования в английском языке |
![]() | Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. Коломна: кгпи,... | ![]() | Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. Коломна: кгпи,... |
![]() | Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. – Коломна:... | ![]() | Стандартная структура программы языка Pascal (program name; переменные, подпрограммы, begin … end). 105 |
![]() | Количество часов: 68 (10 часов теоретические занятия, 35 часов практические занятия, 23 часа проектная работа) | ![]() | В письменной экзаменационной работе необходимо создать программный продукт на алгоритмическом языке Object Pascal в среде визуального... |