Лабораторная работа № 7
Функции и процедуры. Рекурсия.
Цель лабораторной работы: овладение навыками алгоритмизации и программирования задач с использованием подпрограмм пользователя различных видов.
Студент должен знать: понятие и назначение подпрограммы, виды подпрограмм; структуру подпрограммы и синтаксис вызова подпрограмм; особенности подпрограмм-процедур и подпрограмм-функций; параметры (фактические, формальные, локальные, глобальные), их особенности.
Студент должен уметь: составлять программы с использованием подпрограмм-функций и подпрограмм-процедур.
Студент должен владеть: навыками составления подпрограмм и обращения к ним, выбора параметров подпрограмм.
Теоретические вопросы.
1. Понятие подпрограммы.
2. Сходство и различие подпрограмм-процедур и подпрограмм-функций.
3. Фактические и формальные параметры. Их связь.
4. Глобальные и локальные переменные. Их область действия.
5. Отличия параметров-переменных от параметров-значений.
6. Рекурсивные функции.
Вариант №1.
1. Вычислить
, где V1, V2, V3 – объемы шаров с радиусами R1, R2, R3 соответственно.
2. Даны четыре отрезка. Для каждой тройки этих отрезков, из которых можно построить треугольник, напечатать площадь данного треугольника (использовать процедуру).
3. Вычислить значения функции F(x) = sin(cos(2x-2-x))*tg(cos2(sos(2x-2-x)) на отрезке [0,1] с шагом 0,1.
4*. Составить программу, определяющую, как заданная сумма денег выражается минимальным числом банкнот ценностью по 100, 50, 25, 10, 5, 3 и 1 р.
Вариант №2.
1. Вычислить
.
2. Составить программу вычисления наименьшего общего кратного трёх цёлых чисел x, y, z.
3. Известны координаты вершин треугольника ABC. Определить принадлежит ли вводимая точка данному треугольнику.
4*. Type масть=(пики, трефы, бубны, черви); достоинство=(6, 7, 8, 9, 10, валет, дама, король, туз); карта = Record
M: масть;
D: достоинство;
End;
Описать логическую функцию бьёт(k1,k2,km), проверяющую бьёт ли карта k1 карту k2 с учётом того, что масть km является козырной.
Вариант №3.
1. Найти min из 5-ти чисел. В подпрограмме реализовать выбор min из двух чисел.
2. Вычислить большие корни квадратных уравнений: x2-ax+b=0 и cy2-dx-f=0.
3. Вычислить сумму 1!+2!+3!+…+n!.
4*. Составьте программу подсчета числа четных цифр, используемых в записи n-значного числа.
Вариант №4.
1. Вычислить
, используя подпрограмму вычисления
.
2. Напишите программу вычисления площади поверхности и длины экватора на основании известного радиуса планет Солнечной системы. Форму планет считать шаром. Вычисления оформить отдельными функциями.
3. Используя алгоритм вычисления функции факториала в качестве вспомогательного, составьте программу вычисления суммы факториалов всех четных чисел от 2 до 100.
4*. Составьте программу нахождения всех трехзначных чисел, в записи которых нет четных цифр.
Вариант №5.
1. Вычислить Z=(sign x+ sign y).sign (x+y), используя в подпрограмме вычисление

2. Вычислить Z=(х1+у1)/(х2-у2), где х1 и x 2 – корни уравнения 2x2+x-4=0, у1 и у2 – корни уравнения ay2+2y-l=0.
3. Составьте программу нахождения приближенного значения функции y=sin x при малых значениях x по формуле
.
4*. Составьте программу подсчета числа всех натуральных чисел, меньших М, квадрат суммы цифр которых равен X.
Вариант №6.
1. Найти max из 5-ти чисел. В подпрограмме реализовать выбор max из двух чисел.
2. Даны координаты вершин многоугольника (n вершин). Определить его периметр (нахождение расстояния между вершинами оформить в виде подпрограммы).
3. Составьте программу нахождения всех “счастливых” автобусных билетов. Билет называется “счастливым”, если сумма первых трех цифр равна сумме последних трех цифр. Например, 243126 “счастливый” билет, т. к. 2+4+3=1+2+6.
4*.Составить программу нахождения квадратов простых чисел лежащих в некотором диапазоне (a, b).
Вариант №7.
1. Даны три стороны треугольника. Определить его углы. В подпрограмме реализовываете алгоритм нахождения одного угла треугольника.
2. Составьте программу решения биквадратного уравнения
.
4. Последовательность Фибоначчи Fn строится следующим образом: F1=F2=1, Fn+1=Fn+F n-1. Вычислить n-й член последовательности Фибоначчи.
4*. Заданы координаты вершин треугольника ABC. Определить принадлежит ли вводимая точка треугольнику.
Вариант № 8.
1. Дана функция
. Вычислить F(1,3)+F(2,6)-F(0,4).
2. Используя подпрограмму нахождения наибольшего общего делителя двух целых чисел НОД (a, b) найдите наибольший общий делитель трех чисел НОД (x, y,z).
3. Последовательность Фибоначчи Fn строится следующим образом: F1=F2=1, Fn+1=Fn+Fn-1. Вычислить сумму первых n членов последовательности Фибоначчи.
4*. Type strana=(Franc, USA, Angl, Peru, Ital);
Kontinent=(America, Africa, Europa);
Var x, y: strana; t: boolean;
Описать функцию kont (s), определяющую континент, на котором находится страна s, и использовать ее для изменения значения переменной t на противоположное, если страны x и y находятся на разных континентах.
Вариант № 9.
1. Известны длины отрезков: a, b, c, d. Вычислить площади треугольников: Sabc, Sabd, Sbcd.
2. Составить программу для вычисления функции
, где x1, x2 – корни уравнения ax2+ux-1,5=0; y1,y2 – корни уравнения 2y2 .
3. Даны координаты вершин двух треугольников. Определить какой из них имеет большую площадь.
4*. type natur = 1..maxint;
var a, b : real; k: natur;
Описать функцию st(x, n) от вещественного x и натурального n, вычисляющую через умножение величину
, и использовать ее для вычисления ![]()
Вариант № 10.
1. Известны длины сторон четырехугольника: AB, BC, CD, AD. Вычислить площадь четырехугольника ABCD (рис. 1).
![]() |
Рис. 1
2. Используя подпрограмму нахождения наибольшего общего делителя двух целых чисел НОД (a, b) найдите наименьшее общее кратное этих чисел НОК (a, b).
3. Логической переменной t присвоить значение истины, если уравнения
и
имеют вещественные корни и при этом оба корня первого уравнения лежат между корнями второго, и присвоить значение лжи во всех остальных случаях.
4 *. Два натуральных числа называются “дружественными”, если каждое из них равно сумме всех делителей другого, за исключением его самого (например,220 и 284). Напечатать все пары “дружественных” чисел, не превосходящих заданного натурального числа.
Лабораторная работа № 8
Графика
Цель лабораторной работы: закрепление теоретических знаний об стандартных процедурах и функциях языка программирования Turbo Pascal; овладение практическими навыками разработки алгоритмов и программ создания графических изображений.
Студент должен знать: основные понятия и средства компьютерной графики в языке программирования Паскаль; процедуры перевода экрана в графический режим, процедуры создания простейших графических изображений, процедуры и функции управления цветом фона и рисунка, создания закрашенных и движущихся изображений.
Студент должен уметь: записывать блок-схемы создаваемых программ; записывать вызов основных подпрограмм модуля GRAPH; создавать программы с использованием графических примитивов, представлять результаты математических расчетов в наглядной форме.
Студент должен владеть навыками: инициализации графического режима, использования процедур и функций модуля GRAPH, построения графиков функций.
Теоретические вопросы.
1. Стандартные модули системы Турбо-Паскаль, их назначение.
2. Структура модуля.
3. Основные процедуры и функции модуля CRT.
4. Основные подпрограммы модуля GRAPH для работы с линиями и прямоугольниками.
5. Основные подпрограммы модуля GRAPH для работы с дугами, окружностями и эллипсами.
6. Подпрограммы управления цветом и фоном графических изображений.
7. Подпрограммы создания закрашенных изображений.
8. Подпрограммы управления стилем линий и формирования узора заполнения закрашенной области.
9. Подпрограммы построения ломанных и многоугольников.
10. Подпрограммы создания движущихся изображений.
Вариант №1
1. Изобразить на экране ЭВМ рисунок № 1.
2. Построить график функции f(x)=x-sin x.
3. * Создать произвольный рисунок.
Вариант №2
1. Изобразить на экране ЭВМ рисунок № 2.
2. Построить график функции f(x)=2 cos x – 1.
3. Создать произвольный рисунок.
Вариант №3
1. Изобразить на экране ЭВМ рисунок № 3.
2. Построить график функции f(x)=ctg x +1.
3. * Создать произвольный рисунок.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |



