Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебник Информатика.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
17 Мб
Скачать
☆

Модуль Определение

В блоке 1 вводится значение набора студентов. В блоке 2 определяется, превышает ли требуемый набор количество абитуриентов, допущенных к зачислению. Если вступительные экзамены успешно сдало меньшее количество абитуриентов, чем требуется (выход ДА из блока 2), то значение набора уменьшается до этой величины (блок 3). Иначе (выход НЕТ из блока 2) управление передается блоку 4, в котором организуется циклический алгоритм просмотра списка абитуриентов и вывод данных по каждому абитуриенту (блок 5). На этом работа алгоритма заканчивается: сформирован список абитуриентов, которые могут быть зачислены по результатам вступительных экзаменов.

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

Это самый трудоемкий этап. Его цель – проверка синтаксической и логической правильности  программы, а также определение того, что программа функционирует на всем диапазоне допустимых данных.

В процессе отладки программы выделяются этапы:

  1. трансляция исходного текста программы;

  1. компоновка программы;

  1. выполнение программы с целью определения логических ошибок;

  1. тестирование программы.

Трансляция

При трансляции выполняется перевод программы, понятной человеку, на язык, понятный компьютеру. Если цель трансляции – преобразование всего исходного текста на внутренний язык компьютера (т.е. получение некоторого нового кода) и только, то такая трансляция называется также компиляцией. Исходный текст называется также исходной программой или исходным модулем, а результат компиляции – объектным кодом или объектным модулем. Если  же трансляции подвергаются отдельные операторы исходных текстов и при этом полученные коды сразу выполняются, такая трансляция называется интерпретацией. Поскольку трансляция выполняется специальными программными средствами, последние носят название компилятора или интерпретатора, соответственно.

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

Лексический анализ

Выявляются отельные  составляющие текста программы, которые называются лексемами, и определяется их тип. К числу лексем относятся названия операторов, например, read или write; имена (переменных или констант), например, NABOR или CHISLO, различные разделители, такие как круглые скобки, знаки препинания и т.д. Одновременно типами указанных лексем являются названия операторов, имена переменных, разделители и т.д. Если программистом допущена ошибка и оператор ввода указан, например, rread, он будет распознан компилятором как имя. На этом этапе выявляется  также использование недопустимых языком программирования символов, например, символа @. В результате лексического анализа исходная программа кодируется: каждая лексема заменяется кодом ее типа, что сокращает объем текста программы. Кроме того, из текста программы удаляются пробелы.

Пример 1. Лексический анализ фрагмента программы на Турбо-Паскале, содержащего только один правильно записанный оператор ввода:

read (NABOR,CHISLO);                        

дает цепочку

       1 2 3 4 3 2 4                        ,        

где 1 – код названия оператора;

2 – код скобки;

3 – код имени;

4 – код знака препинания.

Пример 2. Лексический анализ фрагмента программы на Турбо-Паскале, содержащего только один неправильно записанный оператор ввода:

rread (NABOR,CHISLO);                ,

дает цепочку

       3 2 3 4 3 2 4                        .