Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КНИГА_Учимся программировать TURBO PASCAL 7.doc
Скачиваний:
32
Добавлен:
19.08.2019
Размер:
1.62 Mб
Скачать

Var s : string;

L: INTEGER;

PROCEDURE SIM;

Var I: integer;

STR : STRING;

BEGIN

STR := S[1];

FOR I := 2 TO L DO

IF S[I]<>S[I-1] THEN

STR := STR+S[I];

S := STR

END;

BEGIN

WRITELN('BBEДИTE СТРОКУ СИМВОЛОВ ,');

READLN(S);

L := LENGTH(S);

SIM;

WRITELN(S)

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- создаем описание процедуры SIM для обработки строки;

- вводим строку S и определяем ее;

- вызываем процедуру SIM;

- завершаем работу программы.

Переменные:

в процедуре SIM:

S - вводимая строка(глобальная переменная);

I - вспомогательная переменная цикла (локальная переменная);

STR - вспомогательная строка (локальная переменная);

в основной программе:

S - вводимая строка(глобальная переменная);

L - длина строки (глобальная переменная).

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

FUNCTION<ИМЯl ФУНКЦИИ> (<СПИСОК ФОРМАЛЬНЫХ ПАРАМЕТРОВ>) : ТИП;

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

Задача 9.4 Написать функцию, которая из двух целых чисел выбирает наименьшее число.

PROGRAM PG9_4;

Var I, j : integer;

FUNCTION MIN(I, J: INTEGER): INTEGER;

BEGIN

IF I<J THEN MIN := I

ELSE MIN := J

END;

BEGIN

WRITELN('BBEДИTE ДВА ЦЕЛЫХ ЧИСЛА');

READLN(I, J);

WRITELN('MIN = ', MIN(I, J))

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- создаем описание функции MIN;

- вводим два целых числа I и J;

- вызываем функцию MIN и определяем наименьшее число;

- завершаем работу программы.

Переменные:

в функции MIN:

I, J - два целых числа (глобальные переменные);

в основной программе:

I, J - два целых числа (глобальные переменные).

Задача 9.5 Написать функцию, которая из двух целых чисел выбирает наибольшее число.

PROGRAM PG9_5;

Var I, j : integer;

FUNCTION MAX(I, J : INTEGER): INTEGER;

BEGIN

IF I>J THEN MAX := I

ELSE MAX := J

END;

BEGIN

WRITELN('BBEДИTE ДВА ЦЕЛЫХ ЧИСЛА');

READLN(I, J);

WRITELN('MAX = ', MAX(I, J))

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- создаем описание функции МАХ;

- вводим два целых числа I и J;

- вызываем функцию МАХ и определяем наибольшее число;

- завершаем работу программы.

Переменные:

в функции МАХ:

I, J - два целых числа (глобальные переменные);

в основной программе:

I, J - два целых числа (глобальные переменные).

Задача 9.6 Написать функцию, которая находит сумму цифр целого числа,

PROGRAM PG9_6;

Var n : longint;

К: INTEGER;

FUNCTION NUM(I: LONGINT): INTEGER;

Var s : integer;

BEGIN

S := 0;

REPEAT

S := S+N MOD 10;

N := N DIV 10

UNTIL N = 0;

NUM:=S

END;

BEGIN

WRITE('BBEДИTE ЦЕЛОЕ ЧИСЛО N =');

READLN(N);

K:=NUM(N);

WRITELN('CУMMA ЕГО ЦИФР РАВНА', К)

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- создаем описание функции NUM;

- вводим целое число N;

- вызываем функцию NUM и определяем сумму цифр числа N;

- завершаем работу программы.

Переменные:

в функции NUM:

N - целое число (глобальная переменная);

S - вспомогательная переменная (локальная переменная);

в основной программе:

N - целое число (глобальная переменная);

К - вспомогательная переменная (глобальная переменная).

Задача 9.7 Написать функцию, которая находит цифровой корень целого числа.

Цифровой корень находится суммой через сумму цифр числа До тех пор, пока эта сумма сама не станет цифрой. Например, для числа 9999999 цифровой корень находится так:

9 + 9 + 9 + 9 + 9 + 9 + 9 = 63

6 + 3 = 9

Цифровой корень 9999999 равен девяти.

PROGRAM PG9_7;