36565

Особенности разработки программы с подпрограммой

Контрольная

Информатика, кибернетика и программирование

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

Русский

2013-09-22

35.5 KB

6 чел.

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

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

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

При разработке алгоритма на псевдокоде для программы с подпрограммами возможны две стратегии (или их сочетание).

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

Вторая стратегия предполагает, что вызовы подпрограмм использованы раньше, чем появилось описание подпрограмм (даже в виде заголовка). Эта стратегия естественна для случаев, когда состав подпрограмм не определён на этапе проекта программы, и подпрограммы "зарождаются" непосредственно при создании алгоритма задачи. Использование "опережающего" вызова предполагает, что после этого будет уточнен раздел описаний и в нём будет спроектировано тело подпрограммы.

Необходимо учесть также некоторые особенности проектирования подпрограмм по сравнению с обычными программами:

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

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

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

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

program letters; {проект}

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

Для вводимой строки символов определить и вывести на экран все

повторяющиеся латинские буквы (не различая большие и малые буквы).

2. Входные и выходные переменные:

str: string; {входная строка}

j:char; {текущая латинская буква}

3. Аномалии:

if <отсутствуют повтор. латинские буквы> then ‘Нет повторяющихся букв’

4. Экранная форма:

 begin

‘Введите строку:’

<str>

‘Повторяющиеся буквы:’

[ {<j>}]

[ Нет повторяющихся букв]

end.

 

 program letters; {0.1}

{Нахождение повторяющихся латинских букв во вводимой строке}

 var str:string;j:char;alfa:Boolean;

{0* function count(s:string;k:char):byte;}

 {число вхождений символа k в строку s}

 BEGIN writeln('Введите строку:');readln(str); writeln('Повторяющиеся буквы:'); alfa:=true; for j:='A' to 'Z' do if count(str,j)>1 then begin write(j,' ');alfa:=false end;

 if alfa then writeln('Нет повторяющихся букв');writeln;

 END.

 program letters;{0.2}

{Нахождение повторяющихся латинских букв во вводимой строке}

 var str:string;j:char;alfa:Boolean;

 function count(s:string;k:char):byte;

 var c,j:byte;

 begin c:=0;for j:=1 to length(s) do

 if upcase(s[j])=k then c:=c+1;count:=c

 end{count};

 BEGIN writeln('Введите строку:');readln(str); writeln('Повторяющиеся буквы:'); alfa:=true; for j:='A' to 'Z' do if count(str,j)>1 then begin write(j,' ');alfa:=false end;

 if alfa then writeln('Нет повторяющихся букв');writeln;

 END.

Задача 4.2.6(3)

program alex3;

type mas=array[1..5,1..4]of integer;

mass=array[1..5]of real;

var b:mas;

c:mass;

i,j:integer;

y:real;

procedure proc(x:mas;k:integer;var sr:real);

var i,sum,l:integer;

begin

sr:=0;

l:=0;

for i:=2 to 5 do

if x[k,i]>x[k,1] then begin

sr:=sr+x[k,i];

l:=l+1;

end;

sr:=sr/l;writeln(sr:5:2);readln;

end;

begin

for i:=1 to 5 do

for j:=1 to 4 do

read(b[i,j]);

for i:=1 to 5 do

proc(b,i,c[i]);

y:=exp(5*ln(c[1]-1))+exp(4*ln(c[2]-1))+exp(3*ln(c[3]-1))+sqr(c[4]-1)+(c[5]-1);

writeln('y=',y:5:2);

readln;

end.


 

А также другие работы, которые могут Вас заинтересовать

32534. Использование графического редактора для изображения пространственных фигур 299 KB
  Показывается как построить треугольник по его трем элементам биссектрису угла серединный перпендикуляр прямую параллельную данной и т. Возьмем правильный шестиугольник рис. Получим шестиугольник изображенный на рисунке 1 б. Получим шестиугольник изображенный на рисунке 1 в который и будет искомой параллельной проекцией исходного правильного шестиугольника.
32535. Этапы проектирования и разработки ЭС 41 KB
  Поскольку ППС программа то к процессу его разработки можно применить те технологические принципы которые используются при создании программных систем с учетом специфики будущего применения такого рода программ. Исходным пунктом при создании ППС является определение цели обучения. Очень ответственным с точки зрения разработки ППС является уровень детализации учебных вопросов на котором производится содержательный анализ вопросов выбор способа достижения учебных целей и принимается решение об автоматизации той или иной части учебной...
32536. ОБЩИЕ ПРИНЦИПЫ РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ 106.5 KB
  Разработка и использование ЭС образовательного назначения ОБЩИЕ ПРИНЦИПЫ РАЗРАБОТКИ ЭС. ОБЩИЕ ПРИНЦИПЫ РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ Специфика разработки программных средств. Разработка программных средств имеет ряд специфических особенностей Прежде всего следует отметить некоторое противостояние: неформальный характер требований к ПС постановки задачи и понятия ошибки в нем но формализованный основной объект разработки  программы ПС. Этот творческий характер разработки ПС сохраняется до самого ее конца.
32537. ДИАЛОГ УЧАЩИХСЯ С ЭВМ. ОБЩЕПСИХОЛОГИЧЕСКИЕ ПРИНЦИПЫ ПОСТРОЕНИЯ ДИАЛОГА. ОРГАНИЗАЦИЯ ПРОЦЕССА ОБЩЕНИЯ 74.5 KB
  Разработка и использование ЭС образовательного назначения ДИАЛОГ УЧАЩИХСЯ С ЭВМ. Система должна оказывать поддержку попыткам обучаемых научиться общению с системой и не вызывать раздражения у учащихся принуждая их вести диалог если они этого не хотят. Широкое использование фактического диалога может отрицательно сказаться на отношении учащихся к. Не допускайте отрицательных оценок мышления памяти внимания учащихся.
32538. РАЗРАБОТКА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА 129.5 KB
  Окна подразделяются на первичные и вторичные. Прочие порождаемые им окна относятся ко вторичным которые в свою очередь могут быть дочерними и всплывающими. Внережимные и дочерние окна служат для организации параллельных ветвей диалога. Пользователь может выбирать активное окно переключаясь между дочерними и внережимными или первичным и внережимными окнами если дочерние окна отсутствуют.
32539. ВЫБОР ФОРМ ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ 470 KB
  ВЫБОР ФОРМ ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ В ЭС применяются разнообразные формы представления информации: текст и гипертекст графика и гиперграфика видео анимация звук интерактивные трехмерные изображения. По способу формирования изображения они подразделяются на матричные растровые векторные и функциональные. Пиксель является минимальным адресуемым элементом матричного изображения. При любом увеличении качество векторного изображения не меняется.
32540. ОПРЕДЕЛЕНИЕ ТИПОВ УЧЕБНО-ТРЕНИРОВОЧНЫХ ЗАДАЧ 398 KB
  Типизация учебнотренировочных задач Напомним что основным средством контроля знаний в ЭС служат УТЗ результаты и ход выполнения которых оцениваются автоматически. Целесообразно чтобы программа включала в себя единое множество УТЗ из которого выбирались задачи используемые в том или ином контрольном блоке в зависимости от представления в нем содержания курса и требований к знаниям обучаемых. Необходимо чтобы уровень тематического деления множества УТЗ соответствовал минимальному охвату учебного материала блоком контроля. Таким образом...
32541. РАЗРАБОТКА СИСТЕМЫ КОНТРОЛЯ ЗНАНИЙ 130 KB
  Основная функция обратной связи идущей от учащегося к обучаемому раскрыть как осуществляется учебная деятельность с тем чтобы наметить систему обучающих воздействий которые обеспечивают эффективное достижение учебных целей. Информация которая идет по каналу обратной связи от обучаемого к обучающему содержит сведения о том как учащийся решает предложенные ему учебные задачи какие трудности испытывает их причины а также какие вспомогательные обучающие воздействия обеспечивают правильное решение учебных задач. В настоящее время...
32542. КАЧЕСТВО ПРОГРАММНОГО СРЕДСТВА 68.5 KB
  Понятие качества программного средства. Этому препятствует тот факт что повышение качества ЭС по одному из таких свойств часто может быть достигнуто лишь ценой изменения стоимости сроков завершения разработки и снижения качества этого ЭС по другим его свойствам. Поэтому при описании качества ЭС прежде всего должны быть фиксированы критерии отбора требуемых свойств ЭС. В настоящее время критериями качества программных средств criteri of softwre qulity принято считать: Функциональность  это способность ЭС выполнять набор...