Создание подпрограммы – процедуры.
Мною была создана подпрограмма-процедура на языке Pascal и С++.
Написать программу, состоящую из трех подпрограмм и основной программы. Подпрограммы должны организовывать ввод чисел, вычисление их суммы и вывод результата.
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.
Рисунок 13
Подпрограмма-процедура на языке C++:
Cоставить программу вычитания дробей (a, b, c, d — натуральные числа). Результат представить в виде обыкновенной несократимой дроби.
// программа НОД
#include <iostream.h>
#include <math.h>
void Nod(int m, int n, int &k);
void main()
{
int a, b, c, d, g, e, f;
cout << "Введите числители и знаменатели дробей:";
cin >> a >> b >> c >> d;
e = a * d - b * c;
f = b * d;
if (e==0)
cout << "Ответ: " << e;
else
{
Nod(fabs(e),f,g);
e = e / g;
f = f / g;
cout << "Ответ: " << e << "/" << f;
}
}
void Nod(int m, int n, int &k)
{
while (m != n)
if (m > n) m -= n; else n -= m;
k = m;
}
Раздел 2. Разработка кода программного продукта на основе готовых спецификаций на уровне модуля.
Проведение анализа формальных и фактических параметров. 2.2. Составление характеристики локальных и глобальных переменных. 2.3. Создание подпрограммы - функции.
2.1. Анализ формальных и фактических параметров:
Формальные параметры подпрограммы указывают, с какими аргументами следует обращаться к этой подпрограмме (количество аргументов, их последовательность, типы). Они задаются в заголовке подпрограммы в виде списка, разбитого на группы. Разделителем групп является знак точка с запятой (;). В каждую группу включаются параметры одного типа, принадлежащие к одной категории.
Все формальные параметры можно разбить на четыре категории:
· параметры-значения;
· параметры-переменные;
· параметры-константы (используются только в версии 7.0);
· параметры-процедуры и параметры-функции.
Для каждого формального параметра следует указать имя и, как правило, тип, а в случае параметра-переменной или параметра-константы - его категорию. Имена параметров могут быть любыми, в том числе и совпадать с именами объектов программы. Необходимо лишь помнить, что в этом случае объект основной программы с таким именем становится недоступным для непосредственного использования подпрограммой. При обращении к подпрограмме формальные параметры заменяются соответствующими фактическими вызывающей программой или подпрограммой.
Параметры-значения передаются основной программой в подпрограмму через стек в виде их копий и, следовательно, соответствующие фактические параметры программы подпрограммой измениться не могут.
Параметр-значение указывает в заголовке подпрограммы своим именем и через двоеточие - типом. Тип параметра-значения может быть любым за исключением файлового.
Составление характеристики локальных и глобальных переменных.
В программе все переменные делятся на глобальные и локальные.
Глобальные переменные – это те переменные, которые объявляются в описании основной программы.
Локальные переменные – это те, которые описаны в процедурах и функциях. Эти переменные помещаются в стек при вызове подпрограммы и удаляются из него при возвращении в точку вызова. Таким образом, локальные переменные существуют только тогда, когда работает подпрограмма, появляются при вызове и исчезают при завершении работы.
Все процедуры и функции языка Паскаль делятся на две группы: встроенные (стандартные) и определенные пользователем. Первые входят в состав языка и вызываются по строго фиксированному имени. Вторые разрабатываются и именуются самим пользователем.