Категории: ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника |
Структура программы на языке Паскаль
Программа – это последовательность инструкций компьютеру приводящих к конечному результату за конечное число шагов. Программа, написанная на алгоритмическом языке, переводится на язык машинных команд: program <имя>; <описательная часть>; <раздел функций и процедур>; begin <исполнительная часть>; end.
Зарезервированные слова:
<имя> - присваивается составителем программы (строится по правилам составления переменных).
Описательная часть программы
Все переменные, используемые в программе, должны быть описаны. Описание начинается со служебного слова var.
program ff; var i,n: integer; x,y,z: real; begin; ... Список переменных от типа отделяется - “:”, одно описание от другого - “;”, список переменных перечисляется через - “,”. Если в программе используются метки, то они описываются с помощью служебного слова label. Метки могут быть числовые и символьные. В программах на Паскале можно использовать константы, которые описываются с помощью служебного слова const. const n=100; …
Переменная-константа (n), более в программе не описывается, ее тип определяется присвоенным ей числовым значением. Для определения пользовательского типа данных используют служебное слово - type. type in=integer; var a,b: in; …
С помощью служебного слова uses можно подключать к программе стандартные библиотечные модули. Стандартные модули объединяют функции определенного назначения и, в случае необходимости, подключаются к программе. Например, для использования функции очистки экрана (clrscr), к программе подключают стандартный модуль crt. uses crt; …
Исполнительная часть программы
Выполнение программы начинается именно с исполнительной части. Отдельные инструкции, входящие в программу, называются операторами. Операторы отделяются один от другого – “;” . Операторы бывают трех типов: пустой оператор; простой оператор; составной оператор. Структура составного оператора: begin <оператор 1>; <оператор 2>; …<оператор N>; end;
Оператор присваивания
<переменная> : = <выражения>; где “: =” – знак присваивания. Следующие выражения читаются одинаково x:=2; x:= 2;
y:=d+beta; y:=d+Beta;
Заглавные и прописные буквы в программе интерпретируются одинаково. Операторы ввода-вывода
Оператор ввода readln (<список ввода>); где readln - имя оператора ввода; <список - ввода> - список имен переменных, разделенных запятыми. Например: readln (a,b,c); По данному оператору с клавиатуры необходимо ввести значения переменных a, b и c. readln ; По этому оператору компьютер ожидает нажатия любой клавиши. Используется как последний в программе, чтобы успеть записать результаты вычислений.
Оператор вывода writeln (<список - вывода>); где writeln - имя оператора вывода; <список - вывода> - список переменных вывода, разделенных запятыми.
writeln ; Оператор writeln без списка вывода можно использовать для пропуска пустых строк при оформлении вывода результатов.
В операторе writeln можно использовать формат вывода значений переменных. Например: writeln ( ’ a = ’, a:8:3, ’ b = ’ , b:4);
Первая цифра (8) после имени переменной вещественного типа определяет количество позиций, выделенных под число, включая знак и десятичную точку, а вторая цифра (3) определяет количество позиций выделенных под дробную часть числа. Цифра, стоящая после имени переменной целого типа, определяет количество позиций, отводимых под число, включая знак. При a =341.154 , b = 2 результат на экране будет выглядеть: a = 341.154 b = 2 При a = 1.3 , b = 144 результат на экране будет выглядеть: a = 1.300 b =144
Комментарии в программе
В любом месте программы можно записать пояснительный текст – комментарий. Он не обрабатывается во время выполнения программы. Текст комментария ограничен символами { }. … { Пояснения к программе - комментарии} … Комментарии удобно использовать в программе при отладке для временного исключения группы операторов, заключив их в фигурные скобки.
Задача. Даны два целых числа. Найти их полусумму и произведение.
рrogram primer; uses crt; var a, b,p: integer; s: real; begin сlrscr; {функция очистки экрана} {вывод сообщения на экран} writeln (’ введите a, b ’); {ввод данных с клавиатуры } readln ( a, b); s: = (a + b)/2; p: = a*b; вывод результатов } writeln (’ s = ’, x:8:3, ’ ’, ’p = ’, y:4); readln; end.
Ключевые слова горят ярче, чем остальной текст программы.
Пример программы линейной структуры
Задача. Математическая формулировка задачи: Вычислить и вывести на печать значение функции y. Исходные данные x, a и b ввести с клавиатуры.
рrogram lab1; uses crt; var a, b: integer; y,x: real; begin {оператор очистки экрана} сlrscr; {вывод сообщения на экран} writeln (’ введите x,a, b ’); {ввод данных с клавиатуры } readln ( x,a, b); y:=(a+2*b)*sqrt(a+2*b)*(1/cos(x)); {вывод результатов вычисления} writeln (’ y=’, y:8:3); readln; end.
Вопросы для самоконтроля
8.11. Методические указания для выполнения практического задания №4. «Следования» Цель работы: Ознакомиться со структурой программы на языке Паскаль, основными операторами, алгоритмами линейной структуры.. Задание: 1. В приложении 5 выбрать вариант задания. 2. Выполнить практическое задание №4, используя пример программы линейной структуры. 3. Составить блок-схему алгоритма. 4. Написать программу и отладить ее по заранее подготовленному тесту. 5. Оформить работу в тетради для практических работ. 6. Результат выполнения программы предъявить преподавателю. 7. Ответить на вопросы самоконтроля. 8. Защитить выполненную работу у преподавателя. Приложение 5. Таблица вариантов заданий
Ветвления Очень часто встречаются ситуации, когда требуется выбрать между двумя или более вариантами действий в зависимости от заданного условия. Такая алгоритмическая конструкция называется ветвлением.
Операторы условия и перехода
Строки программы на Паскале не нумеруются. Отдельные строки в программе могут иметь метки, к которым можно переходить. Метки должны быть описаны в программы с помощью ключевого слова
label N1, N2 … ; где N1, N2, … - метки. Метками могут быть идентификаторы или целые числа (положительные) в диапазоне 0 9999. Оператор перехода по метке:
goto N; Где N - метка. Фрагмент программы с использованием меток:
program pr; label 3; var x, y: real; begin 3: readln (x, y); ... go to 3; ... end.
Логический оператор
if < условия > then P1 [else P2 ]; (если ) (то ) (иначе) [ else P2 ] - не обязательная часть оператора. Где <условие> - логическое выражение; P1, P2 - простые или составные операторы. По этому оператору: если <условие> - "истинно" (true), то выполняется P1, если - " ложно" (false), то выполняется P2. Перед структурой else «;» - не ставится. Если else - отсутствует и <условие> - "ложно", то управление передается следующему оператору. Приведем примеры использования оператора:
if a>b then writeln(‘a=’,a) else writeln(‘ b=’,b);
If x>=0 then y: = sin(x) else y: = - sin(x);
if a<0 then begin b:=2*a; writeln(b); end else begin b:=a/2; goto 3; end;
Операции отношения
Логические операции
В операторе if можно одновременно проверять несколько условий. Например: if (a>b)and(a>c) then writeln(’a - max’); При проверке нескольких условий в одном операторе, каждое условие записывается в скобках. Паскаль допускает вложенность операторов if. Например: if n>0 then if (m div n)>n then m: = m - n else m: = m + n; Структура else - всегда относится к ближайшему оператору if. Если n>0 и (m div n)>n - будет выполнено m: = m-n. Если n>0, но (m div n) n - будет выполнено m: = m + n. Если n 0 - переход к следующему оператору.
Задача.
Найти максимальное число из трех вещественных чисел.
program max; var a, b, c: real; begin writeln (’введите a, b, c’); readln (a, b, c); if a>=b then if a>=c then writeln (’max - a’) else writeln (’max - c’) else if b<=c then writeln (’max - b’) else writeln (’max - c’) ; readln; end.
Второй способ решения этой задачи:
program max_1; var a, b, c: real; begin writeln (’введите a, b, c’); readln (a, b, c); if (a>=b) and (a>=c) then writeln (’max-a’); if (b>=a) and (b>=c) then writeln (’max-b’); if (c>=a) and (c>=b) then writeln (’max-c’); readln; end. Если a=b=c - то все три оператора if будут выполнены.
Оператор выбора Этот оператор предназначен для замены конструкций из вложенных if. Структура: case N of N1: P1; N2: P2; NN: PN; [else P;] end; [else P;] - необязательная часть оператора. где N - целочисленная переменная, или выражение целого типа; N1, N2 , … NN - возможные значения переменной N; P, P1, P2, … PN - простые или составные операторы. По этому оператору: если значение N = N1, то выполняется P1 (после чего управление передается оператору, следующему за оператором case...of); если значение N = N2, то выполняется P2, (после чего управление передается оператору, следующему за оператором case...of); … если N не принимает ни одного из перечисленных значений, управление передается оператору P; если структура else - отсутствует и N - не принимает ни одного из перечисленных значений, управление передается следующему за case...of оператору. Например: case N of 1, 2, 5: writeln (’a’); 7 .. 10: writeln (’b’); end;
1, 2, 5 - перечисляемые значения разделяются точкой. 7 .. 10 - интервал задается начальными и конечными значениями через двоеточие.
Пример программы разветвленной структуры
Задача.
1. Вычислить значение функции: y=
Значение аргумента х в градусах ввести с клавиатуры.
2. Таблица идентификаторов
3. Листинг программы.
program lab2; uses crt; var x, y: real; begin clrscr; writeln (’Введите x’); readln (x); if x>90 then writeln(’функция не определена’) else {составной оператор} begin if x<0 then y: = 0 else y: = sin (x*pi/180); writeln (’y = ’,y:8:3); end; readln; end.
Вопросы для самоконтроля
9.3. Методические указания для выполнения практического задания №5. «Ветвления» Цель работы: Ознакомиться с алгоритмами разветвленной структуры, логическим оператором, оператором выбора. Задание: 1. В приложении 6 выбрать свой вариант задания. 2. Выполнить практическое задание №5, используя пример программы разветвленной структуры. 3. Составить блок-схему алгоритма. 4. Написать программу и отладить ее по заранее подготовленному тесту. 5. Оформить задание в тетради для практических занятий. 6. Результат выполнения программы предъявить преподавателю. 7. Ответить на вопросы самоконтроля. 8. Защитить выполненную работу у преподавателя. Приложение 6. Таблица вариантов заданий
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-09-14 lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда... |