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

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

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

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

Файлы: 1 файл

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

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

Для создания циклов с параметром необходимо использовать правила:

  1. Параметр цикла X, его начальное X0 и конечное значения Xn и шаг h изменения параметра цикла должны быть одного типа
  2. Запрещено изменять в теле цикла начальное и конечное значения, а также текущее значение параметра цикла.
  3. Запрещено входить в цикл минуя его начала.
  4. Если начальное значение больше конечного, то шаг - число отрицательное
  5. Из цикла можно выйти принудительно не закончив его, тогда переменная параметра цикла сохраняет свое последнее значение.
 

Рассмотрим  пример:

Требуется вычислить значения функции  , для a принимающим значения от 0 до 2π с шагом π/10, при любом допустимом значении (r= …). 

 
 

21. ОРГАНИЗАЦИЯ ПОДПРОГРАММ-ФУНКЦИЙ  НА ЯЗЫКЕ ПАСКАЛЬ.  ОПИСАНИЕ И ОБРАЩЕНИЕ  К ФУНКЦИЯМ. ПРИМЕРЫ.

      Подпрограмма - функция

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

   Function имя (а1;...;аn): тип результата;

     

    Begin 

     

     End;,

где а1;...;an - список формальных параметров с указанием типа.

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

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

      Пример  А. Оформить в виде подпрограммы - функции алгоритм возведения в целочисленную степень у=хn.

      Function rez1 (n:integer; x:real) : real;

      var i:integer;

      begin

         rez1:=1;

         for i:=1 to n do

            rez1:=rez1*x;

      end; 

      Пример  Б. Оформить в виде подпрограммы - функции алгоритм возведения вещественного числа в вещественную степень y=ax.

      Function rez2(x:real; a:real) : real;

          begin

             Rez2:=exp(x*ln(a));

               end; 

   В примере Б подстепенное выражение не может принимать отрицательное значение или быть равным нулю. В примере А может быть и отрицательным.

   Переменные  n, x, i примера A определены только в теле подпрограммы -функции. Вне тела функции они не определены, т.е. не существуют. Аналогичными переменными являются параметры а, х в примере Б.

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

     у:=а*rez2(n,х);,

что соответствует  решению задачи у=а*хn. Здесь переменная n обязательно должна быть описана как переменная вещественного типа.

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

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

       22. АЛГОРИТМЫ ОБРАБОТКИ  МАССИВОВ ДАННЫХ: ВЫЧИСЛЕНИЕ СУММЫ.

       Алгоритмы обработки массивов

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

       Массив  на рисунке 3.1 имеет 8 элементов, каждый элемент сохраняет число вещественного  типа. Элементы в массиве пронумерованы  от 1 до 8. Такого рода массив, представляющий собой просто список данных одного и того же типа, называют простым или одномерным массивом. Для доступа к данным, хранящимся в определенном элементе массива, необходимо указать имя массива и порядковый номер этого элемента, называемый индексом.

       
       Рис. 3.1 Одномерный числовой массив

       Если  возникает необходимость хранения данных в виде таблиц, в формате  строк и столбцов, то необходимо использовать многомерные массивы. На рисунке 3.2 приведен пример массива, состоящего из четырех строк и четырех столбцов. Это двумерный массив. Строки в нем можно считать первым измерением, а столбцы вторым. Для доступа к данным, хранящимся в этом массиве, необходимо указать имя массива и два индекса, первый должен соответствовать номеру строки, а второй номеру столбца в которых хранится необходимый элемент.

       
       Рис. 3.2 Двумерный  числовой массив

Вычисление  суммы элементов  массива

Дан массив X, состоящий из n элементов. Найти сумму элементов этого массива. Процесс накапливания суммы элементов массива достаточно прост и практически ничем не отличается от суммирования значений некоторой числовой последовательности. Переменной S присваивается значение равное нулю, затем последовательно суммируются элементы массива X. Блок-схема алгоритма расчета суммы приведена на рис. 3.5.

       
       Рис. 3.5. Алгоритм вычисления суммы элементов массива

24. ХАРАКТЕРИСТИКА ОПЕРАТОРОВ  ЯЗЫКА ПАСКАЛЬ.

Раздел  операторов

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

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

      Оператор  присвоения

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

           Оператор присваивания можно  использовать для присваивания  значений

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

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

   Пример :

      a := b;

Здесь a – простая или индексная переменная; b – арифметическое или логическое выражение. Выполнение оператора состоит в вычислении выражения, находящегося справа от знака “:=”, и присвоения полученного значения левой части оператора с учетом типа находящейся там переменной. Примеры:

          B := a/z;

      I := i+1;

          angle := angle * p1;

          AccessOK := False;

          SpherVol := 4 * p1 * R * R;

Ввод  – вывод данных

      Ввод  данных осуществляется бесформатными  операторами ввода:

Read (a1,…,an); Readln (a1,…,an);,

где а1,…,аn – список переменных.

      Ввод  данных осуществляется с клавиатуры, при этом численные данные отделяются друг от друга пробелами, кроме данных символьного и строкового типов.

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

Read (a[1, 1], a[1, 2], a[1, 3],…)

или          

            for i:=1 to n do 
 

                          for j:=1 to m do

                             read (a[i, j]);. 

      При большой размерности массива  ввод данных с клавиатуры становится трудоемкой операцией. В этом случае значения элементов массива удобнее  задавать в разделе описания констант.

Пример: ввести значения элементов вектора Х и матрицы А, которые соответственно равны:

       

                                          4, 5, 10, 8, 0 

                                          7, 9, 25, 0, 1

Х = (5, 1.2, 0.1, 7, 8.6)           А =      3, 0, 6, 14, 5

            0, 0, 0, 99, 12 

Значения  элементов могут быть определены путем их инициализации: 

Const X: array [1..5] of real = (5.0, 1.2, 0.1, 7.0, 8.6);

           A: array [1..4, 1..5] of integer = ((4, 5, 10, 8, 0),

                                       (7, 9, 25, 0, 1),

                                       (3, 0, 6, 14, 5),

                                       (0, 0, 0, 99, 12));. 

      Вывод данных на дисплей осуществляется операторами  write и writeln, например:

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