Реферат: Циклические программы. Структурированный тип данных. Структура сложной программы на языке Турбо-Паскаль. Процедуры и функции. Простейшие графические возможности языка Турбо-Паскаль
ПРОГРАММИРОВАНИЕ НА ПЭВМ
В СРЕДЕ ТУРБО-ПАСКАЛЬ
Изучаемые темы:
Основные элементы языка Турбо-Паскаль. Структура простой программы.
Ввод-вывод данных. Операторы языка Турбо-Паскаль.
Среда Турбо-Паскаля.
Циклические программы.
Структурированный тип данных.
Структура сложной программы на языке Турбо-Паскаль. Процедуры и функции.
Простейшие графические возможности языка Турбо-Паскаль.
Тема № 1
ОСНОВНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА ТУРБО ПАСКАЛЬ.
^ СТРУКТУРА ПРОСТОЙ ПРОГРАММЫ
Вопросы: 1. Основные элементы языка Турбо-Паскаль.
2. Структура простой программы на языке Турбо-Паскаль.
1. Основные элементы языка Турбо-Паскаль
Один из самых популярных языков программирования высокого уровня - язык Паскаль (англ. Philips Automatic Sequence Calculator) был разработан швейцарским ученым Никлаусом Виртом в 1969 году как учебный язык, но спустя некоторое время приобрел популярность как отличный инструмент для решения серьезных задач. Программирование на Паскале обеспечивает высокую надежность программ. Программы на Паскале понятны любому программисту и в то же время они легко транслируются в эффективные машинные коды. Паскаль, наряду с Бейсиком, считается также учебным языком; он принят во многих учебных заведениях как базовый язык для изучения программирования. Так, в США с 1983 года Паскаль введен в учебные курсы всех средних школ для учащихся, специализирующихся в области информатики.
По мере своего развития язык Паскаль постоянно совершенствовался и приобретал новые свойства. Мы будем изучать язык Турбо-Паскаль, разработанный фирмой Borland. Поэтому в дальнейшем под названием Паскаль будет иметься в виду язык Турбо-Паскаль.
1.1. Алфавит
Алфавит Турбо-Паскаля включает в себя буквы, цифры, символы и зарезервированные слова:
a) буквы - латинские от а до z (различия между малыми и большими буквами нет) и символ “подчеркивания”, который в языке считается буквой;
б) цифры - арабские от 0 до 9 и шестнадцатеричные (первые 10 цифр от 0 до 9 - арабские, остальные шесть - латинские буквы: а, b, c, d, e, f);
в) символы - + - * / = , . : ; < > [ ] ( ) { } ', $, пары <> <= >= := (* *) (. .), пробел (символы (. .) соответствуют символам [ ], несколько пробелов считаются одним);
г) зарезервированные слова - abs, and, array, begin, case, const, dir, do, downto, else, end, for, function, goto, if, int, label, mod, not, of, or, procedure, program, repeat, shr, then, to, type, var, while, with и др. Смысл зарезервированных слов фиксирован строго. При этом набор зарезервированных слов может меняться от версии к версии. Происходит это потому, что в качестве новой версии языка появляются дополнительные возможности, для реализации которых нужны новые зарезервированные слова. В то же время некоторые из старых зарезервированных слов перестают быть таковыми. Делается это для лучшей переносимости программ.
1.2. Идентификаторы
Идентификатор - это последовательность букв, цифр и знаков подчеркивания, начинающихся не с цифры. Под идентификатором мы будем понимать ячейку памяти ЭВМ, которая имеет свое имя и в которой хранится информация.
Идентификаторы могут иметь произвольную длину, но значащими являются только первые 63 символа. Хорошим стилем является осмысленный выбор имени идентификатора.
Зарезервированные слова не могут использоваться в качестве идентификаторов.
Примеры идентификаторов: а, ALHA, Mynameisthebestname, number1,
date_23_sent_1998.
1.3. Константы
Константа - это величина, которая в ходе выполнения программы принимает одно значение. Ее значение устанавливается еще до того, как программа начнет выполняться, а в ходе ее запуска сохраняет свое значение неизменной на всем протяжении работы программы.
В качестве констант могут использоваться целые, вещественные, шестнадцатеричные числа, логические константы, символы, строки символов, множества:
а) целые числа записываются без дробной части со знаком или без него;
б) вещественные числа записываются со знаком или без него, с фиксированной или плавающей точкой (например, +3.14 или -19е-5);
в) логическая константа - либо false либо true (ложь или истина);
г) символьная константа - любой символ, заключенный в апострофы (например, '<>', 'Y');
д) строковая константа - любая последовательность символов, заключенная в апострофы (например, 'это моя строка', ' "').
В Турбо-Паскале существуют типизированные константы, представляющие собой переменные простых или составных типов (кроме файлов) с начальным значением.
1.4. Выражения
Основными объектами, из которых конструируется программа, являются константы, переменные и обращения к функциям. С помощью знаков операций и скобок из них составляют выражения. Т.е. в самом общем виде можно сказать, что выражения строятся из операндов, знаков операций и круглых скобок. При этом операндами могут быть константы, переменные и сами выражения.
Частным случаем выражения являются одна константа, переменная или обращение к функции.
Примеры выражений: y; 75; (a + b) * c - d; sin(y).
1.5. Операции
В Турбо-Паскале определены следующие операции:
унарные - not (отрицание);
мультипликативные - * (умножение), / (деление), div (деление нацело), mod (остаток от целочисленного деления), and (логическое “И”);
аддитивные - + (сложение), - (вычитание), or (логическое “ИЛИ”);
отношения - = (равно), <> (не равно), < (меньше), > (больше), <= (меньше или равно), >= (больше или равно).
Приоритет операций убывает в указанном порядке. При равном приоритете операции выполняются слева направо в порядке записи. Для изменения очередности выполнения операций следует использовать круглые скобки. При этом все, что заключено в скобки, будет представлять собой вложенное выражение и за пределами скобок будет использоваться только результат его вычисления. Внутри скобок действуют обычные правила, т.е., например, умножение и деление, которые имеют более высокий уровень, чем сложение и вычитание, будут выполняться первыми. Степень вложенности выражений ограничений не имеет, при написании таких выражений следует помнить о правиле равенства количества открывающихся и закрывающихся скобок.
Операция not имеет самый высший приоритет. Она имеет один операнд, расположенный справа от операции. Not - это логическое "НЕ": результат имеет значение "истина", если операнд имеет значение "ложь", и наоборот. Например, not (5 > 7) - истина, not (5 > 2) - ложь.
Операция and (логическое "И") относится к операциям типа "умножение". Она имеет два операнда: один слева и один справа. Результат операции имеет значение "истина", если оба операнда истинны и "ложь" - в противном случае.
Например, (5 > 2) and (4 > 7) - ложь, (7 > 3) and (2 < 6) - истина.
Операции or (логическое "ИЛИ") и xor (исключающее "ИЛИ") относятся к операциям типа "сложения". Они так же, как и операция and, имеют два операнда. Результат операции or имеет значение "истина", если один или оба операнда истинны, и "ложь" в противном случае, операции xor – «истина», если операнды имеют разные значения и «ложь» – если одинаковые.
Например, (5 > 2) or (3 > 8) - истина, (1 > 4) or (10 > 50) – ложь,
(5 > 2) xor (3 < 8) – ложь.
Операции отношения имеют самый низкий приоритет. С помощью операций отношения величина слева от знака сравнивается с величиной справа от него.
Примечание: в языке Турбо-Паскаль нет операции возведения в степень. Вместо этого для возведения в целую степень можно использовать операцию умножения, а в дробную – выражение, использующее операцию логарифмирования и потенцирования: xy=ey*lnx, что на языке Турбо-Паскаль соответствует выражению exp(y*ln(x)) с использованием двух стандартных функций exp(<выражение>) и ln(<выражение>).
^ 1.6. Стандартные функции
Для вычисления наиболее распространенных математических функций в Турбо-Паскале предусмотрены следующие стандартные функции:
синус - sin(x),
косинус - cos(x),
арктангенс - arctan(x),
натуральный логарифм (логарифм по основанию е=2,71 - logex) - ln(x),
экспонента (еx) - exp(x),
квадрат числа (х2) - sqr(x),
квадратный корень из числа () - sqrt(x),
абсолютная величина числа - abs(x),
отбрасывание дробной части числа - trunc(x),
получение дробной части числа – frac(x),
получение целой части числа – int(x),
округление числа - round(x),
определение следующего по порядку элемента из списка - succ(x),
определение предыдущего элемента из списка - pred(x),
и др.
^ 1.7. Типы данных
В Турбо-Паскале существуют следующие типы данных:
I. Элементные:
1) Стандартные:
а) целые;
б) вещественные;
в) логические;
г) символьные.
^ 2) Переменные:
а) перечисляемые;
б) интервальные.
II. Структурированные:
1) Массивы;
2) Файлы;
3) Записи;
4) Множества.
В этой теме мы рассмотрим элементные типы данных.
^ Целый тип выражается десятичными числами без дробной части. Для переменных целого типа компилятор отводит определенное место в памяти. При этом переменные типа shorting занимают 1 байт, и они могут принимать значения от - 128 до +127. Переменные типа integer занимают в памяти 2 байта и принимают значения от -32768 до +32767. Переменные типа longint занимают 4 байта и могут использоваться для переменных, значения которых изменяются от -2 147 483 648 до + 2 147 483 647.
Пример описания переменных в программе целого типа:
Var m, r, kon, mold: integer;
Над целыми числами определены операции:
сложения +,
вычитания -,
умножения *,
деления нацело div,
определения остатка от деления нацело mod.
Стандартные функции:
abs(x), sqr(x), succ(x), pred(x), odd(x) (проверка на нечетность, результат –логического типа).
Вещественный тип выражается десятичными числами, имеющими целую и дробную части. Вещественные числа могут изображаться в форме с фиксированной точкой (например, 85.5, 0.007) или в форме с плавающей точкой (например, - 5.21е+2, 0.8е-1). В случае представления числа с фиксированной точкой целая и дробная части вещественного числа отделяются друг от друга точкой. Вещественное число в форме с плавающей точкой записывается как пара вида <мантисса> е <порядок>. Такое обозначение понимается как “мантисса, умноженная на 10 в степени, равной порядку”. Для размещения в памяти ЭВМ чисел вещественного типа (real) им отводится 6 байт. Такой способ дает возможность представить числа в диапазоне от -1.7е+38 до 1.7е+38. Тип real используется в ЭВМ без математического сопроцессора. При наличии сопроцессора возможно использование специальных вещественных типов – single (4 байта), double (8 байт) и extended (10 байт). Это позволяет увеличить диапазон представления чисел от -1е45 до +1е38 для single, от -1е308 до +1е307 для double и от -1е4032 до +1е4032 для extended.
Пример описания переменных в программе вещественного типа:
Var a, a4, temp: real;
Операции:
сложения +,
вычитания -,
умножения *,
деления /.
Стандартные функции:
abs(x), sin(x), cos(x), arctan(x), sqr(x), sqrt(x), exp(x), ln(x).
В выражениях можно использовать операторы и вещественного и целого типа. Результат выражения будет вещественного типа.
Значением логического типа может быть либо истина, либо ложь. Эти значения определяются стандартными идентификаторами false и true соответственно.
Описание переменных этого типа в программе:
Var l:boolen;
Для них справедливы правила:
false < true; succ(false) = true; pred(true) = false.
^ Символьный тип - это конечный упорядоченный набор символов. Для переменной символьного типа (char) в памяти ЭВМ отводится один байт, который состоит из 8 бит. Поскольку каждый бит может быть равен либо 0, либо 1, всего в байтовом формате можно представить 256 (28) различных комбинаций из нулей и единиц. Т.к. каждый символ имеет порядковый номер, байт можно использовать для кодирования 256 различных символов.
Объявление символьных переменных:
Var cum, tr, ctr: char;
К переменным символьного типа можно применять операции отношения, так как символы в таблице кодировки упорядочены в алфавитном порядке со сдвигом на порядковый номер первой буквы (отдельно строчные и прописные), а также функции определения порядкового номера символа ord(<символ>) и символа по порядковому номеру chr(<выражение>).
^ Перечисляемый тип задается перечислением тех значений, которые он может получать. К данным перечисляемого типа применимы только операции отношения.
Интервальный тип задается диапазоном значений, которые он может принимать. Для указания интервального типа следует указать начальное значение и через две точки конечное значение:
<имя переменной> : начальное значение .. конечное значение
Такая возможность представлена лишь для некоторых типов, например, для целых и символьных, но не для вещественных. Если вначале объявлен перечисляемый тип, то далее могут объявляться интервальные типы из диапазона значений перечисляемого типа, так как действует правило индекса, по которому правый элемент списка больше левого.
^ 1.8. Совместимость типов
Турбо-Паскаль - это типизированный язык. Это означает, что тип переменной определяется при ее описании и не может быть изменен. (Только в современных версиях Pascal-Delphi стало возможным динамическое – во время выполнения – определение типа). Переменная может участвовать только в операциях допустимых ее типом. Выполнение операций в выражениях, а также операции сравнения требуют, чтобы операнды имели совместимые типы.
^ Два типа считаются совместимыми, если выполняется хотя бы одно из следующих условий:
1) оба они есть один и тот же тип;
2) оба они вещественные;
3) оба они целые;
4) один тип есть тип - диапазон второго типа;
5) оба они являются типами - диапазонами одного и того же базового типа;
6) оба они являются множествами, составленными из элементов одного и того же базового типа.
^ 2. Структура простой программы на языке Турбо-Паскаль.
Структура простой программы на языке Турбо-Паскаль включает в себя:
а) название программы, начинающееся с зарезервированного слова program и имени, состоящего из букв латинского алфавита и цифр. Турбо-Паскаль позволяет опускать объявление program, поэтому данная строка является необязательной. Однако использование слова program является признаком хорошего стиля программирования. Кстати, Среда программирования автоматически присваивает имя, идущее за словом program, файлу с исходным текстом (первые 8 символов);
б) определение меток, начинающееся с зарезервированного слова Label и перечисления через запятую используемых в программе меток, представляющих собой любые цифры от 1 до 9999 или символьные имена;
в) определение констант, начинающееся с зарезервированного слова Const и перечисления используемых в программе констант с присвоенными им именами, знаками = и их значениями и отделяемыми друг от друга точкой с запятой. Типизированные константы также объявляются после слова const, но имена через двоеточие связываются с типом, и лишь потом ставится знак равенства, и указываются значения. В связи с этим секция «const» может повторяться после секции type;
г) определение типов, начинающееся с зарезервированного слова Type и состоящее из перечисления через точку с запятой имен типов, вводимых пользователем, с пояснением через знак равенства (=), от каких базовых типов и как они происходят;
д) описание переменных, начинающееся с зарезервированного слова Var и перечисления используемых в программе переменных с указанием их типа. При этом имена переменных одного и того же типа, могут перечисляться через запятую, с указанием в конце записи после двоеточия их типа, а имена переменных разных типов описываются отдельно и отделяются друг от друга точкой с запятой. В языке Турбо-Паскаль все используемые в программе переменные должны быть объявлены. Это значит, что, во-первых, в начале каждой программы Вы должны привести список всех используемых переменных, а во-вторых, указать тип каждой из них;
е) описание процедур и функций, начинающихся с зарезервированного слова Procedure и имени процедуры или с зарезервированного слова Function и имени функции. В раздел описания каждой процедуры и функции могут входить все перечисленные выше разделы, а также раздел операторов, составляющий непосредственно сами процедуры и функции;
ж) раздел операторов, начинающийся с зарезервированного слова begin и кончающийся зарезервированным словом end и включающий в себя непосредственно весь процесс вычислений. Зарезервированные слова begin и end отмечают начало и конец программы. Они применяются также для того, чтобы объединить несколько операторов программы в составной оператор или “блок” (подробнее о составном операторе см. в теме № 2). После последнего слова end в программе ставится точка, указывающая на ее конец. При этом все, что набрано после слова end с точкой (end.), компилятором игнорируется.
Порядок разделов описаний может быть любым. Разделы друг от друга отделяются точкой с запятой. Раздел операторов является основным в программе. Все другие разделы, кроме раздела операторов могут отсутствовать. Операторы друг от друга отделяются точкой с запятой. В конце раздела операторов после ключевого слова end обязательно ставится точка, которая является признаком конца записи программы.
При записи программы на каждой строке можно писать либо по одному, либо по несколько операторов. Запись оператора можно начинать в любом месте строки. Ее можно продолжить на следующую строку, не разрывая имен констант, переменных, типов и символов. Кроме того, можно использовать пустые строки, чтобы отделить одну часть программы от другой.
Для записи исходных данных также можно использовать до 126 позиций строки. Числовые значения данных записываются на строке, отделяя одно от другого пробелами.
^ Контрольные вопросы
Что включает в себя алфавит языка Турбо-Паскаль?
Что такое идентификатор?
Сколько значащих символов в идентификаторе?
Что не может входить в идентификатор?
В чем ошибка при записи следующих идентификаторов: 3mesto, zona/1, my name, not?
Что такое константа?
Что может использоваться в качестве констант в языке Турбо-Паскаль?
Что составляет выражение в языке Турбо-Паскаль?
Какие операции определены в языке Турбо-Паскаль?
Какие стандартные функции в языке Турбо-Паскаль Вы знаете?
Какие типы данных существуют в языке Турбо-Паскаль?
Когда два типа считаются совместимыми в языке Турбо-Паскаль?
Что включает в себя структура простой программы на языке Турбо-Паскаль?
Сколько позиций в строке используется для записи операторов (исходных данных)?
Как записываются числовые значения данных в строке?
Тема № 2
^ ВВОД-ВЫВОД ДАННЫХ. ОПЕРАТОРЫ ЯЗЫКА ТУРБО-ПАСКАЛЬ
Вопросы: 1. Ввод-вывод данных.
2. Операторы языка.
1. Ввод-вывод данных
Для ввода искомых данных в языке Турбо-Паскаль используются стандартные процедуры Read или Readln. Эти процедуры используются для чтения данных, набираемых на клавиатуре и присваивания их переменным. Каждая из этих процедур может иметь любое число параметров, записываемых в круглых скобках. Параметрами могут быть только имена переменных, которые отделяются друг от друга запятыми.
Различия в использовании процедур Read и Readln состоит в том, что при выполнении процедуры Read каждое вводимое значение считывается подряд с одной и той же строки дисплея, а процедура Readln тоже считывает заданное количество вводимых значений с одной строки, но игнорирует оставшиеся на этой строке значения и переходит к новой строке.
Пример: Read (7,18); Read(3) - список 7, 18, 3;
но Readln(7,18), Readln(3) - список 7 18
3
Процедура Readln без параметров реализует пропуск строки при вводе данных. Она используется для приостановки программы до нажатия клавиши Enter.
Вывод результатов программы в языке Турбо-Паскаль осуществляется двумя стандартными процедурами ^ Write и Writeln. Каждая из процедур может иметь любое целое число параметров, записываемых в круглых скобках после ключевого слова. Параметры в списке отделяются друг от друга запятыми. Символьная строка записывается как последовательность любых символов, заключенных в апострофы. Различие работы этих процедур заключается в следующем: после вывода данных процедура Writeln переводит курсор на следующую строку, в результате чего следующий вывод происходит на новой строке. Процедура же Write оставляет курсор на той же строке.
При обращении к процедурам Write или Writeln им передается список аргументов. Аргументы записываются в круглых скобках после имени процедуры и отделяются друг от друга запятыми. Аргументы, передаваемые процедурам вывода, могут быть любого простого типа (целого, вещественного, символьного или логического). Строки символов, заключенные в апострофы, выводятся без изменений. Если в качестве аргумента передается переменная, то будет выведено ее значение. При этом Вы можете определить ширину поля вывода, указав ее величину через двоеточие после аргумента. Для вещественных чисел Вы можете указать также количество выводимых цифр после десятичной точки.
Форма записи параметра в процедуре Write имеет следующий вид:
Write(параметр, параметр:B1, параметр:B1:B2)
где В1 - ширина поля, B2 - длина дробной части. По умолчанию integer занимает 7 позиций, real - 13 позиций. В целой части числа записывается первая отличная от нуля цифра. Шесть последующих цифр составляют дробную часть мантиссы. Одну позицию занимает буква е, которая обозначает основание степени, которое соответствует числу 10, одна позиция отводится под знак порядка и две - для величины порядка.
Например, если даны три числа: А = 3.6, В = 7.4, С = -2.5 и напечатан оператор Write('A=',A:4:1,' B=',B,' C=',C:6:1), то в результате будет выведено: А= 3.6 В= 7.400000Е+00 С= -2.5
При составлении программы нужно помнить, что они предназначены не только для выполнения на ЭВМ, но еще их читают, пытаются понять и переделать другие люди. Поэтому, чтобы разъяснить смысл программы, их снабжают комментариями. Комментарий - это любой текст, заключенный в фигурные { } или в круглые со звездочкой (* ) скобки. Этот текст не влияет на выполнение Турбо-Паскаль программы, но важен для человека, читающего ее и пытающегося ее понять. Большим удобством при написании комментариев является возможность располагать их на той же строке, что и операции, которые они объясняют. Длинные комментарии могут занимать несколько строк. Знаки ( *) считаются более приоритетными по сравнению с { }.
Имеющийся в Турбо-Паскале оператор вывода Writeln позволяет, используя пробел, заключенный в круглые скобки и апострофы, перейти на новую строку. Последовательность операторов вывода может быть следующая:
Writeln(' ');
Writeln('x=',x);
Writeln('y=',y);
В этом случае, если бы не было первого оператора Writeln(' '), то это могло бы привести к появлению х=... в строке, частично уже заполненной ранее:
...х=...
y=... ,
что может оказаться нежелательным.
Кроме того, использование оператора Writeln со строковой константой, т.е. текста, заключенного в апострофы, перед оператором ввода Read (Readln) позволяет в процессе выполнения программы напомнить программисту о том какие данные и в каком виде надо вводить в программу. Пример использования оператора Writeln:
Writeln('Введите целые числа Х и Y');
И, наконец, использование в конце программы перед ключевым словом end с точкой оператора ввода Readln позволяет оставаться в режиме воспроизведения окна программы, что бывает необходимо для просмотра полученных результатов в случае успешного завершения программы. Тем самым оператор Readln избавляет от необходимости вводить команду перевода экрана в режим воспроизведения окна программы.
^ 2. Операторы языка
Основными элементами языка Турбо-Паскаль являются операторы. Операторы служат основными строительными блоками программы. Можно сказать, что программа состоит из последовательности операторов с добавлением некоторого количества знаков пунктуации и комментариев.
В этом вопросе мы рассмотрим наиболее часто употребляемые операторы языка Турбо-Паскаль.
^ 2.1. Оператор присваивания
Синтаксис оператора присваивания:
<имя переменной> := <выражение>;
Примеры: k := 7; i := sqr(k); n := k * i;
В этих примерах оператор присваивания k := 7 служит для присваивания переменной k значения 7, оператор присваивания i := sqr(k) служит для присваивания переменной i значения k2 , т.е. значения 7 * 7 = 49, а оператор присваивания n := k * i присваивает переменной n значения k * k2 , т.е. значения 7 * 49 = 343.
При программировании широко используются операторы присваивания вида k := k + 1, смысл которого заключается в том, что надо “взять значение переменной с именем k, прибавить к нему единицу, а затем присвоить новое значение переменной с именем k”. Такой прием называют организацией счетчика.
Рассмотрим в качестве примера программу определения координат материальной точки (х и y) для заданной секунды ее полета (t) по параболической траектории, вычисляемых по формулам:
х = v . t . cos(O), y = v . t . sin(O) - g . t2 / 2,
где v - начальная скорость точки, О - угол ее бросания, g - ускорение свободного падения, равное 9,81 м/с2.
program traekt;
Const g = 9.81;
Var x, y, v, O : real; t : integer;
Begin
read(v, O, t);
x := v * t * cos(O);
y := v * t * sin(O) - g * t * t /2;
writeln('Координата х=',x,' Координата y=',y)
End.
^ 2.2. Условный оператор
Синтаксис условного оператора:
if <условие> then <оператор 1> else <оператор 2>;
Пример: if x <= 0 then y := - a * x else y := b * exp(x);
Условный оператор позволяет использовать проверку истинности условия для выбора между разными возможными способами действия. В нем слова if, then и else являются зарезервированными. Если условное выражение, следующее за if истинно, то выполняется оператор (возможно, составной), следующий за then. Если условное выражение ложно, то выполняется оператор (возможно, составной), следующий за словом else. На месте любого оператора в конструкции if-then-else может стоять другой условный оператор if-then-else.
В языке Турбо Паскаль допускается усеченная форма условного оператора (без части, связанной с зарезервированным словом else). В этом случае оператор, следующий за словом then, выполняется, если это условное выражение истинно и не выполняется, если оно ложно.
Рассмотрим в качестве примера программу вычисления функции y, если она изменяется следующим образом:
x, при x < 2,
y = 2, при 0 x 3,
-x + 5, при x > 3.
program funk;
Var x, y : real;
Begin
read(x);
if x < 2 then y := x else
if x > 3 then y := -x + 5 else
y := 2;
write(y)
End.
^ 2.3. Оператор перехода. Метка
Оператор перехода предписывает выполнить оператор, расположенный в любом месте программы после метки.
Синтаксис оператора перехода:
goto <метка>;
Метка - это "адрес" оператора, которому передается управление. Она представляет собой целое положительное число, содержащее не более 4 цифр (от 1 до 9999), либо символьное имя. Метка записывается перед оператором, отделяясь от него двоеточием. Каждая метка, используемая в программе, должна быть описана в разделе Label, так же, как и все описанные метки должны хотя бы один раз встретиться в тексте.
В результате выполнения оператора goto управление переходит на оператор с меткой, которая указана в операторе goto. Запись оператора, на который передается управление, начинается с метки, за которой следует двоеточие.
^ 2.4. Составной оператор
Составной оператор начинается ключевым словом begin и заканчивается ключевым словом end.
Синтаксис составного оператора:
begin <оператор 1>; ... ; <оператор N> end;
Ключевые слова begin и end в составном операторе являются "операторными скобками", выделяющими группу операторов. Составной оператор можно записывать в любом месте программы, где можно писать оператор.
Пример: if x < 1 then begin y := 1 - x; z := sqr(x) end else begin
y := 1 + x; z := ln(x) end;
^ 2.5. Оператор варианта
Оператор варианта позволяет в процессе выполнения программы выбирать возможные действия в зависимости от значения используемого выражения.
Синтаксис оператора варианта:
case <выражение> of
метка, ... , метка: <оператор 1>;
…………………………………
метка, ... , метка: <оператор N>;
end;
При этом ветвь «else» не является обязательной, а список значений может включать значения и их диапазоны, отделенные запятыми.
Значения в списках должны быть того же перечисляемого типа, что и выражение в операторе. Слова case и end действуют как операторные скобки.
Рассмотрим в качестве примера программу расчета площади пяти фигур s (квадрата со стороной a, прямоугольника со сторонами a и b, ромба с диагоналями d1 и d2, параллелограмма с основанием a и высотой h1, трапеции со сторонами a и b и высотой h2), если исходные данные задаются для одного из вариантов.
program ploshad;
Var a, b, d1, d2, h1, h2, s : real;
n:1..5;
Begin
read(n, a, b, d1, d2, h1, h2);
case n of
1: s := sqr(a);
2: s := a * b;
3: s := d1 * d2;
4: s := a * h1;
5: s := ((a + b) * h2) / 2;
end;
writeln('Площадь фигуры=',s)
End.
^ Контрольные вопросы
Для чего используются процедуры Read и Readln в языке Турбо-Паскаль и в чем их отличие?
Для чего используются процедуры Write и Writeln в языке Турбо-Паскаль и в чем их отличие?
Что значат числа 7 и 3 в записи Write(A:7:3)?
А=31.642, В=75.463, С=-12.598. Напечатан оператор Write('A=',A:4:1,' B=',B,' C=',C:6:1). Что будет выведено на печать?
Что такое комментарий в языке Турбо-Паскаль и где его можно использовать в программе?
Синтаксис оператора присваивания.
Синтаксис условного оператора.
Синтаксис оператора перехода.
Что такое метка?
Для чего используется метка в языке Турбо-Паскаль?
Синтаксис составного оператора.
Синтаксис оператора варианта.
Тема № 3
^ СРЕДА ТУРБО ПАСКАЛЯ
Вопросы: 1. Знакомство со средой Турбо-Паскаля.
2. Текстовый редактор.
3. Основные приемы работы в среде Турбо-Паскаля.
4. Система меню.
1. Знакомство со средой Турбо-Паскаля
(применительно к версии 7.0)
Система Турбо Паскаль довольно значительна по объему. Она поставляется на компакт-дисках и устанавливается на жесткий диск. При развертывании системы на жестком диске обычно создается каталог с именем ТР (или PAS, TURBOPAS, PASCAL и т.п.), в который помещаются все файлы с компакт-диска. Для вызова Турбо Паскаля необходимо отыскать в древовидной структуре каталогов ПК этот каталог и в нем файл TURBO.EXE. Этот файл содержит готовую к работе диалоговую систему программирования Турбо Паскаль. В него входят минимально необходимые части Турбо Паскаля (текстовый редактор, компилятор, компоновщик, загрузчик). Для нормальной работы в диалоговой среде понадобятся также основная библиотека, располагающаяся в файле TURBO.TPL, и справочная служба (файл TURBO.HLP).
Пусть перечисленные файлы располагаются в каталоге ТР на диске D. Тогда для вызова Турбо Паскаля следует дать команду:
D:\TP\TURBO
По этой команде операционная система MS-DOS загрузит программу в оперативную память и передаст ей управление.
После успешного вызова системы экран ПК приобретает вид, показанный на рис. 1.
Сразу же скажем, что для выхода из Турбо Паскаля следует нажать клавишу Alt и, не отпуская ее, - клавишу с латинской буквой X, после чего можно отпустить обе клавиши.
Верхняя строка содержит «меню» возможных режимов работы Турбо Паскаля, нижняя - краткую справку о назначении основных функциональных клавиш. Вся остальная часть экрана принадлежит окну редактора, очерченному двойной рамкой и предназначенному для ввода и коррекции текстов программ. В его верхней строке приводятся имя того дискового файла, откуда был прочитан текст программы (новому файлу присваивается имя NONAME00.PAS), два специальных поля, используемых при работе с устройством ввода «мышь» (эти поля выделены квадратными скобками), и цифра 1 - номер окна. В Турбо Паскале можно работать одновременно с несколькими программами (или частями одной крупной программы), каждая из которых может располагаться в отдельном окне редактора. Среда позволяет использовать до 9-ти окон редактора одновременно.
Кроме окна (окон) редактора в Турбо Паскале используются также окна отладочного режима, вывода результатов работы программы, справочной службы, стека, регистров. По желанию они могут вызываться на экран поочередно или присутствовать на нем одновременно.
Функциональные клавиши используются для управления средой Турбо Паскаля. Они обозначаются F1, F2, ..., F12 и располагаются в самом верхнем ряду клавиатуры. С каждой из этих клавиш связывается некоторая команда меню. Действие почти всех функциональных клавиш можно модифицировать тремя клавишами: Alt, Ctrl и Shift. Эти клавиши используются так: нужно нажать на одну из них и затем, не отпуская ее, нажать функциональную клавишу. В дальнейшем такое совместное нажатие двух клавиш будем обозначать плюсом. Например, Alt+F3 означает, что вместе с клавишей Alt необходимо нажать клавишу F3, Ctrl+F9 - вместе с Ctrl нажимается F9 и т.д.
Ниже приводятся команды, которые передаются среде Турбо Паскаля функциональными клавишами и некоторыми их комбинациями с клавишами Ctrl и Alt:
F1 - обратиться за справкой к встроенной справочной службе (Help-помощь);
F2 - записать редактируемый текст в дисковый файл;
F3 - прочитать текст из дискового файла в окно редактора;
F4 - используется в отладочном режиме: начать или продолжить исполнение программы и остановиться перед исполнением той ее строки, на которой стоит курсор;
F5 - распахнуть активное окно на весь экран;
F6 - сделать активным следующее окно;
F7 - используется в отладочном режиме: выполнить следующую строку программы; если в строке есть обращение к процедуре (функции), войти в эту процедуру и остановиться перед исполнением первого ее оператора;
F8- используется в отладочном режиме: выполнить следующую строку программы; если в строке есть обращение к процедуре (функции), исполнить ее и не прослеживать ее работу;
F9 - компилировать программу, но не выполнять ее;
F10 - перейти к диалоговому выбору режима работы с помощью главного меню;
Ctrl+F9 - выполнить прогон программы: компилировать программу, находящуюся в редакторе, загрузить ее в оперативную память и выполнить, после чего вернуться в среду Турбо Паскаля.
Alt+F5 - сменить окно редактора на окно вывода результатов работы (прогона) программы.
Прежде всего, Вам понадобятся команды, вызываемые комбинацией клавиш Ctrl+F9 для проверки работы Вашей программы и Alt+X - для выхода из Турбо Паскаля. Клавиши F2 и F3 помогут Вам в работе с Вашим каталогом. Комбинацией клавиш Alt+F5 Вы в любой момент сможете просмотреть данные, выданные на экран в результате прогона программы.
Неотъемлемой составной частью среды Турбо Паскаля является встроенная справочная служба. Если Вы достаточно хорошо владеете английским языком, у Вас не будет проблем при работе с Турбо Паскалем: в затруднительной ситуации достаточно нажать F1 и на экране появится необходимая справка. Эта справка зависит от текущего состояния среды, поэтому справочную службу называют контекстно-зависимой. Например, если нажать F1 в момент, когда среда обнаружила ошибку в программе, в справке будут сообщены дополнительные сведения о причинах ошибки и даны рекомендации по ее устранению.
Существуют четыре способа обращения к справочной службе непосредственно из окна редактора:
F1 - получение контекстно-зависимой справки;
Shift+F1 - выбор справки из списка доступных справочных сообщений;
Ctrl+F1 - получение справки о нужной стандартной процедуре, функции, константе или переменной;
Alt+F1 - получение предыдущей справки.
По команде, вызываемой комбинацией клавиш Shift+F1, на экране появится окно, содержащее упорядоченный по алфавиту список стандартных процедур, функций, типов, констант и переменных, для которых можно получить справочную информацию.
Эту же справку можно получить и по-другому. Напечатайте на экране имя процедуры (функции, типа и т.д.) или подведите курсор к имеющемуся в тексте стандартному имени и нажмите Ctrl+F
еще рефераты
Еще работы по разное
Реферат по разное
Учебно-методическая карта курса по выбору
17 Сентября 2013
Реферат по разное
Директор Інституту філології та масових комунікацій Університету «Україна»
17 Сентября 2013
Реферат по разное
Двумерные массивы
17 Сентября 2013
Реферат по разное
1 Министерство культуры и массовых коммуникаций Российской Федерации
17 Сентября 2013