- •Тема 1. Технология программирования. Основные понятия и подходы
- •1.1 Технология программирования и основные этапы ее развития
- •1.1 Проблемы разработки сложных программных систем (пс)
- •1.2 Блочно-иерархический подход к созданию сложных систем (сс)
- •1.4 Жизненный цикл и этапы разработки программного обеспечения
- •1.5 Оценка качества процессов создания программного обеспечения
- •Тема 2. Основы теории программирования
- •2.1 Понятие технологичности программного обеспечения
- •Диалоговые программы
- •2.2 Модули и их свойства
- •2.3 Основные понятия программирования. Средства описания структурных алгоритмов
- •Описание алгоритма с помощью естественного языка
- •Описание алгоритма с помощью блок-схемы
- •Описание алгоритма с помощью алгоритмических языков
- •2.4 Стиль оформления программы
- •Тема 3. Программирование на языке высокого уровня Pascal
- •3.1 Введение
- •3.2 Основные понятия языка Pascal
- •3.3 Операторы ввода-вывода данных
- •Простые типы данных
- •Структурированные типы данных
- •Работа с текстовыми файлами
- •Другие типы данных
- •3.5 Выражения, операнды, операции
- •Порядок вычисления выражений
- •3.5 Выражения, операнды, операции
- •Порядок вычисления выражений
- •3.6 Операторы языка Простые операторы
- •Структурные операторы
- •Работа с массивами
- •3.6 Подпрограммы
- •Процедуры
- •Функции
- •Рекурсивные подпрограммы
- •Параметры и аргументы
- •Стандартные процедуры и функции
- •3.7 Списки: основные виды и способы реализации
- •Вопросы для экзамена по курсу «Технология программирования»
- •1. Технология программирования и основные этапы ее развития
- •Задания для студентов заочной формы обучения по курсу «Технология программирования (ТеПр)»
- •Вопросы для экзамена по курсу «Технология программирования»
- •1. Технология программирования и основные этапы ее развития
Простые типы данных
Данные простых типов не содержат данных других типов. Переменные этих типов могут в каждый момент времени иметь только одно значение. К простым типам данных относятся:
Целочисленные;
Символьные (литерные);
Логические (булевские);
Вещественные.
Все типы, кроме вещественного, являются порядковыми, т.е. значения переменных каждого из этих типов образуют упорядоченную конечную последовательность. Номера соседних значений в ней отличаются на единицу. Для данных порядковых типов определены стандартные функции (Low, High, Ord, Pred, Succ) и стандартные процедуры (Dec, Inc).
Для порядковых типов программист может создавать перечисляемые и интервальные типы. Эти типы относятся к пользовательским. Их применение улучшает внешний вид программы и облегчает поиск ошибок.
Некоторые простые типы данных делятся на физические (фундаментальные) и общие. Физические типызакладываются при разработке языка и не зависят от работы конкретного компьютера. Общие типы соответствуют одному из конкретных физических типов, их использование считается предпочтительным, так как при этом компилятор создает более эффективный код.
Символьные типы: значениями символьного типа являются элементы из набора символов, т.е. буквы. К символьным типам относятся: Char, AnsiChar, WideChar. Для кодирования символов типа AnsiChar используется код Американского национального института стандартов ANSI. Для кодирования символов типа WideChar используется международный набор символов Unicode, включающий более 60 тыс. элементов им позволяющий кодировать символы национальных алфавитов. Первые 256 символов Unicode совпадают с кодом ANSI. Тип Char эквивалентен типуAnsiChar .
Для символов определены следующие функции: Chr(x):Char – возвращает символ с кодом, равным значению целочисленного выражения x; UpCase (С): Char – преобразует символ C в символ C верхнего регистра (заглавный). В программах значения данных символьного типа заключают в апострофы ‘ ‘.
Логические типы : Boolean, ByteBool, WordBool, LongBool. В программах рекомендуется использовать тип Boolean, остальные логические типы введены для совместимости с другими системами программирования. Данные этого типа могут принимать два возможных значения True (Истина) и False (Ложь).
Перечисляемые типы : задаются непосредственно перечислением всех значений (имен), которые может принимать переменная данного типа. Формат описания перечисляемого типа:
Type <имя типа> = (<значение_1>, <значение_2>, ... , <значение_ n >);
Пример : type Gas=(C, O, N); Day=(Mon, Tue, Wed, Thur, Fri, Sat, Sun);
var G1, G2: Gas; Period: Day; Season: (Winter, Spring, Summer, Autumn);
Достоинством перечисляемых типов является то, что они облегчают контроль значений переменных, т.к. переменной нельзя присвоить предварительно не перечисленное значение. Определенным недостатком их является то, что при вводе и выводе значений перечисляемых типов нельзя указывать имена соответствующих переменных в процедурах ввода-вывода.
Итервальные типы: описываются заданием двух констант, определяющих границы (диапазон) допустимых для данных типов значений, т.е. интервал значений. Интервал можно задать только для данных порядкового типа, т.е. для любого простого типа, кроме вещественного. Формат описания интервального типа:
Type <имя типа> = <константа_1> . . <константа_2>);
Пример: type Day 1_31 = 1 . . 31;
. . .
var day1, day2: Day1_31;
Вещественные типы: Real48, Single, Double, Extended, Comp, Currency .
Общим является тип Real, который соотвествует типу Double.
Данные этих типов занимают от 4 до 10 байтов. Запись вещественных чисел возможна в форме с фиксированной десятичной точкой и в форме с плавающей точкой.
Примеры: +12.5, -137.46, 5 e +3 (~5 ? 10 3 = 5000)
К выражениям вещественных типов применимы функции Round(x) – округленное значение выражения x и Trunc(x) – целая часть значения выражения x .
