Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование на паскале2.doc
Скачиваний:
145
Добавлен:
31.03.2015
Размер:
935.94 Кб
Скачать

1.3.4. Оператор ввода

Оператор

READ(V1,V2,...,VN)

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

Встретив оператор ввода, компьютер приостанавливает выполнение программы до окончания задания значений исходных данных пользователем (в профессиональной терминологии программистов - организуется прерывание для ввода). Вводимые значения могут разделяться пробелами (одним или несколькими) или переводом строки (нажатием клавиши Enter); допустимы в качестве разделителей значений исходных данных и некоторые другие символы. Обратите внимание, чтопосле последнего введенного значения надо обязательно нажать Enter.До нажатия клавиши Enter вводимые значения накапливаются в буфере ввода, нажатие этой клавиши служит командой для передачи этих значений в память.

Приведенный выше оператор эквивалентен последовательности операторов:

READ(V1);READ(V2);...;READ(VN)

Оператор READLN предусматривает пропуск вводимых символов до нажатия клавиши Enter, т. е. до ввода символа конца строки (END OF LINE).

Оператор READLN(V1,V2,...,VN) эквивалентен двум операторам

READ(V1,V2,...,VN); READLN

или последовательности операторов

READ(V1);READ(V2);...;READ(VN);READLN

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

Пример.

Var i:integer; a:real;

begin

writeln(‘Введитеiиa’); { вывод приглашения к вводу }

readln(i,a);...{оператор ввода}

Форма ввода:

Введите iиa

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

1.4. Разработка простейших программ

1.4.1. Понятие о качестве программы и основные технологические принципы разработки программ

Качество современного программного обеспечения характеризуется, прежде всего, такими критериями, как удобство использования, надежность, ясность структуры и текста программы. Технические характеристики программы: - объем занимаемой памяти, быстродействие - отошли на второй план.

Удобство использования программы, т. е. удобство общения с ней, определяется организацией ввода и вывода. Схема общения с программой часто называетсяинтерфейсом(внешними связями) программы. В современных языках программирования существуют специальные средства для эффективного программирования интерфейса, удовлетворяющего некоторым стандартам, например, стандартам операционной системыWindows. В настоящем пособии эти средства не рассматриваются, а для организации простейшего диалога между пользователем и программой используются стандартные подпрограммы ввода и вывода (ReadиWrite).

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

На получение качественных программ направлены положения структурного программирования, которые в основном сводятся к следующим моментам:

  1. Использование точно обозначенных управляющих структур алгоритмов, имеющих один вход и один выход. Такие структуры называются базовыми(см. п.1.4.4).

  2. Разработка алгоритма методом нисходящего проектирования. Этот метод состоит в разбиении алгоритма на части (подалгоритмы) и установлении между ними связей. Каждый подалгоритм должен иметь один вход и один выход, связь между подалгоритмами устанавливается посредством базовых алгоритмических структур. Каждый подалгоритм в свою очередь разбивается на части, и процесс повторяется. Таким образом, получаемиерархическую последовательную разработку алгоритма от сложного к простому.

  3. Независимость подалгоритмов друг от друга на каждом этапе нисходящего проектирования. Следствием этого требования является ограниченное использование глобальных переменных подпрограммами.

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

Грамотное проектирование качественных программ состоит из следующих этапов:

  1. Анализ задачи и разработка внешней спецификации программы. Во внешнюю спецификацию входит описание входных и выходных данных программы, форм ввода и вывода (см. п.1.3), а также описание методов решения задачи, способов апробации программы, сведения о разработчике программы.

  2. Проектирование структур данных и алгоритма.

  3. Написание (кодирование) программы на алгоритмическом языке.

  4. Отладка программы.

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

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

Лучшим способом уменьшения числа ошибок является тщательное выполнение этапов 1 и 2.

Грамотный и аккуратный программист каждый из рассмотренных этапов документирует.