Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема урока _ процедуры и функции.doc
Скачиваний:
5
Добавлен:
29.08.2019
Размер:
103.42 Кб
Скачать

О писание данных

BEGIN

о ператоры

END.

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

Если таких присваиваний несколько, то результатом выполнения функции будет последнее значение.

Результат функции - единственное значение!

Обращение к функции осуществляется по имени с необяза­тельным списком фактических параметров. Каждый аргумент дол­жен соответствовать формальным параметрам, указанным в заголов­ке и иметь тот же тип.

2. Практическая часть.

Учащимся предлагается вызвать готовые программы с диска, за­писать из в тетрадь; анализ программ производится с помощью учителя .

Примеры программ.

Вычисление степени числа.

Пример 1.

(* ПРОГРАММА ВЫЧИСЛЯЕТ СТЕПЕНЬ ЧИСЛА *)

PROGRAM DEMO_FUNCTION;

VAR Z : INTEGER ; К : REAL ;

(* Функция пользователя *)

FUNCTION STEP ( F : REAL, EXP : INTEGER ) : REAL ;

VAR С : INTEGER ; Т : REAL ;

BEGIN

IF EXP=0 THEN STEP=1 ELSE BEGIN T:=F;

FOR С :=2 TO ABS(EXP) DO Т :=T*F ;

IF EXP<0 THEN STEP:=1/T ELSE STEP:=T ;

END;

(* КОНЕЦ ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ *)

(* ОСНОВНАЯ ПРОГРАММА *)

BEGIN

WRITELN (' ВВЕДИТЕ ЧИСЛО '); READ ( Z );

WRITELN ;

WRITELN ( STEP ( Z, 3 )); (* ВЫЧИСЛЕНИЕ Z В 3 СТЕПЕНИ *)

WRITELN ( STEP ( Z, 4 ));

WRITELN ('ВВЕДИТЕ НУЖНУЮ СТЕПЕНЬ');

READ (К);

WRITELN ( К , ' - Я СТЕПЕНЬ ЧИСЛА ', Z , STEP ( Z , К ));

END.

Пример 2.

(*———————————————————————

! ОФОРМЛЕНИЕ ФУНКЦИИ !

______________________________________________ *)

PROGRAM PT11;

{ВЫЧИСЛЕНИЕ F=M!-K! РАЗНОСТИ ФАКТОРИАЛОВ}

USES CRT;

VAR F,M,K : INTEGER;

(* ФУНКЦИЯ FAKT*)

FUNCTION FAKT ( N : INTEGER ): INTEGER;

VAR P,J : INTEGER;

BEGIN

P:=1;

FOR I:=2 TO N DO P:=P* I;

FAKT:=P; (* ФУНКЦИЯ FAKT ПОЛУЧАЕТ ЗНАЧЕНИЕ*)

WRITELN;

WRITELN ('ФАКТОРИАЛ ', N , '=', P);

END; (* КОНЕЦ ФУНКЦИИ *)

{ОСНОВНАЯ ПРОГРАММА}

BEGIN

CLRSCR;

WRITELN ('ВВЕДИТЕ ЗНАЧЕНИЯ M,K:');

READ (M,K);

F:=FAKT(M)-FAKT(K);

WRITELN;

WRITELN ('РАЗНОСТЬ ФАКТОРИАЛОВ= ',F:5);

REPEAT UNTIL KEYPRESSED;

END.

3. Заключение.

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

4. Домашнее задание.

( x +8 )2 + x 3

Написать программу вычисления функции Y=———————

при х=2.3; 5.88; 6.11 ;9.05.. x+5

Программа должна содержать функцию пользователя.

Вспомогательные алгоритмы и их реализация на Бейсике.

Тема урока : Вспомогательные алгоритмы.

Цель урока : дать понятие вспомогательного алгоритма, его реализация на языке

Бейсик.

Ход урока:

1. Вспомогательные алгоритмы.

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

Любой алгоритм можно сделать вспомогательным, снабдив его соответственным

заголовком.

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

Набор команд, из которых состоит вспомогательный алгоритм заменяют одной командой вызова.

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

Пример: при использовании стиральной машины неважно вникать в ее устройство.

Достаточно знать, что «аргументами» для нее являются стиральный порошок, чистая вода и грязные вещи, а «результатом» грязная мыльная вода и чистые вещи.

В программировании вспомогательный алгоритм называется подпрограммой. Команда вызова ее: GOSUB <номер строки>.

Программа заканчивается словом RETURN. Оператор GOSUB передает управление на строку с номером, указывающим в нем. По оператору RETURN осуществляется возврат к оператору, следующему за оператором GOSUB.

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

Программа

А

Вызов В

Программа В

Вызов С

RETURN

Программа С

RETURN

Пример 1

10 GOSUB 50

20 A=B+5

30 PRINT A

40 GO TO 70

50 B=3

60 RETURN

70 PRINT «Конец работы».

Пример 2

10 PRINT «Мы идем и поем,»

20 GOSUB 100

30 PRINT «Там за горами синий лес,»

40 GOSUB 100

50 PRINT «Скоро мы туда дойдем?»

60 GOSUB 100

70 PRINT «Много ли ягод там найдем?»

80 GOSUB 100

90 END

100 PRINT «Тум-ба-ла-ла»

100 RETURN

Пример 3

5 REM Литературный тест

7 REM POINTS (очки) - содержит очки за правильный ответ

10 LET POINTS=0

20 PRINT «Отцом Буратино был: 1)Вольтер; 2)Дон Жуан; 3)Папа Карло.

25 REM RUGHTANS (верный ответ) - содержит код правильного ответа.

30 LET RIGHTANS=2

40 GOSUB 500

50 PRINT «Роман “Старик и море” написал: 1)Хемингуэй; 2)Айвазовский; 3)Бетховен»

60 LET RIGHTANS=1

70 GOSUB 500

80 PRINT «Раскольников герой романа: 1)Достоевского; 2)Пушкина; 3)Крылова»

90 LET RIGHTANS=1

100 GOSUB 500

109 REM печать конечного счета

110 PRINT

130 END

499 REM Подпрограмма для восприятия и анализа ответа пользователя

500 INPUT ANSWER

510 IF ANSWER <>RIGHTANS THEN GOTO 520 ELSE GOTO 530

520 PRINT «Извините, ответом является:»; RIGHTANS

525 GOTO 540

530 PRINT «Великолепно!»

535 LET POINTS=POINTS+1

540 PRINT

545 RETURN

Пример 4

9 REM Нахождения максимума трех чисел.

10 INPUT A,B,C

20 LET X=A

30 LET Y=B

40 GOSUB 200

50 LET X=Z

60 LET Y=C

70 GOSUB 200

80 PRINT Z

90 STOP

200 REM Поиск максимума из двух чисел.

201 REM Аргумента X,Y. Результат Z

210 IF X>Y THEN Z=X ELSE Z=Y

220 RETURN