- •1. Этапы решения задач на эвм
- •2. Алгоритм. Основные типы алгоритмов. Блок-схемы алгоритмов, гост
- •3. Циклические алгоритмы
- •Алгоритмы ветвления
- •5. Итерационный цикл (алгоритм)
- •6. Сложные (вложенные) алгоритмы
- •7. Алгоритм обработки одномерных массивов
- •Алгоритм обработки двумерных массивов
- •9. Интеллектуальная оболочка языка Паскаль
- •10. Общая характеристика главного меню языка Паскаль
- •11. Способы выбора главного меню языка Паскаль
- •12. Изменение размеров окна языка Паскаль
- •13. Окна диалога в языке Паскаль
- •14. Работа с блоками программы на языке Паскаль
- •15. Алфавит языка Паскаль.
- •16. Типы данных в языке Паскаль(общая характеристика)
- •17. Структурированные типы данных
- •Алгоритм нахождения минимального элемента по каждой строке
- •19. Принципы обработки квадратных матриц с использованием понятия главной и побочной диагонали
- •20. Идентификация в языке Паскаль
- •21. Перечисляемый тип данных
- •22. Стандартные типы данных
- •Порядковые типы данных
- •23. Символьный тип данных
- •24. Массивы
- •25. Операторы Паскаля. Классификация
- •26. Константы и правила их записи
- •27. Переменные. Определение и запись
- •28. Множества
- •29. Целый и вещественный тип данных Целые типы
- •Вещественные типы
- •Целые типы
- •30. Записи. Описание типа
- •31. Файлы. Описание типа
- •32. Литерный (символьный) тип данных
- •33. Логический тип данных
- •34. Арифметические выражения и операции
- •35. Логические выражения и операции
- •36. Структура программы на языке Паскаль
- •37. Оператор присваивания
- •38. Процедуры и функции (пользовательские)
- •39. Составной оператор
- •40. Условный оператор if и саsе. Разветвляющиеся алгоритмы
- •41. Оператор ввода
- •42. Оператор вывода
- •43. Оператор цикла. Общая классификация
- •44. Оператор цикла for
- •45. Оператор цикла write
- •46. Оператор цикла repeat
- •47. Процедуры. Рекурсия
- •48. Встроенные (стандартные) процедуры и функции
- •49. Строки и строковые функции
- •50. Примеры описания данных строкового типа
- •51. Множества. Операции с множествами
- •53. Записи. Поля записи. Переменная доступа к полям записи. Оператор присоединения
- •54. Файлы. Типы файлов
- •1. Этапы решения задач на эвм
- •2. Алгоритм. Основные типы алгоритмов. Блок-схемы алгоритмов, гост
21. Перечисляемый тип данных
Перечисленный тип.
Перечисленный (также применяется термин перечислимый) тип задаётся перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками, например:
type
Colors = (red, white, blue);
Применение перечисленных типов данных делает программы нагляднее. Если, например, в программе используются данные, связанные с месяцами года, то такой фрагмент программы:
Type ТипМесяц = (янв, фев, мар …);
Var Месяц : ТипМесяц;
Begin
.......
if месяц = авг then writeln(‘Хорошо бы поехать к морю!’);
.......
end.
был бы, согласитесь, очень наглядным. Увы! В турбо Паскале нельзя использовать кириллицу в идентификаторах…
Соответствие между значениями перечисленного типа и порядковыми номерами этих значений устанавливается порядком перечисления: первое значение в списке получает порядковый номер 0, второе – 1 и т.д. Максимальная мощность перечисленного типа составляет 65 536 значений, поэтому фактически перечисленный тип задаёт некоторое подмножество целого типа WORD и может рассматриваться как компактное объявление сразу группы целочисленных констант со значениями 0, 1 и т.д.
Благодаря перечисленным типам повышается надёжность программ за счёт возможности контроля тех значений, которые получают соответствующие переменные.
Как уже упоминалось ранее, между значением перечисленного типа и множеством целых чисел существует однозначное соответствие, задаваемое функцией ORD(X). В Турбо Паскале допускается и обратное преобразование: любое выражение типа WORD можно преобразовать в значение перечисленного типа, если только значение целочисленного выражения не превышает мощности перечисленного типа. Такое преобразование достигается применением автоматически объявляемой функции с именем перечисленного типа.
Переменные любого перечисленного типа можно объявлять без предварительного описания типа, например:
Var
Col: (black, white, green);
22. Стандартные типы данных
Типы данных языка Pascal можно подразделить на
простые (порядковые и вещественные);
структурированные (массивы, записи, строки, множества, файлы).
Кроме того, можно отметить указатели, процедурные типы и объекты.
Переменные одного из указанных выше типов могут быть описаны в разделе описания следующим образом:
var
a, n : Integer; {переменные a, n − целого типа}
x, y : Real; {переменные x, y − вещественного типа}
logic : Boolean; {переменная logic − логического типа}
symb : Char; {переменная symb − символьного типа}
Порядковые типы данных
Порядковые типы данных имеют конечное число значений, которые можно определенным образом упорядочить, следовательно, с каждым из них можно сопоставить некоторое целое число − порядковый номер значения. К стандартным порядковым типам относят целые, логические, символьный типы данных.
Среди нестандартных различают перечисляемый тип и тип-диапазон.
23. Символьный тип данных
СИМВОЛЬНЫЙ тип (Char) определяет упорядоченную совокупность символов, допустимых в данной ЭВМ. Значение символьной переменной или константы - это один символ из допустимого набора.
Символьная константа может записываться в тексте программы тремя способами:
-как один символ, заключенный в апострофы, например:
'A' 'a' 'Ю' 'ю';
-с помощью конструкции вида #K, где K - код соответствущего символа, при этом значение K должно находиться в пределах 0..255;
-с помощью конструкции вида ^C, где C - код соответствущего управляющего символа, при этом значение C должно быть на 64 больше кода управляющего символа.
К величинам символьного типа применимы все операции отношения.
Для величин символьного типа определены две функции преобразования
Ord(C) Chr(K).
Первая функция определяет порядковый номер символа С в наборе символов, вторая определяет по порядковому номеру К символ, стоящий на К-ом месте в наборе символов. Порядковый номер имеет целый тип.
К аргументам символьного типа применяются функции, которые определяют предыдущий и последующий символы:
Pred(C) Succ(C). Pred('F') = 'E' ; Succ('Y') = 'Z' .
При отсутствии предыдущего или последующего символов значение соответствующих функций не определено.
Для литер из интервала 'a'..'z' применима функция UpCase(C), которая переводит эти литеры в верхний регистр 'A'..'Z'.