Простые типы данных на языке программирования Turbo Pascal

Разделы: Информатика


Цель: дать основные сведения о переменных, константах, описания типов на языке программирования Turbo Pascal.

Задачи урока:

  • образовательные: формирование знаний и умений учащихся по теме “Простые типы данных на языке программирования Turbo Pascal”: стандартные и пользовательские типы данных, целые, логические, символьные, перечисляемые, интервальные, вещественные.
  • развивающие: развитие приемов умственной деятельности (обобщение, анализ, синтез, сравнение); развитие внимания, восприятия.
  • воспитательные: развивать познавательный интерес к программированию, повышать информационную культуру учащихся.

Тип урока: урок изучения нового материала.

Форма проведения: лекция.

Оборудование: компьютер, проектор.

Программное обеспечение: презентация в Power Point по теме урока “Простые типы данных на языке программирования Turbo Pascal.”

План

1. Проверка домашнего задания.

2. Изучение нового материала. Простые типы данных.

3. Итог урока. Домашнее задание.

Ход урока

1. Проверка домашнего задания.

Предлагается учащимся выполнить тест по теме “Алгоритмы”. Тест выполняется через тестирующую систему MyTestX (см. Приложение 1)

2. Изучение нового материала. Простые типы данных. (См. Презентацию)

В языке Turbo Pascal все данные, используемые программой, должны, принадлежать к какому либо заранее известному типу данных.

Тип данных определяет:

- формат представления данных в памяти ЭВМ;

- множество допустимых значений;

- множество допустимых операций.

Типы данных в языке программирования Turbo Pascal делятся на пять основных классов:

- простые типы;

- структурированные типы;

- ссылочные типы;

- процедурные типы;

- объектные типы.

Сегодня на уроке мы рассмотрим простые типы данных. Простые типы данных делятся на порядковые и вещественные типы данных.

Под порядковым типом понимают тип данных, областью значений которых является упорядоченное счетное множество. Каждому элементу такого множества соответствует некоторое порядковое число, являющееся как раз его номером при перечислении.

В любом порядковом типе для каждого значения, кроме первого, существует предшествующее значение, и для каждого значения, кроме последнего, существует последующее значение. В языке Turbo Pascal существуют стандартные функции, которые позволяют определять соответствующее значения для заданного значения:

  • Функция PRED(x) определяет предыдущее значение величины х,
  • Функция SUCC(x) определяет последующее значение величины х,
  • Функция ORD(x) возвращает порядковый номер величины х.

Целочисленные типы данных.

Тип Диапазон возможных значений Размер памяти
Shortint от -128 до 127 1 байт
Integer 32767 до 32768 2 байта
Longint -2147483648 до 2147483647 4 байта
Byte 0 до 255 1 байт
Word 0 до 65535 2 байта

Значения целых типов могут изображаться в программе двумя способами: в десятичном виде (традиционно, в виде последовательности цифр) и в шестнадцатеричном виде (в этом случае число предваряется знаком “$”, а цифры старше 9 обозначаются латинскими буквами от А до F).Пример:

Var x1, x2:integer;y1:byte;y2:word;

Над данными целого типа определены следующие арифметические операции: сложение “+”, вычитание “-”, умножение “*”, деление “/”, целочисленное деление div, остаток от деления mod. Результат выполнения этих операций над целыми операндами также имеет целый тип.

Также с целыми числами можно производить операции, результаты которых не целые числа. Это обычное деление и операции отношения.

Над данными целого типа определены следующие операции отношения: равно “=”, не равно “<>”, больше “>”, меньше “<”, больше или равно “>=”, меньше или равно “<=”, вырабатывающие результат логического типа (Boolean).

Для целых чисел определены следующие стандартные функции:

– Odd(x) – возвращает результат логического типа: для четного аргумента – false, а для нечетного – true;

– Succ(x) – возвращает следующее целое число (х+1);

– Pred(x) – возвращает предыдущее целое число (х-1);

– Ord(x) – возвращает аргумент x;

– Abs(x) – возвращает модуль х;

– Srq(x) – возвращает квадрат числа х;

– Sqrt(x) – возвращает значение корня числа х;

– Exp(x) – возвращает е в степени х (экспоненту), результат вещественного типа;

– Sin(x) – возвращает синус х, результат вещественного типа;

– Cos(x) – возвращает косинус х, результат вещественного типа;

– Ln(x) – возвращает натуральный логарифм х, результат вещественного типа;

– Dec(x, i) – уменьшает значение х на i, если i не задано, то на 1;

– Inc(x, i) – увеличивает значение х на i, если i не задано, то на 1

Вещественные типы данных.

В Турбо Паскале имеется пять видов вещественных типов, диапазон возможных значений которых зависит от их внутреннего представления.

Тип Диапазон возможных значений Размер памяти
REAL 6 байт
SINGLE 4 байт
DOUBLE 8 байт
EXTENDED 10 байт
COMP 8 байт

Над данными вещественного типа определены следующие операции:

- арифметические: +, -, /, *

- соотношения: =, <>, <, >, <=, >=

  • sin(x) - Возвращает синус, угол в радианах
  • cos(x) - Возвращает синус, угол в радианах
  • arctan(x)  - Возвращает арктангенс
  • abs(x) - Возвращает абсолютную величину
  • sqr(x) - Возвращает квадрат
  • exp(x) - Возвращает экспоненту
  • ln(x) - Возвращает логарифм натуральный
  • trunc(x) - Отбрасывает дробную часть trunc(5.6)=5
  • round(x) - Округляет до ближайшего целого round(5.6)=6
  • frac(x) - Выделяет дробную часть frac(10.1)=0.1
  • int(x) - Выделяет целую часть int(10.1)=10.0
  • random - Датчик случайных чисел (ДСЧ)
  • random(x) - Датчик случайных чисел (ДСЧ)
  • randomize - Инициализация ДСЧ

Логический тип данных и логические выражения.

Переменные логического типа описываются посредством служебного слова Boolean. Они могут принимать только два значения - False (ложь) и True (истина). Описываются они в разделе описания переменных. Var Flag : Boolean;

В языке Турбо Паскаль имеются логические операции, применяемые к переменным логического типа. Это операции not, and, or и хor. В этой теме Вы рассмотрите три логические операции. Обозначения и результаты этих операций приведены в таблице. Рассмотрите ее.

Операция not (НЕ) имеет один операнд и образует его логическое отрицание. Результат операции not есть False, если операнд истинен, и True, если операнд имеет значение ложь. Так, not True False (неправда есть ложь)

not False True (не ложь есть правда)

Результат операции and (И) есть истина, только если оба ее операнда истинны, и ложь во всех других случаях.

Результат операции or (ИЛИ) есть истина, если какой-либо из ее операндов истинен, и ложен только тогда, когда оба операнда ложны.

Перечисляемый тип данных.

Перечисляемый тип представляет собой ограниченную упорядоченную последовательность скалярных констант, составляющих данный тип. Значение каждой константы задается ее именем. Имена отдельных констант отделяются друг от друга запятыми, а вся совокупность констант, составляющих данный перечисляемый тип, заключается в круглые скобки.

Программист объединяет в одну группу в соответствии с каким-либо признаком всю совокупность значений, составляющих перечисляемый тип. Например, перечисляемый тип Rainbow (РАДУГА) объединяет скалярные значения RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET (КРАСНЫЙ, ОРАНЖЕВЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ, ГОЛУБОЙ, СИНИЙ, ФИОЛЕТОВЫЙ). Перечисляемый тип Traffic_Light (СВЕТОФОР) объединяет скалярные значения RED, YELLOW, GREEN (КРАСНЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ).

Перечисляемый тип описывается в разделе описания типов, например:

type Rainbow = (RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET);

Каждое значение является константой своего типа и может принадлежать только одному из перечисляемых типов, заданных в программе. Например, перечисляемый тип Traffic_Light не может быть определен в одной программе с типом Rainbow, так как оба типа содержат одинаковые константы.

Описание переменных, принадлежащих к скалярным типам, которые объявлены в разделе описания типов, производится с помощью имен типов. Например:

type Traffic_Light= (RED, YELLOW, GREEN);

var Section: Traffic_Light;

Это означает, что переменная Section может принимать значения RED, YELLOW или GREEN.

Переменные перечисляемого типа могут быть описаны в разделе описания переменных, например: var Section: (RED, YELLOW, GREEN);

При этом имена типов отсутствуют, а переменные определяются совокупностью значений, составляющих данный перечисляемый тип.

К переменным перечисляемого типа может быть применим оператор присваивания:

Section:= YELLOW;

Упорядоченная последовательность значений, составляющих перечисляемый тип, автоматически нумеруется, начиная с нуля и далее через единицу. Отсюда следует, что к перечисляемым переменным и константам могут быть применены операции отношения и стандартные функции Pred, Succ, Ord.

Символьный тип данных.

Наряду с числовой информацией в Паскале используется алфавитно-цифровая или символьная информация, которая включает в себя заглавные, строчные буквы, цифры от 0 до 9 и вспомогательные символы. Для описания символьных переменных используется тип данных CHAR или STRING.

Тип данных CHAR.

Каждая переменная символьного типа может принимать значение только одного символа. Все символы упорядочены в соответствии с принятым в ЭВМ коде (например ASCII). При этом порядковый номер символов называется кодом (например, код латинского символа 'А ' равен 65; символа '3' равен 51).

Для символьных данных не определены никакие арифметические операции, но они могут сравниваться по своим кодам, участвовать в чтении, печати, операторах присваивания. Существуют две стандартные функции преобразования :

1) ORD (C) принимает значение кода символа С;

2) значение функции CHR(I) является символ с кодом Например:ORD('А ')=65

CHR(ORD(C))=C ; CHR (65) = A ;

Строка - это последовательность символов. Строку можно представить как массив, элементы которого имеют тип CHАR. Например:

BUK: array[1..17] of char;

Массив BUK-массив символов, который содержит 17 символов. Если символов меньше, то строка дополняется пробелами справа. В противном случае возникает ошибка несоответствия типов. Так как массивы символов являются обычными массивами с элементами типа CHAR, они обладают всеми свойствами массивов.

Тип данных STRING .

В Турбо Паскале предусмотрен тип данных STRING. Переменная типа STRING может принимать значения переменной длины. Максимально возможная длина переменной 255 символов. Например: str: STRING[200]; ow: STRING[10];

В скобках указывается максимальная длина для данной переменной. Для ввода значений типа STRING необходимо использовать READLN, а не READ. За один раз может быть введена только одна строка. Две строки можно сравнивать, используя операции отношения (сначала сравниваются самые левые символы, если они равны, то сравниваются следующие). Для работы с переменными типа STRING используют следующие стандартные процедуры и функции:

1) Функция LENGTH

C:=LENGTH(str); Переменной С будет присвоено целое значение, показывающее количествo символов в строковой переменной str .

2) Функция СОNCAТ - сцепление строк в порядке их перечисления.

str:=CONCAT(st1,st2,...,stN);str-переменная типа STRING, состоящая из строк st1,...,stN.

3) Функция POS

P:=POS (st1, st2); Р-целое число, показывающее номер позиции, с которой начина­ется строка st1 в строкe st2.

4) Функция COPY

S1:=COPY( str, I, J); Sl-символьная подстрока, выделенная из строки str с позиции I, длиной J символов.

5) Процедура DELETE(Str, I, J);

Из строки str удаляется J символов, начиная с I позиции.

6) Процедура INSERT(Str1, Str2, I);

Строка Str1 вставляется с I позиции в строку Str2.

7) Процедура STR (V, S1);

Числовое значение переменной V преобразуется в строку символов и записывается в строку S1.

8) Процедура VAL (S1, V, C);

Строковое выражение S1 преобразуется в величину целочисленного или вещественного типа и записывается в переменной V. Если при этом ошибок не обнаруживается, то С будет равно 0 . В противном случае значение С будет равно номеру позиции первого ошибочного символа и V будет неопределено. Строка S1 не должна содержать незначащих пробелов, переменная V может быть целой или вещественной, а переменная С - только целой.

Интервальный (ограниченный) тип данных.

Отрезок (диапазон значений) любого порядкового типа может быть определен как интервальный (ограниченный) тип. Отрезок задается диапазоном от минимального до максимального значения констант, разделенных двумя точками. В качестве констант могут быть использованы константы, принадлежащие к целому, символьному, логическому или перечисляемому типам. Скалярный тип, на котором строится отрезок, называется базовым типом. Примеры отрезков:1..10, -15..25 ,'a'..'z'

Минимальное и максимальное значения констант называются нижней и верхней границами отрезка, определяющего интервальный тип. Нижняя граница должна быть меньше верхней.

Над переменными, относящимися к интервальному типу, могут выполняться все операции и применяться все стандартные функции, которые допустимы для соответствующего базового типа.

Константы.

Иногда, бывает так, что у нас в программе встречаются величины, которые не меняются в процессе выполнения программы (т.е. фактически они противоположность переменных). Такие величины называются константами. Константы указываются в специальном разделе, который называется Const.

В качестве констант в языке программирования Pascal могут использоваться:

Целые числа. Они записываются со знаком или без знака и могут иметь значение от – 2 147 483 648 до + 2 147 483 647

Вещественные числа записываются со знаком или без знака с использованием десятичной точки или экспоненциальной части, которая начинается с символа “e”, за которым следует десятичный порядок. Например, запись 3.14e5 означает 3,14*105. А запись – 3.14e-4 означает – 3,14*10-4.

3. Итог урока.

Домашнее задание. Подготовить ответы на вопросы:

1.Чем характеризуется переменная?

2. Перечислите типы данных?

3.Как описывается переменная?

4. Какова структура программы?

5.С чего начинается программа?

6.Чем заканчивается программа?