Скачиваний:
63
Добавлен:
02.05.2014
Размер:
38.91 Кб
Скачать

Лабораторная работа 6

Подпрограммы (процедуры и функции)

Цель работы: Формирование умений и навыков в разработке процедур и функций пользователя.

Что нужно знать для выполнения работы

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

Примеры выполнения задания лабораторной работы

Пример 1

Составьте программу, нахождения числа сочетаний из n элементов по m по формуле

Для решения данной задачи составим процедуры Cnm и Fact (см. текст программы)

Схема программы

Рис. 6.1 Схема алгоритма головной программы примера 1

p:=1

p:=p*i

fact:=p

Рис. 6.2 Схема алгоритма функции нахождения n!

Текст программы

program lr6_1_1;

{Вычисление C из n по m =n!/(m!*(n-m)!)

Назаров Л.В.}

uses

crt;

var

m,n:integer;

function fact(n:integer):real;

{Нахождение n!}

var

i:integer;

p:real;

begin

p:=1;

for i:=1 to n do

p:=p*i;

fact:=p;

end;

begin

clrscr;

write('n и m = ');

readln(n,m);

writeln('n= ',n, ' m= ',m,' Cmn= ',fact(n)/(fact(m)*fact(n-m)):10:0);

readkey;

end.

Примечание. Если нахождение n! оформить в виде подпрограммы-процедуры, то предыдущая программа могла бы быть следующей.

program lr6_1_2;

{Вычисление C из n по m =n!/(m!*(n-m)!)

Назаров Л.В.}

uses

crt;

var

m,n:integer;

fn,fm,fn_m,Cnm:real;

procedure fact(n:integer;var p:real);

{Нахождение n!}

var

i:integer;

begin

p:=1;

for i:=1 to n do

p:=p*i;

end;

begin

clrscr;

write('n и m = ');

readln(n,m);

fact(n,fn);{Обращение к процедуре Fact для нахождения}

fact(m,fm);{факториалов n,m,n-m}

fact(nm,fn_m);

Cnm:=fn/(fm*fn_m);{Нахождение числа сочетаний из n по m}

writeln('n= ',n, ' m= ',m,' Cmn= ',Cnm:10:0);

readkey;

end.

Задания

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

1. Дано натуральное P. Перевести его в двоичную систему счисления.

2. Дано натуральное P. Найти все "совершенные" числа, не превосходящие Р. "Совершенными" называются натуральные числа, сумма делителей, не включая самого числа, которых равна самому числу.

3. Дано натуральное n-значное число P. Проверить, является ли данное число палиндромом (перевертышем).

4. Дано натуральное n-значное число P. Верно ли, что данное число содержит три одинаковые цифры.

5. Дано натуральное n-значное число P. Верно ли, что данное число содержит две одинаковые цифры.

6. Дано натуральное P. Проверить, кратно ли P трем, используя признак делимости на 3.

7. Дано натуральное P. Проверить, кратно ли P одиннадцати, используя признак делимости на 11 (знакопеременная сумма его цифр делится на 11).

8. Дано натуральное P. Разложить данное число на простые множители.

9. Дано натуральное P. Найти все простые числа, не превосходящие числа P.

10. Дано натуральное P. Найти все натуральные числа, которые нельзя представить в виде суммы двух простых чисел.

11. Дано натуральное P. Найти все делители числа P.

12. Дано натуральное P. Найти сумму цифр числа P.

13. Дано натуральное P. Выбросить из записи числа P цифры 0, оставив прежним порядок остальных цифр.

14. Дано натуральное P. Проверить, кратно ли число P девяти, используя признак делимости на 9.

15. Два натуральных числа заданы последовательностями своих цифр. Получить последовательность цифр, представляющую сумму данных чисел.

16. Два натуральных числа заданы последовательностями своих цифр. Получить последовательность цифр, представляющую разность данных чисел.

17. Два натуральных числа заданы последовательностями своих цифр. Получить последовательность цифр, представляющую произведение данных чисел.

18. Два натуральных числа заданы последовательностями своих цифр. Получить последовательность цифр, представляющую частное данных чисел.

19. Дано натуральное m. Указать все тройки натуральных чисел x, y и z, удовлетворяющие следующему условию: m = x3 + y3 + z3.

20. Дано натуральное n. Вычислить Sn = 1 x 2 + 2 x 3 x 4 + … + n x (n + 1) xx 2n.

21. Дано натуральное число P. Определить, какая цифра в этом числе встречается чаще других.

22. Подсчитать количество номеров машин, содержащих три одинаковые цифры. (Номер машины четырехзначный).

23. Подсчитать количество номеров машин, содержащих две одинаковые цифры. (Номер машины четырехзначный).

24. Дана обыкновенная дробь m/n. Сократить данную дробь.

25. Написать программу сложения двух обыкновенных несократимых дробей m/n и p/q.

Задачи второго уровня

26. Ввести два натуральных числа m и n (m>n). Показать на экране правило деления «лесенкой» числа m на число n.

27. Ввести два натуральных числа m и n (m>n). Показать на экране правило умножения «в столбик» числа m на число n.

28. Если последнюю цифру некоторого натурального числа n перенести и поставить перед первой цифрой этого числа, то получится число, в два раза больше n. Найти самое маленькое из таких чисел.

29. Найти все решения числового ребуса.

МУХА

+ МУХА

МУХА

СЛОН

30. Дано натуральное число n. Выяснить, можно ли представить данное число в виде произведения трех последовательных натуральных чисел.

31. Построить n-ю строку треугольника Паскаля.

32. Дано натуральное число n. Найти все меньшие n числа Мерсена. (Простое число называется числом Мерсена, если оно может быть представлено в виде 2р – 1, где р – тоже простое число.)

33. Подсчитать количество “счастливых” талонов для проезда в городском транспорте. “Счастливым” считается талон, у которого сумма первых трех цифр равна сумме трех других цифр.

5

Соседние файлы в папке Лабораторный практикум по программированию на Паскале