Контрольная работа по "Программированию"
Автор: Desi • Май 2, 2018 • Контрольная работа • 2,955 Слов (12 Страниц) • 604 Просмотры
Задание №1
1. Выбрать функцию, составить блок-схему и программу:
- для вычисления значений функции в точках разбиения промежутка ее задания
- среди вычисленных значений функции найти наибольшее и наименьшее значения
- для решения задачи использовать операторы цикла с параметром, с предусловием и постусловием
2. Предусмотреть ввод параметров a и b (если они есть в задании) с клавиатуры.
3. Вывод значений результатов счета и параметров осуществить на экран.
1. Постановка задачи.
[pic 1]
2. Анализ задачи
Вычисляемая функция задана тремя различными аналитическими выражениями в зависимости от вводимого значения параметра a. Для [pic 2] и [pic 3] функция определена для всех действительных значений аргумента [pic 4]. А для [pic 5] выражение функции содержит логарифм, область определения которого строго положительные числа. Т.о., для [pic 6] и значения аргумента [pic 7] функция не определена. При выполнении программы это естественно приведет к ошибке. По этому при разработке алгоритма необходимо проверить ситуацию одновременного выполнения условий [pic 8] и [pic 9]. В случае истинности значения функции не существует.
Решение задачи проведем в следующей последовательности:
- Вычислим значение функции в каждой точке разбиения отрезка [pic 10] с шагом [pic 11], записывая получаемые значения в массив [pic 12], и тут же выводим на экран в виде таблицы. При этом считаем количество элементов массива. Вычисления проводим с помощью условного оператора внутри цикла с постусловием достижения правого края отрезка.
- После завершения цикла получаем количество элементов [pic 13]массива значений функции. Последнее полученное значение принимаем как начальное значение максимума и минимума. Заметим, что последний элемент массива всегда определен.
- в зависимости от значения параметра [pic 14], если [pic 15] , то принимаем значение счетчика начала цикла равным [pic 16], так как первое значение не определено [pic 17], в противном случае принимаем значение счетчика начала цикла равным [pic 18]
- В цикле с параметром от [pic 19] до [pic 20] , путем сравнения, устанавливаем реальный минимум
- В цикле с предусловием пока не просмотрели все элементы массива значений, начиная с [pic 21] путем сравнения, устанавливаем реальный максимум
3. Блок – схема
[pic 22]
Рисунок 1 − Блок-схема решения задачи
4. Код программы на языке Pascal
program zadacha1;
uses crt;
var y:array[1..100] of real; {массив значений функции}
t,dt, {значение аргумента и шага}
a,b, {вводимые параметры}
min,max:real; {наибольшее и наименьшее значение}
i,i0,k:integer; {счетчики}
begin
write('a---> ');readln(a); {ввод параметром с клавиатуры}
write('b---> ');readln(b);
dt:=0.15;
clrscr;
write(' t y '); {шапка таблицы}
writeln(' (a=',a:5:2, ' b=',b:5:2, ')');
k:=0;
t:=0; {начинаем с левого края отрезка}
repeat {цикл с постусловием}
k:=k+1; {считаем количество значений}
...