Этап. Перенос программы на машинный носитель.



Для этого используют клавиатуру дисплея или устройство подготовки данных на мл или мд.

На этом этапе происходит первоначальная трансляция программы и её редактирование - исключение синтаксических ошибок.

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

На этом этапе происходит выполнение программы с использованием контрольных (тестовых) исходных данных. По полученным результатам пользователь делает вывод о правильности работы программы. На этом этапе происходит обнаружение семантических ошибок. Обнаруженные ошибки приводят к изменению текста программы, алгоритма, и, следовательно, к повторению первоначальных этапов.

Этап. Анализ результатов решения.

На этом этапе анализируются полученные результаты, на основании этого анализа делаются выводы о правильности выбранного метода решения и составлении алгоритма, вырабатываются рекомендации по модернизации программы; составляются описание и инструкция по эксплуатации программы.

Билет №11

1. Организация вложенных циклов.

Если телом цикла является циклическая структура, то такие циклы называют вложенными. Цикл, содержащий в себе другой цикл, называют внешним, а цикл, содержащийся в теле другого цикла, называют внутренним. Внешний и внутренний циклы могут быть трех видов: циклами с предусловием while, циклами с постусловием repeat или циклами с параметром for.
Правила организации внешнего и внутреннего циклов такие же, как и для простого цикла каждого из видов. Но при программировании вложенных циклов необходимо соблюдать следующее дополнительное условие: все операторы внутреннего цикла должны полностью располагаться в теле внешнего цикла.
Рассмотрим пример простой задачи, решение которой предполагает использование вложенных циклов, — задачи вывода на экран таблицы умножения. С использованием цикла for вариант решения данной задачи может быть следующим:

program Tab__Umn1;
var
I,J : byte;
begin
for I:=1 to 10 do {Внешний цикл}
for J:=1 to 10 do {Внутренний цикл}
Writeln (I, ' * ', J, ' = ', I*J); {Тело внутреннего цикла}
end.
Проанализируем действие данной программы. В разделе описания переменных описываются переменные I, J целого типа byte, выполняющие функции управляющих переменных циклов for.
Выполнение программы начинается с внешнего цикла. При первом обращении к оператору внешнего цикла for вычисляются значения начального (1) и конечного (10) парамет-ров цикла и управляющей переменной I присваивается начальное значение 1.
Затем циклически выполняется следующее:
1. Проверяется условие 1<= 10.
2. Если оно соблюдается, то выполняется оператор в теле цикла, т. е. выполня-ется внутренний цикл.
2.1. При первом обращении к оператору внутреннего цикла for вычисляются значения начального (1) и конечного (10) параметров цикла и управляющей переменной J присваивается начальное значение 1.
Затем циклически выполняется следующее:
2.2. Проверяется условие J<=10.
2.3. Если оно удовлетворяется, то выполняется оператор в теле цикла, т. е. оператор Writeln (I, ' * ', J, ' = ', I*J), выводящий на экран строку табли-цы умножения в соответствии с текущими значениями переменных I и J.
2.4. Затем значение управляющей внутреннего цикла J увеличивается на единицу и оператор внутреннего цикла for проверяет условие J<=10. Если условие соблюдается, то выполняется тело внутреннего цикла при неизменном значении управляющей переменной внешнего цикла до тех пор, пока выполняется условие J<= 10.
Если условие J<=10 не удовлетворяется, т. е. как только J станет больше 10, оператор тела цикла не выполняется, внутренний цикл завершается и управление в программе передается за пределы оператора for внутреннего цикла, т. е. на оператор for внешнего цикла.
3. Значение параметра цикла I увеличивается на единицу, и проверяется условие 1<=10. Если условие 1<=10 не соблюдается, т. е. как только I станет больше 10, оператор тела цикла не выполняется, внешний цикл завершается и управление в программе передается за пределы оператора for внешнего цикла, т. е. на оператор end, и программа завершает работу.
Таким образом, на примере печати таблицы умножения наглядно видно, что при вложении циклов изменение управляющей переменной вложенного цикла проходит полный цикл от начального до конечного значения при неизменном значении управляющей переменной внешнего цикла, затем значение управляющей переменной внешнего цикла изменяется на единицу и опять изменение параметра внутреннего цикла претерпевает изменения от начального до конечного значения с шагом, равным единице. И так до тех пор, пока значение параметра внешнего цикла не станет больше конечного значения, определенного в операторе for внешнего цикла.

2. Классификация языков программирования.

 

Классификация языков программирования.

Языки программирования делятся на:

1) языки пр-ия низкого уровня,

2) языки пр-ия высокого уровня.

Языки пр-ия низкого уровня называют машинно-ориентированными или машинными. Языки высокого уровня называют проблемно-ориентированными или алгоритмическими. К ним относятся языки: Фортран, Basic, C,Pascal, Ada и др.

Кроме различий между языками существуют различия внутри самого языка. Развитые языки имеют модификации или версии. TP 6.0, TP 7.0, BP 7.0, Object Pascal 7.1 -> Delphi.

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

Для каждого языка существует свой транслятор. Трансляторы делятся на

 - интерпретаторы

 - компиляторы

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

Работа компилятора заключается в том, что в машинный код переводится весь исходный код сразу, а исполнение программы производится только после получения всего машинного кода.

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

Язык более высокого уровня - макроязык - включает наряду с мнемоническими обозначениями машинных команд отдельные макрокоманды, которые при трансляции заменяются группами команд машинного языка (подпрограммами). Это сокращает запись исходной программы и упрощает программирование, так как исключаются записи часто повторяющихся фрагментов программы. В настоящее время все языки ассемблерного типа допускают использование макросредств, то есть являются макроассемблерами.

Машинно-ориентированные языки содержат все необходимые средства для программирования любых задач. Однако они применяются, когда требуется создать особо быстродействующие программы при минимальных объемах используемой памяти. В частности, на этих языках пишут программы управления устройствами ЭВМ и предварительной обработки данных.

Большинство производственных задач решают с помощью программ, написанных на процедурно - ориентированных языках. Средства этих языков позволяют наиболее просто описать часто встречающиеся фрагменты действий в соответствующих задачах. Процедурно-ориентированные языки предполагают знания пользователя в области математических (численных) методов и основ алгоритмизации (базовый язык для научно-технических расчетов ФОРТРАН, БЕЙСИК (персональные ЭВМ - основной), современный ПАСКАЛЬ).

В процессе развития созданы многоцелевые (универсальные) языки программирования, объединяющие основные средства и возможности многих процедурно - ориентированных языков, например: ПЛ/1 - используемый для решения задач обработки экономической и научно-технической информации, задач управления объектами и т.п.; язык АДА - многоцелевой стандартный язык, способный заменить множество других языков и на длительный период обеспечить разработку и совершенствования программ обеспечения; язык МОДУЛА - объединяет средства и особенности машинно-ориентированных и процедурно - ориентированных языков; включает средства для написания подпрограмм управления устройствами, управления потоками сообщений, для чего традиционно использовались языки ассемблерного типа.

Для пользователей, не имеющих специальной подготовки, но нуждающихся в оперативном использовании ЭВМ для решения стереотипных задач, разрабатываются специальные проблемно-ориентированные языки (непроцедурные), которые не требуют подробной записи алгоритма решения задачи. На таком языке лишь формулируется задача и указывается последовательность подзадач из готового набора с указанием исходных данных и форм требуемых документов. Специальные средства программы-генераторы из готовых блоков автоматически формируют программу для решения поставленной задачи. Эти языки ещё более высокого уровня, т.е. удалены от машины более чем процедурно - ориентируемые языки. К ним относятся языки для задания и обработки таблиц данных при решении экономических задач, а также языки моделирования сложных систем СИМУЛА, НЕДИС и другие (СИМСКРИПТ

Билет №12

1. Процедуры в Паскале.

При написании достаточно сложной программы можно разделить эту программу на несколько простых блоков. Т. е. можно какую-то группу операторов, к которой часто обращается программист, заключить в отдельный блок. Для этого служат процедуры. Процедура является как-бы небольшой программой в Pascal. Она также имеет заголовок, раздел описаний (переменных, констант, типов, других процедур и функций и т.д.), и исполняемую часть, которая находится внутри составного оператора Begin..End. После того как процедура выполнится, она должна вернуть управление программе, вызвавшей ее. В программе процедура записывается после раздела описания переменных Var.

Рассмотрим использование процедуры на примере простой программы. Мы будем вводить с клавиатуры 2 числа, а на экране будет выводиться сообщение о том больше или меньше первое число второго.


Дата добавления: 2020-12-12; просмотров: 109; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!