Нередко в программах встречаются повторяющиеся или похожие фрагменты. Имеется возможность оформлять такие фрагменты специальным образом – выделять их в подпрограммы. Подпрограмме дается имя, по которому можно обращаться к ней (вызывать подпрограмму). Использование подпрограмм не только улучшает структуру и внешний вид программы, но и уменьшает вероятность ошибок и облегчает отладку.
В Паскале имеется два вида подпрограмм – процедуры и функции.
Описание процедуры. Оператор процедуры.
Общий вид описания процедуры (в квадратные скобки заключена часть, которая может отсутствовать):
Procedure Имя [(Список формальных параметров)];
Begin
End;
При вызове процедуры ее формальные параметры заменяются соответствующими фактическими. Количество и типы формальных и фактических параметров должны в точности совпадать.
Составить программу для вычисления а n ; целые числа а и n вводятся с клавиатуры.
Program Example-1;
Var a,n: integer;
Ирина Хакамада. Спецоперация, смерть мужа, долги, эмиграция // А поговорить?..
s: longint;
Procedure Degree (x,y: integer; Var st: longint);
Var i: integer;
Begin
st:=1;
for i:=1 to y do st:= st*x;
End;
Begin
writeln(‘Введите два числа – основание и показатель
степени’);
readln(a,n);
Degree(a,n,s);
writeln(‘Результат’,s);
readln;
End.
Задания:
1. Используя процедуру для вычисления степени числа, найти значение выражения:
у = а4х 4 + а3х 3 + а2х 2 + а1х + а0.
Коэффициенты а4, а3, а2, а1, а0 и х вводятся с клавиатуры.
2. Даны координаты трех вершин треугольника. Найти длины всех его сторон.
3. Составить программу, в результате которой величина А меняется значением с величиной В, а величина С – с величиной D.
4. Даны два натуральных числа. Определить, является ли одно число перевертышем другого?
5. Написать рекурсивную функцию для вычисления факториала натурального числа n.
3.9.2Функции
Общий вид описания функции:
Function Имя [(Список формальных параметров)]: Тип результата;
Begin
Тело функции, в котором обязательно должно быть присваивание
Имя функции:= значение
End;
Написать программу вычисления значения С:
С =
Program Exampl-2;
Var n,k: integer;
a1, a2, a3, c: longint;
Function factorial(n:integer): longint;
Var i: integer;
rez: longint;
Begin
rez:=1;
for i:=1 to n do rez:=rez * i;
factorial:= rez;
End;
Begin
writeln(‘Ввод n и k’);
readln(n,k);
a1:= factorial(n);
a2:= factorial(k);
a3:= factorial(n-k);
c:= a1 div (a2 * a3);
writeln(c);
readln;
End.
Задания:
1. Сформировать массив Х(N), N- й член которого определяется формулой Х(N)= .
2. Найти сумму цифр числа.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Ходорковский: «Умение держать в руках оружие может оказаться необходимым!» // А поговорить?…
Работа с процедурой. Величина А меняется значением с величиной В, а величина С — с величиной D — Turbo Pascal
. (Определить процедуру, осуществляющую обмен значениями двух переменным величин).
Задачка замысловата. Я понятия не имею что делать. Прощу помощи. Пожалуйста!. Никакой дополнительной информации по задачке не знаю так-что вопросы типа как «понять это: «я извините, сам незнаю)) Кроме как, эту задачу нужно выполнить с использованием функции.
Пожалуйста помогите!
Код к задаче: «Работа с процедурой. Величина А меняется значением с величиной В, а величина С — с величиной D»
Листинг программы
Var a,b,c,d:integer; Procedure Obmen(Var a,b:integer); Var t:integer; Begin t:=a; a:=b; b:=t; End; Begin write(‘Введите a,b: ‘);readln(a,b); write(‘Введите c,d: ‘);readln(c,d); Obmen(a,b); Obmen(c,d); writeln(‘a=’,a); writeln(‘b=’,b); writeln(‘c=’,c); writeln(‘d=’,d); End.
Источник: studassistent.ru
3.9. Процедуры и функции.
Нередко в программах встречаются повторяющиеся или похожие фрагменты. Имеется возможность оформлять такие фрагменты специальным образом – выделять их в подпрограммы. Подпрограмме дается имя, по которому можно обращаться к ней (вызывать подпрограмму). Использование подпрограмм не только улучшает структуру и внешний вид программы, но и уменьшает вероятность ошибок и облегчает отладку.
В Паскале имеется два вида подпрограмм – процедуры и функции.
3.9.1 Описание процедуры. Оператор процедуры.
Общий вид описания процедуры (в квадратные скобки заключена часть, которая может отсутствовать):
Procedure Имя [(Список формальных параметров)];
При вызове процедуры ее формальные параметры заменяются соответствующими фактическими. Количество и типы формальных и фактических параметров должны в точности совпадать.
Составить программу для вычисления а n ; целые числа а и n вводятся с клавиатуры.
Program Example-1;
Var a,n : integer; s : longint;
Procedure Degree (x,y : integer; Var st : longint);
Var i : integer;
Begin st:=1; for i:=1 to y do st:= st*x;
Begin writeln(‘Введите два числа – основание и показатель степени’); readln(a,n); Degree(a,n,s); writeln(‘Результат’,s); readln;
Задания:
- Используя процедуру для вычисления степени числа, найти значение выражения: у = а4х4+ а3х3+ а2х2+ а1х + а0. Коэффициенты а4, а3, а2, а1, а0 и х вводятся с клавиатуры.
- Даны координаты трех вершин треугольника. Найти длины всех его сторон.
- Составить программу, в результате которой величина А меняется значением с величиной В, а величина С – с величиной D.
- Даны два натуральных числа. Определить, является ли одно число перевертышем другого?
5. Написать рекурсивную функцию для вычисления факториала натурального числа n. 3.9.2 Функции
Общий вид описания функции:
Function Имя [(Список формальных параметров)]: Тип результата;
Тело функции, в котором обязательно должно быть присваивание Имя функции := значение
Написать программу вычисления значения С: С =
Program Exampl-2;
Var n,k: integer; a1, a2, a3, c: longint;
Function factorial(n:integer): longint;
Var i: integer; rez: longint;
Begin rez :=1; for i := 1 to n do rez :=rez * i; factorial := rez;
Begin writeln(‘Ввод n и k’); readln(n,k); a1 := factorial(n); a2 := factorial(k); a3 := factorial(n-k); c := a1 div (a2 * a3); writeln(c); readln;
Задания:
1. Сформировать массив Х(N), N-й член которого определяется формулой Х(N)= .
2. Найти сумму цифр числа.
Источник: studfile.net