ПРАКТИЧЕСКАЯ РАБОТА
Наименование работы: «Разработка и программирование задач с использованием подпрограмм процедур и подпрограмм функций.
ЗАДАНИЕ 1.
Цель задания: получить навыки разработки подпрограмм и функций.
Задача 1: составить процедуру (подпрограмму) вычисления степени числа a:
an, где а, n – целые числа.
Составим программу вычисления степени числа а на языке программирования Паскаль АВС:
Program STEPEN;
Var p,a,n,i:integer;
Begin
p:=1; n:=7;
writeln (‘a=’);
read (a)
for i:=1 to n do p:=p*a;
write (‘степень числа а = ’, р);
end.
Пояснения
В практике программирования часто складываются ситуации, когда одну и ту же группу операторов, реализующих определенную цель, требуется повторить без изменений в нескольких местах программы. Для избавления от столь нерациональной траты времени было предложено использовать подпрограммы.
Подпрограмма – именованная, логически законченная группа операторов языка, которую можно вызвать для выполнения любое количество раз из различных мест программы. В языке Паскаль АВС существует 2 вида подпрограмм: процедуры и функции.
Главное отличие процедур от функций заключается в том, что результатом последних является одно единственное значение.
Каждая новая процедура или функция должна быть предварительно описана в разделе описаний процедур и функций. Для использования процедуры необходимо написать оператор вызова. Описание процедуры состоит из заголовка процедуры и ее тела. Заголовок процедуры включает служебное слово procedure, имя процедуры и заключенный в круглые скобки список формальных параметров с указанием их типов:
Procedure <имя> (<список формальных параметров>);
Например:
Procedure a17 (a:real; b,c:real; var x1,x2:real: var k:integer);
Формальные параметры отделяются точкой с запятой. После заголовка идут разделы описаний (констант, типов, переменных, процедур и функций, используемых в процедуре) и операторы языка Паскаль АВС, реализующие алгоритм процедуры. Формальные параметры нельзя описывать в разделе описания процедуры.
Для обращения к процедуре необходимо использовать оператор вызова процедуры. Он имеет вид:
<имя процедуры> (<список_фактических_параметров>);
Например:
STEPEN (b, m, j, h);
Фактические параметры в списке отделяются друг от друга запятой. Механизм применения формальных – фактических параметров обеспечивает замену формальных параметров фактическими, что позволяет выполнять процедуру с различными данными. Между фактическими параметрами в операторе вызова процедуры и формальными параметрами в заголовке процедуры устанавливается взаимно однозначное соответствие.
Количество, типы и порядок следования формальных и фактических параметров должны совпадать.
Пример использования процедуры в программе приведен ниже:
Program PROCED1;
Var b, m, j, h:integer;
Procedure s (a,n,i:integer; var p:integer);
Begin
p:=1; n:=7;
for i:=1 to n do p:=p*a;
end;
begin
writeln (‘b=’);
read (b)
s (b, m, j, h)
write (‘степень числа b = ’, h);
end.
Функции. В Турбо Паскале есть стандартные функции (sin, ln, exp . . .), кроме них программист может воспользоваться собственными функциями, предварительно описав их в программе.
Формат описания функции:
function<имя функции> (<имя
формального параметра 1>:<Тип>;
<имя формального параметра 2>:<Тип>):тип результата;
Обращение к функции осуществляется по имени с указанием списка фактических параметров. Количество, типы и порядок следования формальных и фактических параметров должны совпадать:
<имя функции> (<список_фактических_параметров>);
Пример описания функций: function tan (x:real):real;
function max (x,y:real):real;
ПОРЯДОК ВЫПОЛНЕНИЯ ЗАДАНИЯ НА КОМПЬЮТЕРЕ.
1. Запустить среду программирования Паскаль АВС, щелкнув 2 раза ЛКМ на ярлыке.
2. В окне редактора введите текст программы PROCED1.
3. Сохранить текст программы, для добавиться автоматически.
4. Выполнить компилирование. Если в программе есть ошибки, то появится сообщение об ошибке, код ошибки, а текстовый курсор покажет место ошибки.
5. Запустить программу на выполнение, для чего выбрать команду Run – Run (или нажать одновременно клавиши Ctrl и F9).
Откроется пользовательский экран в котором нужно ввести исходные данные:
1). B = 2; 2). B = 5; 3). B = 12.
Для возврата к окну с текстом программы используется клавиша Esc.
6. Показать результат выполнения программы преподавателю, записать результат в тетрадь.
Задача 2: составить процедуру (подпрограмму) вычисления суммы двух чисел a и b:
c = a + b, где а, b, c – вещественные числа.
Составим на языке программирования Паскаль АВС программу вычисления суммы двух чисел с использованием процедуры:
Program PROCED2;
Var x,y,z:real;
Procedure SUM(a,b:real;var c:real);
Begin
c:=a=b;
end;
begin
writeln (‘x=’);
read (x)
writeln (‘y=’);
read (y);
SUM(x,y,z);
writeln (‘z = ’,z);
end.
ПОРЯДОК ВЫПОЛНЕНИЯ ЗАДАНИЯ НА КОМПЬЮТЕРЕ.
1. Запустить среду программирования Паскаль АВС, щелкнув 2 раза ЛКМ на ярлыке.
2. В окне редактора введите текст программы PROCED1.
3. Сохранить текст программы, для добавиться автоматически.
4. Выполнить компилирование. Если в программе есть ошибки, то появится сообщение об ошибке, код ошибки, а текстовый курсор покажет место ошибки.
5. Запустить программу на выполнение, для чего выбрать команду Run – Run (или нажать одновременно клавиши Ctrl и F9).
Откроется пользовательский экран в котором нужно ввести исходные данные:
х = 457; y = 525.
Для возврата к окну с текстом программы используется клавиша Esc.
6. Показать результат выполнения программы преподавателю, записать результат в тетрадь.
Задача 3: разработать на языке программирования Паскаль АВС функцию вычисления суммы двух чисел a и b:
c = a + b, где а, b, c – вещественные числа.
Составим программу вычисления функции суммирования двух чисел на языке программирования Паскаль АВС:
Program FUNC1;
Var x,y:real;
Function SUM(a,b:real):real;
Begin
SUM:=a+b;
end;
begin
writeln (‘x=’);
read (x)
writeln (‘y=’);
read (y);
writeln (SUM(x,y));
end.
ЗАДАНИЕ 2 (для самостоятельного выполнения)
Цель задания: закрепить навыки программирования задач с использованием процедур и функций, а также навыки работы в среде программирования Паскаль АВС.
Задача 4: составить процедуру (подпрограмму) вычисления произведения трех чисел a, b, с:
z = a * b * c, где а, b, c – вещественные числа.
ПОРЯДОК ВЫПОЛНЕНИЯ ЗАДАНИЯ
1. Самостоятельно составить на языке программирования Паскаль АВС программу вычисления произведения трех чисел с использованием процедуры.
2. Ввести текст программы, сохранить программу.
3. Выполнить программу, введя следующие исходные данные:
a (k) = 25.7; b (m) = 12.5; c (n)= 33.
4. Показать результат выполнения программы преподавателю, записать результат в тетрадь.
Задача 5: разработать на языке программирования Паскаль АВС функцию вычисления произведения трех чисел a, b, с:
z = a * b * c, где а, b, c – вещественные числа.
ПОРЯДОК ВЫПОЛНЕНИЯ ЗАДАНИЯ
1. Самостоятельно составить на языке программирования Паскаль АВС программу вычисления произведения трех чисел с использованием функции.
2. Ввести текст программы, сохранить программу.
3. Выполнить программу, введя следующие исходные данные:
a (k) = 25.7; b (m) = 12.5; c (n)= 33.
4. Показать результат выполнения программы преподавателю, записать результат в тетрадь.
Задача 6: разработать на языке программирования Паскаль АВС функцию вычисления ctg(x).
ПОРЯДОК ВЫПОЛНЕНИЯ ЗАДАНИЯ
1. Самостоятельно составить на языке программирования Паскаль АВС программу вычисления ctg(x) с использованием функции.
2. Ввести текст программы, сохранить программу.
3. Выполнить программу, введя следующие исходные данные:
c (х) = 30.
1. Показать результат выполнения программы преподавателю, записать результат в тетрадь.
Контрольные вопросы
1. Что называется подпрограммой?
2. Какие виды подпрограмм используются в языке программирования Паскаль АВС?
3. Чем отличается процедура от функции?
4. Как описывается процедура?
5. Как описывается функция?
6. Опишите оператор вызова процедуры?
7. Опишите оператор вызова функции?
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.