Рефераты. Ответы на билеты по информатике 2006-2008 гг. (базовый уровень)

< меньше

>   больше

<= меньше или равно

<= больше или равно

= равно <> не равно.

На ветвях условного оператора могут находиться простые или составные операторы.

Составной оператор – это последовательность операторов, заключенная между

служебными словами begin и end.

Основной циклической структурой яв­ляется цикл с предусловием (цикл-пока). С

помощью этой структуры можно построить любой циклический алгоритм.

Оператор цикла с предусловием в Паскале имеет следующий формат:

while <логическое выражение> do <оператор>.

Служебное слово while означает «пока», do — делать, выполнять.

Оператор, стоящий после слова do, называется телом цикла. Тело цикла может быть

простым или составным оператором, т.е. последовательностью операторов между

служебными словами begin и end.

Еще один вид цикла - Цикл с параметром:

For i:=A to B do

<тело цикла>.

i-                    параметр (счетчик), автоматически изменяется на 1.

A-    начальное значение параметра

B-    конечное значение параметра.


Основные этапы разработки программ.

1.              Постановка задачи.

2.              Математическая формализация.

3.              Построение алгоритма.

4.              Составление программы на языке программирования.

5.      Отладка и тестирование программы.

6.              Проведение расчетов и анализ полученных результатов.

В чистом виде программированием, то есть разработкой алгоритма и программы,

здесь являются лишь 3-й, 4-й и 5-й этапы.

На этапе постановки задачи должно быть четко опреде­лено, что дано и что

требуется найти.

Второй этап — математическая формализация. Здесь за­дача переводится на язык

математических формул, уравне­ний, отношений. Далеко не всегда эти формулы

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

литературе. Если решение задачи требует математического описания какого-то

реального объекта, яв­ления или процесса, то формализация равносильна получе­нию

соответствующей математической модели.

Третий этап — построение алгоритма (блок-схема).

Первые три этапа — это работа без компьютера. Дальше следует собственно

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

Отладка и тестирование.  Под отладкой  программы понимается процесс испытания

работы программы и исправления обнаруженных  при  этом ошибок. Обнаружить

ошибки, связанные с нарушением правил записи программы на Паскале

(синтаксические и семантические ошибки) помогает используемая система

программирования. Пользо­ватель получает сообщение об ошибке, исправляет ее и

снова повторяет попытку исполнить программу.

Проверка на компьютере правильности алгоритма про­изводится с помощью тестов.

Тест — это конкретный ва­риант значений исходных данных, для которого известен

ожидаемый результат. Прохождение теста — необходимое условие правильности

программы. На тестах проверяется правильность реализации программой

запланированного сценария.

Проведение расчетов и анализ полученных результа­тов — этот этап технологической

цепочки реализуется при разработке практически полезных (не учебных) программ.

Например, «Программа расчета прогноза погоды». Ясно, что ей будут пользоваться

длительное время, и правильность ее работы очень важна для практики. А поэтому в

процессе эксплуатации эта программа может дорабатываться и со­вершенствоваться.


Билет 6

Технология нисходящего программирования. Разбиение задачи на подзадачи.

Процедуры и функции.


Человек может разобраться в отдельном алгоритме, объем которого не превосходит

нескольких сотен строк. При дальнейшем увеличении объема теряется общая логика

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

проблему позволяет расчленение алгоритма на составляющие — отдельные алгоритмы,

выполняющие простые действия. Такие алгоритмы называют вспомогательными. В

языках программирования используется термин - подпрограмма. Чтобы обратиться к

вспомогательному алгоритму (подпрограмме), его надо вызвать.


1. Стандартные подпрограммы

Многие вспомогательные алгоритмы используются очень часто и в разнообразных

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

или выполнять стандартные действия над строками. Если бы каждый программист

за­писывал такие алгоритмы сам, это было бы большой потерей времени. Проблема

решается путем применения стандартных подпрограмм. Стандартные подпрограммы

обычно определены не в язы­ке программирования, а в си­стеме (среде)

программиро­вания.    Они    входят    в библиотеки подпрограмм, прилагаемые к

транслятору.


2.  Нисходящее проектирование

Для того чтобы представить программу в виде набора простых алгоритмов, ее

разрабатывают сверху вниз. Такой подход называют нисходящим проектированием, или

последовательной детализацией.

Сначала программу делят на модули, решающие глобальные задачи. Затем каждый из

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

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

Такой подход имеет целый ряд достоинств:

- Программист мыслит на предметном уровне, не касаясь до конкретных операторов и

переменных.

- Порядок реализации отдельных подпрограмм может быть любым. Еще не написанные

подпрограммы можно временно заменить коротким фрагментом кода, дающим разумные

(хотя и неправильные) результаты. Отладка программы в целом возможна и при

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

- Небольшие по размеру программы и подпрограмм проще писать и отлаживать.

- Имеется возможность повторного использования ранее написанных подпрограмм.


3. Типы вспомогательных алгоритмов

Подпрограммы обычно делят на две категории: процедуры и функции. Процедура

просто выполняет некоторую последовательность операторов. Функция же вычисляет

определенное  значение и передает {возвращает) его в вызванную программу

(подпрограмму). Это значение принадлежит к определенному типу данных, к которому

принято относить и саму функцию.


4.  Параметры подпрограммы

Чтобы работа подпрограммы имела смысл, ей надо получить данные из той программы,

которая ее вызывает. Дан­ные передаются в подпрограмму в виде параметров.

Каж­дая подпрограмма ожидает получить в качестве параметров определенный набор

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

не нуждающихся в передаче параметров.

При создании подпрограммы значения передаваемых в нее параметров еще неизвестны.

При описании в заголовке подпрограммы указываются формальные параметры. Это

произвольные идентификаторы, определяющие тип передаваемых данных. Они нужны

только для описания действий, выполняемых подпрограммой.

При вызове подпрограммы указываются фактические параметры, которые и передаются

в нее. При выполнении операторов подпрограммы вместо формальных параметров

подставляются фактические значения.


5. Вызов подпрограмм

Вид оператора вызова подпрограммы зависит от типа под­программы и синтаксиса

конкретного языка программирования. Чтобы вызвать подпрограмму, надо указать ее

имя. После него в скобках идет список фактических параметров. Тип фактических

параметров и их количество должно соответствовать описанию формальных параметров

в объявлении подпрограммы. В качестве фактических  параметров могут

использоваться не только переменные, но и константы или выражения.

Вызов функции допустим в любом месте программы, щ можно указать выражение

соответствующего типа. Например, функцию можно вызвать в правой части оператора

присваивания, в выражении отношения или логическом  выражении, в списке

фактических параметров другой подпрограммы и так далее. В следующем примере

переменной z присваивается длина гипотенузы прямоугольного треугольника с

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

z : =sqrt(x*x+y*y) ;      (Паскаль)

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

процедуру Р, принимающую в качестве параметров два целых числа, можно следующим

образом.

Р(1,2) ;   (Паскаль)


6. Программирование вспомогательных алгоритмов

Описание вспомогательных алгоритмов включается в исходный текст программы. В

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

до того, как она вызывается в первый раз.

Описание подпрограммы состоит из заголовка, тела, содер­жащего выполняемые

операторы, и завершения. Заголовок содержит имя подпрограммы и описание

формальных параметров. Для функции надо также указать тип возвра­щаемого

значения.

Boт пример записи функции, вычисляющей квадрат целого числа, переданного в

качестве параметра.

Паскаль

function  Square(x:   Integer): Integer;

begin

Square:=x*x;

end;

Тело функции располага­ется между операторами begin и end.

В языке Паскаль значение, возвращаемое функ­цией, надо присвоить переменной, имя

которой совпадает с именем функции. Внутри тела функции эта переменная может

использоваться только в левой части оператора при­сваивания.

Способ записи процедур иной. В описании процедуры ис­пользуются иные ключевые

слова. Кроме того, нет необ­ходимости вычислять возвращаемое значение. Далее

приведено описание процедуры, осуществляющей вывод суммы двух целых чисел,

переданных в процедуру как па­раметры.

Паскаль

procedure  printsum(x,   у:integer);

begin

writeln(x-y);

end;

Обычно предполагается, что описание подпрограммы дол­жно быть помещено до ее

первого использования — это удобно транслятору. Однако это может быть по

каким-то причинам неудобно программисту. Некоторые языки про­граммирования

допускают размещение описания подпро­граммы после ее первого использования, но в

этом случае они требуют упрощенного объявления подпрограммы до ее первого

использования.

В языке Паскаль в этом случае повторяют заголовок про­цедуры. Отсутствие после

него ключевого слова begin гово­рит о том, что это не описание, а только

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.