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

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

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

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

Файлы: 1 файл

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

— 297.06 Кб (Скачать)

       Type Matr = array [1..10, 1..10] of real;

       Var A, B, C : Matr;

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

       Procedure MultMat (n: integer; Mat1, Mat2:Matr; Var Mat3:Matr);

        var i.k,j : integer;

        begin

       for 1:=1 to n do

for j:=1 to n do begin

                         Mat3[i,j]:=0.0;

                                      for k:=l to n do

                                             Mat3[i,j]:=Mat3[i,j]+Mat1[i.k]*Маt2[k,j];

                                      end;

       end; 

   Здесь массивы Mat1 и Mat2 в ходе выполнения процедуры не меняют своих значений, поэтому для них указывается только тип. Массив Mat3 формируется в процедуре, соответственно при описании его типа перед именем ставится ключевое слово Var. Переменные i, j, k задействованы только внутри процедуры, поэтому они описаны как локальные переменные.

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

   MultMat (m. A, B, С);

Результат перемножения двух матриц располагается  в массиве С.

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

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

       При работе с подпрограммами важными  являются понятия формальных и фактических  параметров. Формальные параметры —  это идентификаторы входных данных для подпрограммы. Если формальные параметры получают конкретные значения, то они называются фактическими. Формальные параметры могут получить конкретные значения только в той программе, где производится обращение к  данному модулю-подпрограмме. Тип  и порядок записи фактических  параметров должны быть такими же, как  и формальных параметров. В противном  случае результат работы программы  будет непредсказуемым. Из этого  следует, что фактические параметры  используются при обращении к  подпрограмме из основной, а формальные параметры — только в самом  модуле.

       Подпрограмма  с параметрами используется для  записи многократно повторяющихся  действий при разных исходных данных. Подпрограммы с параметрами можно  разделить на два типа: подпрограммы-функции  и просто подпрограммы с параметрами (их называют процедурами).

       При составлении подпрограмм с параметрами  надо соблюдать следующие правила:

       1) каждая подпрограмма имеет свое  имя и список формальных параметров;

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

       Пример 1. Используем алгоритм нахождения наибольшего общего делителя двух натуральных чисел в качестве вспомогательного при решении задачи: составить программу вычитания дробей (a, b, c, d — натуральные числа). Результат представить в виде обыкновенной несократимой дроби.

       Подпрограмма.

       1) Ввести натуральные числа M, N.

       2) Если M=N, перейти к п. 5, иначе к  следующему пункту.

       3) Если M>N, то M:=M-N, иначе N:=N-M.

       4) Перейти к п. 2.

       5) Передать значение M в основную  программу.

       6) Конец подпрограммы.

       Основная  программа.

       1) Ввести значения A, B, C, D.

       2) E:=A*D - B*C.

       3) F:= B*D.

       4) Если E=0, вывести значение E и перейти  к п. 9, иначе перейти к следующему  пункту.

       5) M:=|E|, N:=F, перейти к подпрограмме  вычисления НОД.

       6) G := M.

       7) E и F нацело разделить на G.

       8) Вывести значения E и F на печать.

       9) Конец программы.

       Program Sub;

       Var A, B, C, D, G, E, F : Integer;

       Procedure Nod(M, N : Integer; Var K : Integer);

       Begin    

        While M N Do   

        If M > N Then M := M - N Else N := N - M;   

         K := M

       End;

       Begin    

        Write('Введите числители и знаменатели  дробей:');   

         ReadLn(A, B, C, D);   

        E := A * D - B * C;   

        F := B * D;   

        If E = 0 Then WriteLn(E)            

        Else  

                       Begin                   

        Nod(Abs(E), F, G);                   

        E := E Div G;                   

        F := F Div G;                   

        WriteLn('Ответ: ', E, '/', F)                

         End

       End.

       Как видно из примера, объявление и тело подпрограмм находится в разделе  описаний. В заголовке подпрограммы содержится список формальных параметров с указанием их типа, которые условно  можно разделить на входные и  выходные (перед ними стоит служебное Var). При обращении к процедуре указывается ее имя и список фактических параметров. Формальные и фактические параметры должны соответствовать по количеству и по типу.

       Вызов процедуры осуществляется следующим  образом: 

        ();

       Например,  

        Nod(Abs(E), F, G);

       По  способу передачи фактических значений в подпрограмму в Turbo Pascal 7.0 выделяют параметры-переменные, параметры-значения, параметры-константы и массивы  открытого типа, строки открытого  типа, параметры-процедуры, параметры-функции (подробности — в литературе).

       Функция (в отличие от процедуры) всегда возвращает единственное значение.

       Покажем, как изменится подпрограмма из примера, если ее записать в виде функции.

       Function Nod(M, N : Integer) : Integer;

       Begin    

        While M N Do   

        If M > N Then M := M - N Else N := N - M;   

         Nod := M

       End;

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

       Вызов функции будет следующим: 

        G := Nod(Abs(E), F);

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

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

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