ЛР6 - Рубежный контроль №1
Лабораторная работа №6
Рубежный контроль №1
Цель работы – оценить уровень овладение практическими приемами разработки программ с помощью собственных модулей, пользовательских одно и многоуровневых меню и программ с динамическими переменными.
1. Задачи, для самостоятельного решения
Задача 1. Cоставить подпрограмму-функцию TRAP для вычисления определенного интеграла по формуле трапеций.
В основной программе использовать процедуру TRAP для вычисления интегралов:
Рекомендуемые материалы
∫ (х2 + cos(x)) dx и ∫ (tg(x+1))/(x+1) dx
от –1 до 4 от 0 до 2
Задача 2.Составить подпрограмму-процедуру NEIBR отыскивания ближайшей из 10 точек, заданных массивом их декартовых координат, кривой F(x) при одной координате x.
В основной программе использовать процедуру NEIBR для функций cos(x) и sin(x).
Задача 3. Составить подпрограмму - процедуру RT для отыскания наименьшего положительного корня уравнения F(x)=0 c точностью e=0.00001 методом итераций.
В основном программе использовать процедуру для решения уравнения x - tg(x) = 0 , используя обратную функцию x1 = arctg(x0) + k p.
Задача 4. Составить подпрограмму-процедуру ВR для отыскания ближайшей из 10 точек, заданных массивом их декартовых координат, к кривой F(x) при одной и той же координате х. В основном программе использовать процедуру ВR для функций cos(x) и sin(x).
Задача 5. Cоставить подпрограмму-функцию INTG для вычисления определенного интеграла по формуле прямоугольников
В основной программе использовать процедуру INTG для вычисления интегралов:
∫ (sin(х)/(x) dx и ∫ (tg(x+1))/(x+1) dx
от –0.1 до 4 от 0 до 2
Задача 6. Cоставить подпрограмму-функцию INTGR для вычисления определенного интеграла по формуле прямоугольников
В основной программе использовать процедуру INTGR для вычисления интегралов:
∫ ex/(x+1) dx и ∫ Ö (x-1) dx
от –0 до 1 от 0 до 2
Задача 7. Cоставить подпрограмму-функцию TRAP для вычисления определенного интеграла по формуле трапеций
В основной программе использовать процедуру TRAP для вычисления интегралов:
∫ (х2 + cos(x)) dx и ∫ (tg(x+1))/(x+1) dx
от –1 до 4 от 0 до 2
Задача 8. Составить подпрограмму-процедуру MINMAX, отыскивающую максимум и минимум среди значений А f(B), где Аk и Bm- элементы одномерных массивов и использовать ее для подсчета:
min(zj sin(xi)) + max(xi cos(zj))
Y = --------------------------------------
min (zj tg(xi))
где xi- элементы массива X(10), z j – элементы массива Z(5).
Подпрограммы-функции для вычисления синуса, косинуса оформить как функции дальнего вызова.
Задача 9..15. В программе, тестирующей функции модуля, сравнить методы приближенного решения алгебраических и трансцендентных уравнений (методы приближенного вычисления интеграла), поочередно используя их для решения одного и того же уравнения (для одной и той же подынтегральной функции). Значение e (точность) следует поочередно брать равными 0.01, 0.001, ..., 0.00001. Для каждого из методов построить график изменения числа потребовавшихся приближений при переходе от одного значения к другому.
Вар. зад. | Подынтеграл. функция. f (x) | Первообразные F(х)= ∫ f (x) dx | Метод решения | Число отрезков | Интерв. интегр. | Требуем. точность |
9. | Ln²(x) / x | Ln³(x)/3 | Трапец. | 60 | [1;4] | 10–4 |
10. | (1/x²)sin(1/x) | Cos(1/x) | Прям. | 50 | [1;2,5] | 0,5 10–3 |
11. | X х (1 + lnx) | X х | Трапец. | 40 | [1;3] | 10-4 |
12. | Cos(x) | Sin(x) | Трапец. | 60 | [0; p/2] | 10-4 |
13. | Sin²(x) | X/2-(sin2x) /4 | Трапец. | 60 | [0; p/2] | 0,5 10–3 |
14.. | X e х sin x | [x sinx + (1-x) cosx] (e х / 2) | Трапец. | 100 | [0; 1] | 10–4 |
15. | (1/x²)sin(1/x) | Cos(1/x) | Прям. | 50 | [1;2,5] | 0,5 10-3 |
Задача 16. Разработать программу исследования элементарных функций (y=sin x, y=cos x, у = tg x, у = ln x, у = e х), задаваемых пользователем. Обеспечить для каждой функции вывод таблицы значений на заданном интервале с заданным шагом, поиск корней и определение максимума и минимума. Взаимодействие пользователя и программы организуйте с использованием меню.
Задача 17. Разработать программу тестирования студентов обучающихся по теме «системы исчисления». Тестируемому должны предлагаться 6 вопросов по данной теме, включая обычные вопросы с выбором ответа из нескольких и задачи на выполнение арифметических операций, когда необходимо ввести результат указанной операции. Вопросы должны случайным образом выбираться из списка, хранящегося в файле, и не повторяться. Для ответа на каждый вопрос дается две попытки. Предусмотреть, чтобы тестирующийся мог по желанию отказаться отвечать на данный вопрос и получить правильный вопрос. Оценку проводить по соотношению правильных и неправильных ответов.
Задача 18. Разработать программу исследования элементарных функций (y=sin x, y=cos x, у = tg x, у = ln x, у = e х), задаваемых пользователем. Обеспечить для каждой функции вывод таблицы значений на заданном интервале с заданным шагом, поиск корней и определение максимума и минимума. Взаимодействие пользователя и программы организовать с использованием меню
Задачи 19..21. Создать типизированный файл записей, содержащих сведения о багаже пассажира. Структура записи имеет следующий вид:
type PNT=^B;
B = record Багаж
N: string[40]; Ф.И.О. пассажира
M: integer; Количество вещей
W: real; Общий вес вещей [кг]
next: PNT;
end;
var rec, beg, endd, current : PNT;
Создается однонаправленный список записей.
19. Найти все записи, для которых средний вес одной вещи отличается не более чем на 0.3 кг от общего среднего веса вещи. Результаты записать в новый файл. Исходный и результирующий файлы распечатать.
20. Выяснить, имеется ли пассажир, багаж которого превышает багаж каждого из остальных пассажиров и по числу вещей, и по весу. Исходный файл и результат распечатать.
21. Дать сведения о багаже, число вещей в котором не меньше, чем в любом другом багаже, а вес вещей не больше, чем в любом другом багаже с этим же числом вещей. Исходный файл и результат распечатать.
Задача 22. Создать типизированный файл записей, содержащих сведения о книгах. Структура записи имеет следующий вид:
type NT=^B;
B = record Книга
M: string[25]; Ф.И.О. автора
N: string [60]; Название
W: integer; Год издания
next: NT;
end;
var rec, beg, endd, current : NT;
Создать однонаправленный список записей.
Найти авторов, издавших более одной книги, начиная с 1980 года. Распечатать исходный файл и результаты созданного списка.
Задача 23. Создать типизированный файл записей, содержащих сведения об учениках. Структура записи имеет следующий вид:
type PT=^S;
S = record Ученик
N: string [30]; Фамилия ученика
C: 1..10; Год обучения
Обратите внимание на лекцию "Настройка VMware Workstation".
L: string[10]; индекс группы
next: PT;
end;
var rec, beg, endd, current : PT;
Создать однонаправленный список записей.
Выяснить, имеются ли однофамильцы в каком-нибудь классе. Исходный файл и результаты распечатать.