Плясунова Ульяна Валерьевна, ассистент Рецензент: Волченков С. Г., доцент ЯрГУ, кандидат технических наук оглавление оглавление 3 Лабораторные работы 5 лабораторная работа
Вид материала | Лабораторная работа |
СодержаниеПроцедуры и функции |
- Бокун Наталья Чеславовна Ассистент: Шешко Сергей Михайлович Минск 2008 оглавление оглавление, 270.07kb.
- Оглавление пояснительная записка, 631.27kb.
- Оглавление пояснительная записка, 482.99kb.
- Оглавление пояснительная записка, 621.99kb.
- Винарский Владимир Афанасьевич ассистент Шешко Сергей Михайлович Минск 2008 г. Оглавление, 156.88kb.
- А. И. Скворцов основы механической обработки заготовок, 1088.78kb.
- Обуховский Виктор Степанович, ассистент Позняков Андрей Михайлович Минск 2006 г оглавление, 266.12kb.
- Програма для середньої загальноосвітньої школи затверджено Міністерством освіти І науки, 816.28kb.
- Пошедіна О.І. Україна-нато (Запитання І відповіді): Науково-популярне видання / Колектив, 821.28kb.
- Оглавление пояснительная записка, 520.69kb.
Процедуры и функции
- В каком месте программы и в каком порядке располагаются функции и процедуры? Сравните с алгоритмическим языком.
- Что такое локальные и глобальные переменные и как они различаются на языке Паскаль? Сравните с алгоритмическим языком.
- Как выглядит заголовок процедуры на языке Паскаль?
- Как выглядит заголовок функции на языке Паскаль?
- Что собой представляет содержательная часть процедуры на языке Паскаль?
- Что собой представляет содержательная часть функции на языке Паскаль?
- Как различить по заголовку процедуры на языке Паскаль аргументы, результаты и промежуточные величины?
- Сравните правила записи процедур на Паскале и на школьном алгоритмическом языке.
- Сравните правила записи функций на Паскале и на школьном алгоритмическом языке.
- Сформулируйте правила обращения к функции и к процедуре.
- Что такое формальные и фактические параметры?
- Какая взаимосвязь существует между формальными и фактическими параметрами?
- Какие виды параметров могут быть указаны при описании процедуры или функции в ее заголовке?
- Для чего используются параметры-значения?
- Для чего используются параметры-переменные?
- Найдите синтаксические ошибки в следующих командах:
-
- Procedure (var a:real, b,s:char; var d:real);
- Procedure(b[1]+b[2],b[2]+b[3],b[3]+b[1],b[2]);
- Procedure str(a;b;c:integer; var s:real);
- ...
- str(k[1],k[2],k[3],k[4]);
- str(k[1],k[2],k[3],k[4]);
- 4.procedure prim(k:real; var p,integer)
...
- prim(a+b,a-b);
- prim(a+b,a-b);
- 5.function r(a:real;var b;t:real);
- ...
- k:=r(A[3],A,r);
- k:=r(A[3],A,r);
- 6.function g(var a,b:integer):integer;
...
a:=g(a[i],g);
- Procedure (var a:real, b,s:char; var d:real);
- Перечислите, какие переменные в следующей процедуре являются локальными, глобальными, аргументами, результатами.
- procedure multiply(d:stroka;var P:real);
var i:integer;
begin
P:=1;
For i:=1 to n do
if d[i]<>0
then P:=P*d[i];
end;
- procedure quantity(n:integer;var k:integer);
var i:integer;
begin
k:=0;
for i:=1 to n do if d[i]<0 then k:=k+1;
end;
- procedure poisk(n:integer;var k:char);
var i:integer;
begin
k:='н';
for i:=1 to n do if d[i]=13 then k:='д';
end;
- procedure summa(n:integer;var s:real);
var i:integer;
begin
s:=0;
for i:=1 to n do s:=s+d[i];
end;
- procedure maximum(d:stroka;var max:real);
var i:integer;
begin
max:=d[1];
for i:=2 to n do
if d[i]>max then max:=d[i];
end;
- procedure maxmod(d:vector);
var i:integer;
begin
max:=abs(d[1]);
for i:=2 to n do
if abs(d[i])>max then max:=d[i];
end;
- procedure multiply(d:stroka;var P:real);
- Написать заголовок следующих процедур и функций:
delete, insert, chr, ord, val, str, copy, length, concat, pos.
- Перепишите процедуры из пункта 17 в виде функций.
- Изучите программу PR1 и ответьте на следующие вопросы:
1) назовите переменные, локальные для процедуры pr3 и недоступные для процедуры pr2 и основной программы;
2) назовите переменные, являющиеся глобальными для процедуры pr3, недоступные в основной программе, но локальные для процедуры pr2;
3) назовите переменные, являющиеся глобальными как для процедуры pr2, так и для процедуры pr3.
program PR1;
var A, B, C: real;
procedure pr2;
var X, Y, Z: real;
procedure pr3;
var i, j, k: real;
begin
…
end;
begin
…
end;
begin
…
end.
- Изучите программу PR и ответьте на следующие вопросы:
1) какие переменные, являясь одна локальной, а другая глобальной, имеют одно и то же имя?
2) будет ли переменная L иметь одно и то же значение в основной программе и в процедуре pr3?
3) доступна ли переменная L, описанная в основной программе, в процедурах pr3 и pr4?
4) окажет ли влияние на переменную L, описанную в основной программе, изменение значения переменной L, описанной в процедуре pr3?
program PR;
var L, D, F: real;
procedure pr2;
var M, N: integer;
begin
…
end;
procedure pr3;
var L, L4: integer;
procedure pr4;
var L5: integer;
begin
…
end;
begin
…
end;
begin
…
end.
- Какой смысл имеет величина k в следующей серии команд
- k:=0;
for i:=1 to n do
begin
g:=summamod(a[i]);
if g=0 then k:=k+1
end;
- k:=0;
for i:=1 to n do
begin
g:=summamod(a[i]);
maximummod(a[i],l,ma);
if g=ma then k:=k+1 end;
- k:=0;
for i:=1 to n do begin
g:=summamod(a[i]);
d:=summa(a[i]);
if g=d then k:=k+1;
end;
- k:=0;
for i:=1 to n do begin
maximum(a[i],g,ma);
if ma<0 then k:=k+1
end;
- k:=0; k:=0;
for i:=1 to n do begin
maximum(a[i],g,ma);
maximummod(a[i],l,mam);
if mam<>ma then k:=k+1;
end;
- k:=0;
for i:=1 to n do
begin g:=summamod(a[i]);
d:=summa(a[i]);
if g<>abs(d) then k:=k+1;
end;
- k:=0;
- Составьте процедуры для:
- ввода одномерного числового массива,
- вывода одномерного числового массива,
- ввода двумерного числового массива,
- вывода двумерного числового массива,
- нахождения суммы элементов одномерного массива,
- нахождения суммы элементов двумерного массива,
- нахождения произведения элементов одномерного массива,
- нахождения номера максимального элемента одномерного массива,
- нахождения номеров максимального элемента двумерного массива,
- нахождения номера последнего отрицательного элемента массива,
- нахождения номера первого нулевого элемента одномерного массива,
- подсчета в данном слове количества вхождений заданной буквы,
- определения, есть ли в данном слове две одинаковые буквы подряд.
0>0>