Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Ограниченный тип (диапазон)





Задача: Поезд отправляется в путь в 22 часа и находится в пути 10 часов. Во сколько он прибывает на место назначения?

 

Ошибочная программа:

VAR Otpravlenie, Pribitie:Byte;

BEGIN

Otpravlenie:=22;

Pribitie:=Otpravlenie+10;

WriteLn(Pribitie)

END.

Эта программа вместо ответа “8” напечатает ответ “32” и ошибки не заметит. Паскаль не знает, что имеют смысл только те значения переменной Pribitie, которые находятся в диапазоне от 0 до 24. Это должен был знать программист, но он тоже не обратил на это внимания. Хотелось бы, чтобы Паскаль вместо выдачи неправильного ответа напоминал забывчивым программистам, что переменная вышла из имеющего смысл диапазона. Для этого программист должен иметь возможность этот диапазон Паскалю указать. Такую возможность дает применение диапазонов(ограниченных типов).

Вот программа, обнаруживающая собственную ошибку:

VAR Otpravlenie, Pribitie: 0..24;

BEGIN

Otpravlenie:=22;

Pribitie:=Otpravlenie+10;

WriteLn(Pribitie)

END.

Конструкция VAR Otpravlenie, Pribitie: 0..24 означает, что переменные Otpravlenie и Pribitie имеют право принимать значения целых чисел в диапазоне от 0 до 24.

Паскаль будет обнаруживать выход за диапазон только в том случае, когда вы установите флажок (крестик) в Options ®Compiler…®Compiler Options®Runtime Errors в положение Range Checking (см. часть IV – «Обзор популярных команд меню»).

Диапазон можно задавать для любого порядкового типа, например:

VAR Month:(january, february, march, april, may, june, july, august, september, october, november, december);

Spring:march..may;

Autumn:september..november;

tsifra:0..9;

Zaglavnie:’А’..’Я’

Диапазон является одним из видов порядковых типов.

Задание 108: Известны дата и время (месяц, день, час, минута) отплытия теплохода летом этого года из Москвы в Астрахань. Известно время в пути (в днях, часах и минутах). Оно не превышает 20 суток. Определить дату и время прибытия теплохода в Астрахань. Использовать диапазоны.

Вариант 1: Для простоты предположим, что путешествие начинается между 1 и 10 июня.

Вариант 2. Путешествие начинается в любой день лета. Определите еще и дни недели отправления и прибытия, если известно, какой день недели был 1 июня.

Date: 2015-09-17; view: 384; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию