Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PASСAL_a4_2007.doc
Скачиваний:
31
Добавлен:
13.09.2019
Размер:
2.51 Mб
Скачать

2. Практика

Задание 1

Скопируйте в Ваш каталог файлы lab5_1a.pas, lab5_2a.pas, lab5_3a.pas, lab5_4a.pas, lab5_5a.pas, lab5_6a.pas, lab5_7a.pas, lab5_8a.pas из каталога PAS_TXT. Запустите среду Turbo Pascal.

Задание 2 (посвящается циклу FOR)

Выполните следующие действия:

а) загрузите файл lab5_1a.pas ;

б) прочитайте текст программы и проанализируйте его;

в) запустите программу на выполнение (реко­мен­дуем задать в качестве значения числа N значения 1, 10, 0, -5). Оцените, как программа ведет себя в различных ситуациях).

Задание 3 (посвящено также циклу FOR, но уже вложенному)

Выполните следующие действия:

а) загрузите файл lab5_2a.pas ;

б) прочитайте текст программы и проанализируйте его;

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

г) попробуйте так модифицировать программу, что­бы она выводила таблицу Пифагора 15 на 15.

Задание 4 (посвящено циклу WHILE)

Выполните следующие действия:

а) загрузите файл lab5_3a.pas ;

б) прочитайте текст программы и проанализируйте его;

в) запустите программу на выполнение (рекомендуем задать в качестве значения числа M значения 100, 200, 0, -5). Оцените, как программа ведет себя в различных ситуациях.

Задание 5 (посвящено циклу REPEAT)

Выполните следующие действия:

а) загрузите файл lab5_4a.pas ;

б) прочитайте текст программы и проанализируйте его;

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

г) оцените, как это удобно, когда можно много раз выполнять одну и ту же программу без перезапуска.

Задание 6 (также посвящено циклу REPEAT)

Выполните следующие действия:

а) загрузите файл lab5_5a.pas ;

б) прочитайте текст программы и проанализируйте его;

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

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

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

Задача 1. Вычисление факториала

а) lab5_6a.pas: если значение факториала записывать в переменную типа INTEGER, то быстро наступает переполнение;

б) lab5_7a.pas: предлагается найти выход из этого положения (вариант: результат записывать в переменную типа REAL);

в) lab5_8a.pas: предлагается составить программу, позволяющую найти максимальное N, при котором наступает переполнение (используем сравнение с maxint, действия рекомендуется организовать с помощью цикла REPEAT).

Задача 2. Вычисление n-й степени заданного числа

Составить программу, которая:

а) вычисляет n-ю степень заданного числа;

б) модифицируйте созданную программу так, чтобы в случае целого числа результат выводился именно целым числом, в случае вещественного - вещественным. В последнем случае количество знаков после запятой должно быть выведено ровно столько, сколько получается (например, если число с одним знаком после запятой возводится в 3-ю степень, то будет три знака, с двумя знаками в 4-ю степень - восемь и т.п.);

в) проверяет, происходит ли переполнение.

Задача 3. Числа Фибоначчи

В 1202 году итальянский математик Леонард Пизанский, известный под именем Фибоначчи, предложил такую задачу:

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

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

1,1,2,3,5,8,13,21,34,...

Каждый из членов этой последовательности, начиная с третьего, равен сумме двух предыдущих членов. Эта последовательность получила название ряда Фибоначчи, а ее члены - числами Фибоначчи. Числа Фибоначчи имеют много интересных свойств. С ними связано, например, “золотое сечение”.

Обозначив n-й член ряда Фибоначчи F(n), мы получим следующую зависимость, называемую рекурсивной (т.е. зависимость, в которой последующие элементы определяются предыдущими):

F(1)=1

F(2)=1

F(n)=F(n-1)+F(n-2), при n>=3

Задание к задаче 3

Составить программу, которая:

а) распечатает первые N чисел Фибоначчи;

б) определит, сколько кроликов будет через М месяцев; через G лет;

в) позволит определить номер члена последовательности, значение которого превосходит заданное число К;

г) представить ряд Фибоначчи графически. Например:

*

*

**

***

*****

...

(строки из звездочек печатаются до тех пор, пока число звездочек умещается в строке; строки задавайте чередующимися цветами);

д) проинтерпретируйте ряд Фибоначчи в графическом режиме работы экрана с помощью столбиков.

Задача 4. Вычисление суммы ряда

Многие из математических величин или значений функций могут быть выражены как суммы бесконечных последовательностей. Например:

a) e=1+ ;

б) ;

в) sin x = .

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

Задания к задаче 4

Составить программу, которая:

а) вычисляет е. Напечатать в столбик значения, которые получатся, если учтем только два члена ряда, 3, 4, ..., 10;

б) вычисляет , суммируя члены последовательности до тех пор, пока очередной член не станет меньше заданной точности .

Задача 5

Возведение в квадрат без операции умножения

Квадрат любого натурального числа N равен сумме первых N нечетных чисел:

12 = 1

22 = 1 + 3

32 = 1 + 3 + 5

42 = 1 + 3 + 5 + 7 .

Проверьте, верна ли эта закономерность для других натуральных чисел.

  • Продемонстрируйте преподавателю созданные Вами работающие программы.

Задание 7

Выйдите из среды Turbo Pascal. Удалите из Вашего каталога файлы lab5_1a.pas, lab5_2a.pas, lab5_3a.pas, lab5_4a.pas, lab5_5a.pas, lab5_6a.pas, lab5_7a.pas, lab5_8a.pas.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]