Конспект урока на тему: «Типы данных»

Урок №2

Цель урока: сформировать у учащихся целостного представления о типах данных языка Паскаль

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

Образовательные: формирование знаний и умений учащихся по теме «Типы данных языка Паскаль»;

Развивающие: развитие приемов умственной деятельности: обобщение, анализ, синтез, сравнение; развитие внимания, восприятия.

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

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

 

План урока:

1) Организационный момент (1 минута).

2) Изложение нового материала (17 минут).

3) Закрепление нового материала (20 минут).

4) Подведение итогов урока (6 минут).

5) Домашнее задание (1 минута).

 

Ход урока.

1) Организационный момент.

Сегодня на уроке мы познакомимся с понятием типы данных. Но перед тем как приступить к изучению нового материла, рассмотрим одну задачу.

 

2) Изложение нового материала.

В классе 12 человек изучают английский язык, 14 че­ловек изучают французский язык. Какой процент учащихся изучает английский язык?

Ответьте на вопрос: Какие данные есть в этой задаче?

(Предполагаемый ответ: В этой задаче исходные данные: английский, фран­цузский — слова и 14 человек, 12 человек — числа).

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

Теперь рассмотрим только данные, которые являются чис­лом, и заполним таблицу. (Здесь приведена уже заполненная таблица.)

Что обозначает число Пример значения Тип числа Обозначение в ТП
Число школьников в классе Целое Integer
Число дней в неделе Целое Integer
Длина отрезка 12,5 Десятичная дробь Real
Длина окружности радиуса 1см 6,28 Десятичная дробь Real

В результате обсуждения происходит заполнение таблицы.

Мы пришли к следующему выводу: данные, являющиеся числом, могут быть целыми или дробными (десятичными дробями). Говорят, что данные имеют тип, а именно: целые данные имеют целый тип, данные, являющиеся десятичными дробями, имеют вещественный тип. Вы­вод запишите в тетрадь.

С точки зрения программиста данные — это часть программы, совокупность значений определённых ячеек памяти, преобразование которых осуществляет код. С точки зрения компилятора, процессора, операционной системы, это совокупность ячеек памяти, обладающих определёнными свойствами (возможность чтения и записи (необяз.), невозможность исполнения).

Для описания множества допустимых значений величины и совокупности операций, в которых может участвовать данная величина, используется указание ее типа данных. Тип данных (data type) – множество величин, объединенных определенной совокупностью допустимых операций.

Каждый тип имеет свой диапазон значений и специальное зарезервированное слово для описания.

Все типы данных можно разделить на две группы: скалярные и структурированные (составные). Скалярные типы, в свою очередь, делятся на стандартные и пользовательские.

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

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

Зарисуйте таблицу в тетрадях.

Простые (скалярные) типы данных

К скалярным (scalar - простые) типам данных относят типы данных таких величин, значения которых не содержат составных частей.

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

 

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

Тип Диапазон Требуемая память (байт)
byte 0..255
shortint -128..127
integer -32768..32767
word 0..65535
longint -2147483648..2147483647

 

Целочисленные типы данных представляют собой значения, которые могут использоваться в арифметических выражениях и занимать в памяти от 1 до 4 байт.

 

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

Тип Диапазон Мантисса Требуемая память (байт)
real 2.9*10E – 39..1.7*10E38 11-12
single 1.5*10E – 45..3.4*10E38 7-8
double 5.0*10E – 324..1.7*10E308 15-16
extended 1.9*10E – 4951..1.1*10E4932 19-20
comp -2E+63+1..2E+63-1 10-20

 

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

Все вещественные типы, кроме real, могут использоваться в программе, если в компьютере имеется математический сопроцессор Intel 8087/80287 или программно эмулируются (эмуляция – имитация функционирования математического сопроцессора в его отсутствие программными средствами) аппаратные операции с вещественными типами.

Вещественные значения могут изображаться в форме с фиксированной точкой, например 7.32, 456.721 или 0.015, а также в форме с плавающей точкой, т.е. парой чисел вида <мантисса>Е<порядок> (7.32Е+00, 4.56721Е+02, 1.5Е-02).

Литерный (символьный) тип.

Литерный (символьный) тип char определяется множеством значений кодовой таблицы ПЭВМ.

Каждому символу приписывается целое число в диапазоне от 0 до 255. Для размещения в памяти переменной литерного типа требуется один байт.

Булевский тип

Булевским типом называют тип данных, представляемый двумя значениями true (истина) и false (ложь). Он широко применяется в логических выражениях и выражениях отношения. Для размещения в памяти переменной булевского типа требуется 1 байт.

Пользовательские типы

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

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

Интервальный тип (диапазон)

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

Обе константы должны принадлежать одному из стандартных типов (тип real недопустим). Значение первой константы должно быть значительно меньше значения второй.

return false">ссылка скрыта

Например: 1..12 (номер месяца может принимать значения от 1 до 12) или ‘а’..’я’ (буквы русского алфавита – от а до я)

Перечисляемый тип

Перечисляемый тип (enumerated type) – тип данных, заданных списком принадлежащих ему значений.

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

Перечисляемый тип ограничен больше чем интервальный, он задается перечислением своих значений.

Например, в виде строковых констант: color=(red, blue, green, black). В приведенном примере создается новый (нестандартный) тип данных color. Переменные этого типа могут принимать всего 4 значения: red, blue, green, black. Такая возможность создания новых пользовательских типов данных имеется в языке Turbo Pascal.

Структурированные типы данных

Структурированные типы данных определяют упорядоченную совокупность скалярных переменных и характеризуются типом своих компонентов.

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

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

- регулярный тип (массивы);

- комбинированный тип (записи);

- файловый тип (файлы);

- множественный тип (множества);

- строковый тип (строки);

- в языке Турбо Паскаль версии 6.0 и старше введен объектный тип (объекты).

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

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

Строки

Строка (string) – это последовательность символов кодовой таблицы персонального компьютера. Количество символов в строке может изменяться от 0 до 255.

Массивы

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

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

Множества

Множество (set) – это структурированный тип данных, представляющий собой набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которые можно рассматривать как единое целое. Каждый объект в множестве называется элементом множества. Все элементы множества должны принадлежать одному из скалярных типов, кроме вещественного.

Записи

Иногда для решения задач, в которых возникает необходимость хранить и обрабатывать совокупность данных различного типа, используются отдельные массивы для каждого типа данных, а для установления соответствия между ними вводятся соответствующие индексы. Для записи комбинации объектов разных типов в Паскале применяется комбинированный тип данных – запись (record). Например, товар на складе описывается следующими величинами: наименование, количество, цена, наличие сертификата качества и т.д. В этом примере наименование – величина типа string, количество – integer, цена – real, наличие сертификата – boolean.

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

Файлы

Большие совокупности данных удобно иметь записанными во внешней памяти в виде последовательности сигналов. В Паскале для этих целей предусмотрены специальные объекты – файлы (file). Файлом называется совокупность данных, записанная во внешней памяти под определенным именем.

 

3) Закрепление нового материала

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

Задача 1.

Треугольник задан координатами вершин

Найти:

1. Периметр треугольника

2. Площадь треугольника

Математическая модель

Алгоритм в виде диаграммы действий

 

Текст программы

program prg1;

var

a,b,c,x1,x2,x3,y1,y2,y3,p,s:real;

begin

writeln('Введите координаты вершин треугольника');

write('x1=');

readln(x1);

write('y1=');

readln(y1);

write('x2=');

readln(x2);

write('y2=');

readln(y2);

write('x3=');

readln(x3);

write('y3=');

readln(y3);

a:=sqrt(sqr(x2-x1)+sqr(y2-y1));

b:=sqrt(sqr(x3-x2)+sqr(y3-y2));

c:=sqrt(sqr(x3-x1)+sqr(y3-y1));

if(a<>0)and(b<>0)and(c<>0)

then

begin

p:=a+b+c;

s:=sqrt((p/2)*(p/2-a)*(p/2-b)*(p/2-c));

writeln('P=',p: 0 :2);

writeln('S=',s:0:2);

end

else

writeln('Треугольник существует');

readln;

end.

Теория к программе

Структура программы:

Заголовок

program <имя> [(<параметры>)];

<параметры> - внешние файлы, которые использует программа.

Раздел описания переменных

Переменная - величина, к которой обращаются с помощью ее идентификатора и которая может изменять свое значение во время работы программы. На переменную можно ссылаться, ее можно определять,(предоставлять ей значение).

VAR <список идентификаторов1>:<тип1>/<идентификатор типа1>;

[<список идентификаторов2>:<тип2>;...]

<список идентификаторов1> - перечень идентификаторов через запятую, что имеют общий определенный тип.

Понятие типа

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

SHORTINT - короткое целое

INTEGER - целое

LONGINT - длинное целое

BYTE - длиной в байт

WORD - длиной в слово

Часть выполнения

Часть выполнения помещается в "операторных скобках", то есть

begіn ... end.

Арифметические операции над данными

+ - добавление

- - вычитание

* - умножение

/ - деление

SQR(x):real/іnteger - x2

SQRT(x:real):real - √x

Процедуры ввода данных (из клавиатуры)

READ (X1, ... ,Xn);

READLN (X1, ... ,Xn);

где X1 .. Xn - список переменных допустимых типов. Вводить можно данные только перечисленных типов:

целые

действительные

символьные

строчные

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

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

Процедуры вывода данных (на экран)

WRITE (Y1, ... ,Yn);

WRITELN (Y1, ... ,Yn);

где Y1 .. Yn - список вывода. Элементом списка могут быть:

- переменные;

- константы;

- выражения;

Тип элемента вывода может быть:

Целым

Действительным

Символьным

Строчным

Булевым (логическим)

Процедура wrіteln отличается от wrіte тем, что после вывода значений элементов списка выполняется переход на новую строку.

 

Ответьте на следующие вопросы:

Можно ли координатам точек вершин треугольника задать тип integer? Почему? Можно ли ввести координаты вершин треугольника иначе?

 

4) Подведение итогов урока

На этом уроке вы узнали о типах данных языка Паскаль. Давайте еще раз посмотрим схему, отображающую типы данных. И обобщим услышанное во время лекции.

Ответьте, пожалуйста, на вопросы:

1) Что такое данные? (данные — это часть программы, совокупность значений определённых ячеек памяти, преобразование которых осуществляет код).

2) Какие данные различают в языке Паскаль? (Ответ: переменные и константы).

3) На какие две основные группы можно разделить эти данные? (Ответ: простые (скалярные) и структурированные).

4) Посмотрите на схему и назовите основные типы скалярного типа данных. (Ответ: литерные, вещественные, целые, логические, пользовательские).

5) Почему важно правильно определить тип данных при составлении программы? Приведите свой пример. (Ответ: для того чтобы программа занимала меньший объем памяти и не было сбоев в программе).

6) Почему рекомендуется указывать назначение данных, используемых в программе? (Ответ: во-первых, это считается хорошим тоном программирования, во-вторых, облегчает чтение программы и отслеживание ее работы).

 

5) Домашнее задание

Выучить записи в тетрадях и придумать одну задачу с применением различных типов данных.