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

Автор: Пользователь скрыл имя, 13 Ноября 2011 в 11:18, реферат

Краткое описание

Для подготовки информации к обработке на ПЭВМ необходимо выполнить следующие этапы:
Постановка задачи.
Формализация поставленной задачи.
Выбор численного метода и представление решения в виде структурной схемы(блок-схемы) (алгоритмизация).
Оформление задачи на входном языке ПЭВМ (программирование).
Ввод и отладка программы.
Выполнение программы и анализ полученных результатов.

Файлы: 1 файл

БИЛЕТЫ ПО ИНФОРМАТИКЕ.docx

— 297.06 Кб (Скачать)
Program AkulovE; 
Uses 
  Crt; 
Var 
  x, y : LongInt; 
Procedure Input; 
Begin 
  TextColor(12); 
  writeln('По вызову активизировалась процедура "Input"',#10); 
  TextColor(7); 
  writeln('Введите два числа через пробел - '); 
  readln(x, y); 
End; 
{  - - - - - - - - - - - - - - - - - - - -} 
Procedure Summa; 
Begin 
  TextColor(14); 
  writeln('Для сложения подключилась процедура "Summa"',#10); 
  x:=x+y; 
End; 
{  - - - - - - - - - - - - - - - - - - - -} 
Procedure Output; 
Begin 
  TextColor(10); 
  writeln('Заключительная часть. Процедура "Output"',#10,#13); 
  TextColor(7); 
  writeln('Их сумма - ',x); 
End; 
{  - - - - - - - - - - - - - - - - - - - -} 
Begin 
  ClrScr; 
  Input; 
  Summa; 
  Output; 
  readln; 
End.
 
 

       31. УПРАВЛЯЮЩИЕ КОНСТРУКЦИИ ЯЗЫКА ПАСКАЛЬ. ОПЕРАТОР ВЫБОРА CASE. ПРИМЕРЫ.

       Оператор  выбора /Case/

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

             Case <индекс выбора> of

                   метки 1: Si;

                   - - - - - - - - -

                   метки n: Sn;

             end;,

       где Case (выбор), of (из), end – служебное слово оператора;

              индекс выбора – выражение  любого скалярного типа, кроме  вещественного; 

               S – простой или составной исполнимый оператор;

                i – список значений индекса выбора.

             Метка выбора не описывается  в разделе описания. На нее нельзя ссылаться в операторе goto.

             Оператор выбора выбирает для исполнения тот оператор Si, одна из меток которого равна текущему значению индекса выбора.

             Пример. Определить значение У в зависимости от значения текущей переменной К:

                 Sin(x),               при     К = 1, 8

       У =    Cos(x),      при     К = 3

             Ln(x),       при     К = 4, 6 

       Фрагмент  программы принимает вид

             Case K of 1, 8 : y:=sin(x);

                          3 : y:=cos(x);

                          4, 6 : y:=ln(x);

                     end;  

       Тип индекса выбора и тип меток  должны быть одинаковыми.

       Пример 2.    Ввести номер дня недели и вывести соответствующий ему  день недели на русском и английском языках. Ниже представлена программа  и ответ для введенного номера недели 5.

                             PROGRAM  PR6;

                                    VAR   N: INTEGER;  {  НОМЕР  ДНЯ   НЕДЕЛИ }

                             BEGIN

                                     WRITELN (‘ВВЕДИТЕ  НОМЕР  ДНЯ   НЕДЕЛИ  :’);

                                     READ ( N );

                                     CASE     N      OF

                        1 : WRITELN(‘ ПОНЕДЕЛЬНИК -  MONDAY ’);  

            2 : WRITELN(‘ ВТОРНИК -  TUESDAY ‘);

                                            3 : WRITELN(‘ СРЕДА -  WEDNESDAY ‘);

                                            4 : WRITELN(‘ ЧЕТВЕРГ -  THUESDAY ‘);   

                                            5 : WRITELN(‘ ПЯТНИЦА -  FRIDAY ‘);

              6 : WRITELN(‘ СУББОТА -  SATURDAY ‘);

                    7 : WRITELN(‘ ВОСКРЕСЕНЬЕ -  SUNDAY ‘);

                                     END;

                             END.

       Результат выполнения:

       ВВЕДИТЕ НОМЕР ДНЯ НЕДЕЛИ   :

       5

       ПЯТНИЦА-FRIDAY 

       32. СПОСОБЫ ОРГАНИЗАЦИИ  ВЛОЖЕННЫХ ЦИКЛОВ. ПРИМЕРЫ.

       Вложенные циклы

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

       При программировании вложенных циклов необходимо соблюдать следующее дополнительное условие: все операторы внутреннего цикла должны полностью располагаться в теле внешнего цикла.

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

       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. Проверяется условие I<=10.

       2. Если оно соблюдается, то выполняется  оператор в теле цикла, т.  е. выполняется внутренний цикл.

       • При первом обращении к оператору  внутреннего цикла for вычисляются  значения начального (1) и конечного (10) параметров цикла и управляющей  переменной J присваивается начальное  значение 1.

       Затем циклически выполняется следующее:

       • Проверяется условие J<=10.

       • Если оно удовлетворяется, то выполняется  оператор в теле цикла, т. е. оператор Writeln(I,' * ',J,' = ',I*J), выводящий на экран  строку таблицы умножения в соответствии с текущими значениями переменных I и J.

       • Затем значение управляющей внутреннего  цикла J увеличивается на единицу  и оператор внутреннего цикла for проверяет условие J<=10. Если условие  соблюдается, то выполняется тело внутреннего  цикла при неизменном значении управляющей  переменной внешнего цикла до тех  пор, пока выполняется условие J<=10.

       Если  условие J<=10 не удовлетворяется, т. е. как только J станет больше 10, оператор тела цикла не выполняется, внутренний цикл завершается и управление в  программе передается за пределы  оператора for внутреннего цикла, т. е. на оператор for внешнего цикла.

       3. Значение параметра цикла I увеличивается  на единицу, и проверяется условие  I<=10. Если условие I<=10 не соблюдается,  т. е. как только I станет больше 10, оператор тела цикла не выполняется,  внешний цикл завершается и  управление в программе передается  за пределы оператора for внешнего  цикла, т. е. на оператор end, и  программа завершает работу.

       Таким образом, на примере печати таблицы  умножения и на блок-схеме (рис. 3.5) наглядно показано, что при вложении циклов внутренний цикл выполняется полностью от начального до конечного значения параметра, при неизменном значении параметра внешнего цикла. Затем значение параметра внешнего цикла изменяется на единицу, и опять от начала и до конца выполняется вложенный цикл. И так до тех пор, пока значение параметра внешнего цикла не станет больше конечного значения, определенного в операторе for внешнего цикла.

 

       33. ОПЕРАТОР ПЕРЕХОДА. ОПРЕДЕЛЕНИЕ МЕТКИ.  ОПИСАНИЕ МЕТКИ.  ПРИМЕРЫ.

       Оператор  безусловного перехода /goto/

       Оператор  безусловного перехода состоит из зарезервированного  слова goto /перейти/ и следующего за ними идентификатора метки. Оператор goto служит для безусловной передачи управления на тот оператор программы, который  обозначен /помечен/ данной меткой. При  использовании оператора goto необходимо соблюдать следующие правила:

  1. Перед тем, как использовать метку в программе, ее следует описать в разделе описания меток того блока программы, в котором данная метка используется.
  2. Областью действия метки является тот блок, в котором она описана. Таким образом, невозможно перейти за пределы процедуры или функции или передать управление внутрь какой-либо процедуры или функции.

           Оператор безусловного перехода имеет вид

           goto M;,

           где М – метка  оператора, которому необходимо передать управление.

           Пример  использования оператора  безусловного перехода:

                 Program primer;

                 Label 100;

                 - - - - - - - - - - - - - - - - - -

             Begin

       - - - - - - - - - - - - - - - - - -

       - - - - - - - - - - - - - - - - - -

             goto 100;

             - - - - - - - - - - - - - - - - - -

             - - - - - - - - - - - - - - - - - -

             100: y := x+exp(1.25*ln(a));

       - - - - - - - - - - - - - - - - - -

             - - - - - - - - - - - - - - - - - -

             End.

      Перед любым оператором программы можно  поставить метку, что позволит выполнить  безусловный переход на этот оператор при выполнении команды goto. Метка состоит из имени метки и следующего за ним двоеточия. Перед использованием метки ее следует описать в разделе описания меток. Раздел описания меток имеет следующую структуру: сначала записывается зарезервированное слово label /метка/, за ним следует список идентификаторов меток, отделенных друг от друга запятыми. В конце списка идентификаторов меток ставится точка с запятой.

        Пример:

        label 10, error, 999, Quit;

           label 5, M10, iter;

      Тогда как стандартный Паскаль налагает на имя метки определенные ограничения /метка должна состоять не более  чем из 4 цифр/, в TURBO-Паскале в качестве меток могут использоваться как  числа, так и идентификаторы.

       34. МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ. ОПИСАНИЕ И ИСПОЛЬЗОВАНИЕ  ПОДПРОГРАММ-ПРОЦЕДУР. ФОРМАЛЬНЫЕ И ФАКТИЧЕСКИЕ  ПАРАМЕТРЫ. ОБЛАСТЬ  ДЕЙСТВИЯ ИМЕН  ПЕРЕМЕННЫХ И МЕТОК.  СПОСОБ ПЕРЕДАЧИ  ДАННЫХ МЕЖДУ ПРОГРАММНЫМИ  ЕДИНИЦАМИ. ПРИМЕРЫ.

       Модульное программирование

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

       Подпрограмма - это отдельная функционально независимая часть программы. Любая подпрограмма обладает той же структурой, которой обладает и вся программа.

       Подпрограммы  решают три важные задачи:

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

Информация о работе Основы технологии разработки программ. Этапы разработки программ