ФГБОУ ВО «Воронежский государственный технический университет»
Кафедра информатики и графики
48-2018
ПАСКАЛЬ: ТИПЫ ДАННЫХ, ОПЕРАТОРЫ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
для самостоятельной работы по дисциплине «Информатика» для студентов 2-го курса всех направлений подготовки
Воронеж 2018
УДК 004.9.(07) ББК 32,81я7
Составители:
канд. физ.-мат. наук А.Д. Кононов, канд. техн. наук А.А. Кононов
Паскаль: типы данных, операторы: методические указания для самостоятельной работы по дисциплине «Информатика» для студентов 2-го курса всех направлений подготовки / сост.: А.Д. Кононов, А.А. Кононов. – Воронеж: ВГТУ, 2018. – 44 с.
Методические указания являются продолжением учебного пособия «Основы программирования на языке Паскаль. Основные понятия алгоритмического языка Паскаль» и ставят целью углубление и практическое закрепление навыков составления программ на этом популярном языке. Методические указания снабжены большим количеством примеров и контрольных заданий для аудиторной и самостоятельной работы.
Методические указания предназначены для студентов 2-го курса всех направлений подготовки.
Ил. 15. Табл. 2. Библиогр.: 7 назв.
УДК 004.9.(07) ББК 32,81я7
Рецензент канд. техн. наук, доц. Д.В.Сысоев
Печатается по решению учебно-методического совета ВГТУ
© ФГБОУ ВО «Воронежский государственный технический университет», 2018
ВВЕДЕНИЕ
На начальном этапе обучения студенты познакомились с важнейшими базовыми разделами дисциплины «Информатика» - алгоритмизацией и основными понятиями программирования на примере конкретного алгоритмического языка Паскаль. В данной работе, кроме краткого экскурса в основы программирования, внимание акцентируется на освоении и использовании структурированных типов данных, операторов, рассмотрении некоторых типовых приемов программирования, в том числе и вычислении сумм бесконечных рядов с помощью итерационных циклов.
Издание содержит авторские иллюстрации.
1. СТАНДАРТНЫЕ ТИПЫ ДАННЫХ
1.1. Структура программы
Программа на языке Паскаль состоит из заголовка и собственно программы, называемой блоком. Блок состоит из разделов. Классическое расположение разделов следующее:
1)раздел меток;
2)раздел констант;
3)раздел типов;
4)раздел переменных;
5)раздел процедур и функций;
6)раздел операторов.
Раздел операторов заключается в операторные скобки BEGIN … END. Остальные перечисленные разделы носят декларативный (описательный) характер. Любой раздел, кроме последнего, может отсутствовать. Разделителями между разделами и операторами служит точка с запятой (;). В конце раздела операторов должна стоять точка (.). Для компилятора это признак физического завершения программы.
В любое место программы, где по смыслу мог бы присутствовать пробел, могут быть включены комментарии, не влияющие на фактическое исполнение программы. Комментарии заключаются в фигурные скобки { . . .} или пары символов (* . . . *).
1.2. Описание стандартных типов данных
Программа оперирует некоторыми объектами, называемыми данными. Каждый элемент данных в программе является либо кон-
стантой, либо переменной.
Значения констант не могут изменяться во время выполнения программы. Описываются в разделе описания констант после служебного слова CONST. Типы констант не указываются, а определяются в соответствии с используемыми значениями.
Для каждой переменной напротив в разделе описания переменных после служебного слова VAR задается некоторый тип, определяющий возможные значения переменной и операции, которые могут над ней выполнятся.
Целый тип обеспечивает использование целых чисел. В конкретной вычислительной машине существуют ограничения на диапазон целых чисел от - MAXINT до MAXINT. Над переменными целого типа определены следующие арифметические операции: + (сложение), - (вычитание), * (умножение), / (деление), DIV (деление целых чисел), MOD (вычисление остатка от целочисленного деления). Результат всех этих операций целого типа (кроме /, где результат вещественный). Определены также операции отношения = , <> , < , > , <= , >= . Их результат – логический (булевского типа). С аргументами целого типа могут использоваться следующие стандартные функции: SIN(X), COS(X), LN(X), ARCTAN(X), EXP(X), SQRT(X), дающие ре-
зультат вещественного типа, а также SQR(X) и ABS(X), которые в данном случае возвращают результат целого типа (совпадает с типом аргумента).
Определены также функции:
ORD(X) – результат TRUE (истина) для нечетного аргумента и FALSE (ложь) для четного аргумента;
SUCC(X) – вырабатывает следующее целое число, то есть число, на единицу большее, чем Х;
PRED(X) – вырабатывает предыдущее целое число, то есть число, на единицу меньшее, чем Х.
Вещественный тип употребляется в том же смысле, что и вещественные числа в математике. Могут быть представлены в естественной (с фиксированной десятичной точкой) и нормальной (экспоненциальной, с плавающей десятичной точкой) формах.
Над переменными вещественного типа определены следующие арифметические операции: + , - , * , / , а также операции отношения.
С аргументами вещественного типа могут использоваться все вышеперечисленные стандартные функции; все они вырабатывают результат вещественного типа.
2
Определены также стандартные функции преобразования значения вещественного типа в значение целого типа:
TRUNC(X) – вырабатывает целый результат путем отбрасывания дробной части аргумента;
ROUND(X) – вырабатывает целый результат путем округления до ближайшего целого, например,
для x=21.53 |
trunc(x) = 21; |
round(x) = 22; |
для x= -2.7 |
trunc(x) = -2; |
round(x) = -3. |
Символьный тип. Значениями символьного типа является набор элементов – знаков. Символ, заключенный в апострофы, обозначает константу символьного типа, например, ‘x’, ‘5’, ‘ = ‘.
Существуют две стандартные, обратные по отношению друг к другу функции, называемые функциями преобразования:
ORD(S) – дает порядковый номер символа S в упорядоченном множестве символов (Американский стандартный код для обмена
информацией ASCII), например, |
ord(‘:’) = 58; |
ord( ‘5’) = 53. |
CHR(I) – дает символ, стоящий под номером I в упорядоченном |
||
множестве символов, например, |
chr(66) = ‘B’; |
chr(57) = ‘9’. Очевид- |
но, что chr(ord(s)) = s ord(chr(i)) = i.
Над переменными символьного типа определены операции отношения. Пусть с1, с2 - переменные символьного типа. Отношение с1<c2 истинно тогда и только тогда, когда ord(c1)< ord(c2).
К аргументам символьного типа применимы также стандартные функции PRED(S) и SUCC(S). Функции PRED(S) дает предыдущий символ, а функция SUCC(S) – следующий, например, PRED(‘B’) =’A’; SUCC(‘9’) = ‘ : ’. Справедливы также равенства:
PRED(S) = CHR( ORD(S) – 1) и SUCC(S) = CHR(ORD(S) + 1).
Логический тип. Переменные логического (булевского) типа могут принимать одно из двух возможных значений – TRUE (истина) или FALSE (ложь). В достаточном для практики рассмотрении над ними определены три логические операции: NOT (отрицание), AND (конъюнкция), OR (дизъюнкция). Булевский тип определен так, что FALSE < TRUE, то есть операции отношения применимы и к переменным логического типа.
Значения TRUE и FALSE можно теперь рассматривать как упорядоченное множество, состоящее из двух элементов. При этом определены следующие значения соответствующих стандартных функций:
ORD(FALSE) = 0; |
ORD(TRUE) = 1; |
SUCC(FALSE) = TRUE; |
PRED(TRUE) =FALSE. |
3
| 05_Холера |
| 10.4. Исследование регистров |
| 1112 |
| 12 |
| 1285 |
| 1560 |
| 1568 |
| 1604248853606027 |
| 1673 |
| 17 |