Лекции. Основные понятия и определения
Скачать 1.94 Mb.
|
Вопросы для самопроверки и контроляВопросы для самопроверки1. Как разумно размещать инструкции текста программы? 2. Какую роль играют отступы при размещении вложенных инструкций? 3. В чем суть "венгерской" нотации имен? 4. На что, вероятно, указывает предупреждение при трансляции? 5. В чем различие в применении операторов "И" и "ИЛИ" в языках C и Basic? 6. Чем отличается действие оператора деления / в языках C и Basic? Контрольные вопросы1. В каких местах нужно осуществлять перенос инструкции, если она не входит в строку? 2. Перечислите типы комментариев к программе. 3. Почему нежелательно использовать в программе схожие имена? 4. Зачем нужно явно объявлять все объекты программы? 5. Почему следует избегать инструкций перехода? 6. В чем преимущество работы с массивами в языке Basic? 10. ДАННЫЕ. ДОПОЛНЕНИЕМатериал данного раздела содержит информацию о типах и совокупностях данных, специфических для конкретного языка программирования, поэтому ниже рядом с названием раздела в скобках будет указываться принадлежность описываемой конструкции к языку: C++ и B – Basic. 10.1. Перечислимый тип10.1.1. Тип enum (C++)Относится к целым типам данных. Применяется для объявления целых переменных типа int, которые могут принимать только строго определенные значения, число которых можно перечислить в нужном порядке. Сначала объявляется новый тип данных: enum <имя_типа>{<имя_элемента>[=<значение>], [<имя_элемента> [=<значение>]]...}; Пример. enum spectr{RED, ORANGE, YELLOW, GREEN, BLUE, VIOLET}; Затем можно определять переменные этого типа: spectr color1, color2; Ключевое слово enum является сокращением от enumeration – перечисление. Запись из примера эквивалентна введению символических констант вида: #define RED 0 #define ORANGE 1 #define YELLOW 2 #define GREEN 3 #define BLUE 4 #define VIOLET 5 Переменные типа spectr могут принимать только указанные значения. При попытке присваивания им другого значения выдается ошибка. Пример. color1=GREEN; // Допустимо color2=WHITE; // Ошибка! Если при объявлении типа символическим константам из списка не задается значений, то первая из них по умолчанию получает значение 0, последующие на 1 больше. Если какой-либо из констант задается значение, а последующим нет, то они получают следующее по порядку целое значение. Пример. enum RussianCop{one=1, five=5, ten=10, fifty=50}; enum RussianRoub{One=1, Two, Five=5, Ten=10, Fifty=50, Hundred=100, FiveHundred=500, Thousand=1000, FiveThousand=5000}; enum mark{BAD=2, MIDDLE, GOOD, FINE}; Фактически разумными при работе с данными перечислимых типов являются только следующие операторы: присваивание→color1=VIOLET; и сравнение→color1==color2. Заметим, что введение такого типа данных служит прежде всего для большей понятности и удобочитаемости текста программы. 10.1.2. Тип enum (B)Практически аналогичен такому же типу языка C++. Формат объявления типа: Enum <имя_типа> <имя_элемента>[=<значение>] [<имя_элемента>[=<значение>] ] ....................................................... End Enum Пример. Enum spectr Red Orange Yellow Green Blue Violet End Enum Объявление переменных имеет вид: Dim color1, color2 As spectr Правила объявления и использования переменных этого типа полностью совпадают с правилами языка C++. Имеются только 2 отличия: - значения переменных и перечисляемых констант относятся к типу long; - при присвоении переменной значения не из списка констант ошибки не возникает. |