2.2 Язык программирования Паскаль.
Язык программирования Паскаль (назван в честь выдающегося французского математика и философа Блеза Паскаля (1623 – 1662)), разработан в 1967 – 1971гг. Никлаусом Виртом, профессором, директором института информатики Швейцарской высшей политехнической школы. Язык Паскаль, созданный первоначально для обучения программированию как систематической дисциплине, скоро стал широко использован для разработки программных средств в профессиональном программировании.
Широкой популярностью Паскаля среди программистов способствовали следующие причины:
- Благодаря своей компактности, удачному первоначальному описанию Паскаль оказался достаточно лёгким для обучения.
- Язык программирования Паскаль . Отображает фундаментальные и наиболее важные концепции (идеи) алгоритмов в очевидной и легко воспринимаемой форме, что предостовляет программисту средства, помогающие проектировать программы.
- Язык Паскаль позволяет чётко реализовать идеи структурного программирования и структурной организации данных.
- Язык Паскаль сыграл большую роль в развитии методов аналитического доказательства правильности программ и позволил реально перейти от методов отладки программ к системам автоматической проверки и правильности программ.
- Применения языка Паскаль значительно подняло “планку” надёжности разрабатываемых программ за счёт требований Паскаля к описанию используемых в программе переменных при компиляции без её выполнения.
- Использование в Паскале простых и гибких структур управления: ветвлений, циклов.
2.3 Условный оператор в Паскале.
Условные операторы предназначены для выбора к исполнению одного из возможных действий ( операторов) в зависимости от некоторого условия (при этом одно из действий может быть пустым, т.е. отсутствовать) В качестве условий выбора используется значение логического выражения. В Турбо Паскале имеются два вида условных операторов: if иcase.
Оператор условиа if. Оператор условия if является одним из самых популярных средств, имеющих естественный порядок выполнения операторов программы. Синтаксическая диаграмма оператора if выглядит таким образом:
Операторы условия if выполняются следующим образом. Сначала выражается выражение, записанное в условии. В результате его вычисления получается значение булевского типа. В первом случае, если значение выражения есть true (истина), выполняется <оператор 1>, указанный после слова Then (то). Если результат вычисления выражений в условии естьFalse (ложь), то выполняется <оператор 2>. Во втором – если результат выражения true, то выполняется <оператор>, если false – оператор, следующий сразу за оператором if. Операторы if могут быть вложенными.
Read (Ch);
If Ch=’N’ then parol:= True
Else Parol := False;
Read (x);
If Parol = True then
If x = 100 then Writeln (‘пароль и код правельны’)
Else begin
Writeln (‘Ошибка в коде’);
End;
В данном примере с клавиатуры считывается значение переменной символьного типа Ch. Затем проверяется условие Ch=’N’. Если оно выполняется, то переменной Parol булевского типа присваеватся значение True, если условие не выполняется, False. Затем с клавиатуры считывается значение кода Х. Далее оператор проверяет условие Parol = True. Если оно имеет значение True, то выполняется проверка введённого пароля оператором if X=100. Если условие Х=100 имеет значение True, то выводится сообщение “Пароль и код правельны”, и управление в программе передаётся на оператор, следующий за словом end, если оно имеет значение False, выполняется соствной оператор, стоящий после слова else, который выводит на экран видеомонитора сообщение “ошибка в коде”, и вызывает стандартную процедуру Halt(1) для остановки программы.
2.3.1 Составной оператор (оператор варианта).
Условный оператор позволяет осуществить ветвление программы только по двум направлениям, одно из которых соответствует выполнению проверяемого условия. Если для переменной необходимо осуществить ряд действий, зависящих от других условий, то надо записывать либо вложенные условные операторы, либо несколько операторов подряд. Для такой операции удобно использовать оператор варианта.
Вход в структуру содержит вычисление или ранее полученное значение переменной (индекса варианта). Это значение может совпасть с меткой, стоящей перед оператором на одной из ветвей переключаются. В таком случае выполняется оператор, помеченный этой меткой, и происходит выход из структуры. Оператор бывает простым или составным, ограниченым операторными скобками begin … end; Если значение индекса варианта не совпало ни с одной из меток, то выполняется оператор с номером n + 1 из строки else. Если оператор варианта содержит строку else , то это - полная форма оператора, если такой строки нет, то используется сокращённая форма оператора варианта.
Метки оператора варианта могут быть константами любого типа. Их тип должен совпадать с переменной индекса варианта. Возможно, чтобы индекс варианта должен был как именем переменной, так и выражением соответствующего типа.
В рассмотренных до сих пор алгоритмах и программах все команды (операторы) выполнялись последовательно одна за другой в том порядке, в котором они были записаны. Однако таким образом может быть построен алгоритм для решения далеко не всякой задачи.
В практике хорошо известны задачи, дальнейший ход решения которых зависит от выполнения какого либо условия.
Рассмотрим простой пример задачи из курса алгебры. Требуется построить алгоритм вычисления значений функции у = |х|. Она задаётся соотношением:
Y =
На языке Паскаль оператор варианта имеет вид:
Case индекс варианта of
Метка 1: оператор 1;Метка 2: оператор 2;
…
Метка n: оператор n;
Else оператор n + 1
End;
Пример:
Составить программу-решатель.
Дано: молярная масса вещества М, плотность данного вещества Р, масса R или объём V. Требуется найти число молекул К: 1) в единице массы вещества; 2) в теле заданной массой: 3) в единице объёма вещества; 4) в теле заданным объёмом. Для решения задачм воспользуемся формулой:
K = (NА/M)R,
Где NA = 6,022 * 10²³г/моль – число Авогадро.
На основании этой формулы получаем расчётные формулы для программы:
1)K=NA/M; 2)K=NAR; 3)K=NAPV/M 4)K=NAP/M.
Программа имеет вид:
Program E20;
Const NA = 6.022 E20;
Var N: integer; M, R, P, V, K: real;
Begin
Writeln (‘зная постоянную Авогадро, Плотность P данного вещества’);
Writeln (‘и его молярную массу М, можно найти число молекул в’);
Writeln (‘1. в единице массы вещества’);
Writeln (‘2. в теле массой R’);
Writeln (‘3. в единице объёма’);
Writeln (‘4. в теле объёмом V’);
Write (‘введите номер решающей задачи’);
Readln (N);
Write (‘введите исходные данные: М =’);
Readln (M);
Case N of
1: K: = NA / M;
2: begin
Write (‘R = ‘);
Readln (R);
K: = NA *R/M;
End;
3: begin
write (‘плотность вещества Р = ’);
Readln (P);
Write (‘V = ‘);
Readln (V);
K: = NA *P*V/M;
End;
4: begin write (‘плотность вещества P = ’);
Readln (P);
K: = NA *P/V
End;
End;
Write (‘число молекул K = ’, K’);
End.
... условий взаимной уравновешенности системы сил является одной из основных задач статики. На основе изложенной в первой главе курсовой работы алгоритм конструкции языка программирования Паскаль составим и решим ряд задач по прикладной механике. Сформулируем задачу по статике первому разделу прикладной механики. Задача. Найти центр тяжести тонкого круглого однородного стержня изогнутого по дуге ...
... собой последовательность операторов, которая выполняется неоднократно. В программах, связанных с обработкой данных или вычислениями, часто приходиться выполнять циклические повторяющиеся действия. В языке программирования Паскаль имеется три разновидности цикла - цикл со счетчиком, цикл с предусловием и цикл с постусловием. Операторы цикла: Оператор While Оператор Repeat Оператор For ...
... ('УЧЕБНАЯ ПРОГРАММА'); Gotoxy(30,8); {Установка курсора в заданные координаты: X,Y} WriteLn('"ТЕСТ ПО ИНФОРМАТИКЕ"'); Gotoxy(30,9); {Установка курсора в заданные координаты: X,Y} WriteLn('(практическое использование'); Gotoxy(30,10); {Установка курсора в заданные координаты: X,Y} WriteLn('среды Turbo Pascal)'); TextColor(14); {Установка цвета текста} Gotoxy(45,14); { ...
... набор процедур и функций языков программирования Basic и Pascal, позволяют управлять графическим режимом работы экрана, создавать разнооборазные графические изображения и выводить на экран текстовые надписи. ГЛАВА 2. ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ ЯЗЫКА ПРОГРАММИРОВАНИЯ В КУРСЕ ИНФОРМАТИКИ БАЗОВОЙ ШКОЛЫ (НА ПРИМЕРЕ BASIC И PASCAL) 2.1 Разработка мультимедиа курса «Графические возможности языков ...
0 комментариев