- •МеТодические указания к лабораторным и практическим работам
- •Пояснительная записка
- •Инстркуция по охране труда и технике безопасности
- •Теоретический материал
- •Линейные алгоритмы
- •Лабораторная работа №4
- •Ход работы.
- •Теоретический материал
- •Практическое задание.
- •Контрольные вопросы.
- •Содержание отчета.
Практическое задание.
Выполнить постановку задачи и математическую модель, составит алгоритм, записав его в виде блок–схемы и псевдокода для решения следующих задач.
Найти произведение натуральных чисел на диапазоне [17, 41].
Дано К натуральных чисел. Найти сумму чисел, меньших 100 .
Дано К натуральных чисел. Найти сумму чисел кратных 3.
Дано К чисел. Найти произведение четных натуральных чисел.
Дано К чисел. Напечатать квадраты всех отрицательных чисел.
Дано К чисел. Вывести на экран все числа до первого нуля.
Дано К натуральных чисел. Вывести на экран все нечетные числа.
Дано К чисел. Вычислить квадратные корни из кратных 4 чисел.
Дано К чисел. Вывести на экран все числа до первого отрицательного.
Найти сумму квадратов натуральных чисел на диапазоне [1, 21].
Дано К чисел. Вывести на экран разность между текущим и предыдущим.
Дано К чисел. Найти количество чисел, меньших 10 .
Дано К чисел. Найти количество нулей.
Контрольные вопросы.
Какой циклический процесс называют "циклом с параметром"? Его характерные особенности?
Что такое параметр цикла и зачем он нужен?
Проанализируйте, чем могут быть выражены значения параметра цикла?
Содержание отчета.
Тема, цель.
Выполненное практическое задание.
Ответы на контрольные вопросы.
Лабораторная работа №5
Тема. Табуляция функции.
Цель. Освоить составление алгоритмов с использованием итерационных циклов для табуляции функции
Ход работы.
Повторить теоретическую часть.
Выполнить практическое задание.
Ответить на контрольные вопросы.
Теоретический материал
Цикл представляет собой последовательность операторов, которая выполняется неоднократно.
Имеется три разновидности цикла — цикл с постусловием ("До"), цикл с предусловием ("Пока") и цикл с параметром ("Для").
Следует знать:
-подавляющее большинство задач с циклами можно решить разными способами, используя при этом любой из трех типов алгоритмов;
-в некоторых случаях все же предпочтительнее использовать какой-то один;
-самым универсальным из всех типов циклов считается цикл с постусловием, поэтому в случае затруднений с выбором можно отдать предпочтение ему;
Цикл с постусловием
повторять
{ тело цикла }
до Условие выхода из цикла;
Вначале выполняется тело цикла — инструкции, которые находятся между повторять и до, затем проверяется значение Условия выхода из цикла. В том случае, если оно равно false (ложь), т. е. не выполняется — инструкции цикла повторяются еще раз. Так продолжается до тех пор, пока условие не станет true (истина).
При выполнении цикла:
– число повторений действий цикла определяется в ходе выполнения алгоритма и во многих случаях заранее неизвестно;
- тело цикла будут выполняться, пока условие выхода из цикла будет оставаться ложным;
- условие — это выражение логического типа: простое выражение отношения или сложное логическое выражение;
- для успешного завершения цикла в его теле обязательно должны быть инструкции, выполнение которых влияет на условие завершения цикла, иначе цикл будет выполняться бесконечно. Другими словами, переменная, которая участвует в условии выхода из цикла, обязательно должна изменяться в теле цикла.
- цикл с постусловием (условие проверяется после выполнения тела цикла), т. е. инструкции тела цикла будут выполнены хотя бы один раз.
-поэтому цикл с постусловием удобно использовать в тех случаях, когда тело цикла гарантированно должно выполниться хотя бы один раз;
Цикл с предусловием состоит из заголовка и тела цикла.
Пока Условие выполнения цикла делать
начало
{ тело цикла }
конец;
Цикл с предусловием аналогичен циклу с постусловием, но проверка Условие выполнения цикла производится в самом начале алгоритма — если значение условия равно true (истина), то выполняются действия тела цикла, находящиеся между начало и конец и снова вычисляется выражение Условие выполнения цикла. Так продолжается до тех пор, пока значение Условие выполнения цикла не станет равно false (ложь).
При выполнении цикла:
* число повторений тела цикла, как правило, заранее неизвестно;
* после слова пока записывается условие продолжения выполнения инструкций цикла;
* условие — это выражение логического типа: простое выражение отношения или сложное выражение отношения (логическое выражение), которое может принимать одно из двух значений: true или false;
* для успешного завершения цикла в его теле обязательно должны присутствовать инструкции, оказывающие влияние на условие выполнения инструкций цикла.
Одна из задач, в которой могут быть использованы цикл постусловием или с предусловием, есть задача табуляции. Под табуляцией следует понимать получение результата для каждого значения аргумента.
Пусть необходимо решить задачу:
, если а < 0
, если 0 < a < 1
, если a > 2
где х – любое, а принадлежит [-1,3], шаг а = 0,25
Это и есть задача табуляции, когда каждому значению аргумента ставится в соответствие значение функции.
Решение начинается с формализации задачи, которая состоит из двух этапов: постановки задачи и построения модели процесса. Постановка задачи включает выяснение цели задачи, определения и описания(указания типов) входных и выходных данных. По результатам формализации строится алгоритм в виде блок–схемы, затем алгоритм кодируется. Заключительным этапом является проверка правильности работы алгоритма.
Формализация
Постановка задачи
Цель. Вычислить значение функции F по приведенным в условии формулам
Входные данные
а – аргумент.
х– переменная
Так как обе величины могут быть как целыми, так и дробными, то переменные а, х:real.
Выходные данные.
F – Значение функции.
F: real.
Математическая модель.
Отметим решения на числовой прямой
0 1 2
0) Х
1) а=-1
2) После определения вида функции в зависимости от того в какой интервал попадает аргумент, следует выяснить всегда ли функция непрерывна на этом интервале
а < 0; возникают неявные условия, т.к.
х может быть любым числом, а возвести в
дробную степень можно только неотрицательное
число, то должно выполняться условие
х≥0;
;
иначе значение F не
определено
3) 0 < a < 1; возникают неявные условия, тангенс можно вычислить только, если Сos(a2)<>0;F=Cos2(x)+(Sin(a2)/Cos(a2))3 ; иначе значение функции F не определено
1= < a < =2; Функция не задана
4) a > 2; возникают неявные
условия, т.к. х может быть любым числом,
а извлечь корень можно только из
неотрицательного числа и логарифм можно
вычислить только для положительных
аргументов, то должно выполняться
условие х>0; F=
;
иначе значение F не
определено.
5) а=а+0,25
6) а>3 – выход из цикла, иначе к п2
Алгоритм решения
Алгоритм выполняется следующим образом.
Шаг 0. Вводится недостающая для вычисления значение переменной х.
Шаг 1 Задается начальное значение аргумента
Дальше н шагах 2, 6, 10, 12 выясняется в какой из интервалов попало значение аргумента
Шаг 2. Если а < 0, то переход к шагу 3 – проверке неявных условий, х≥0. Если условие выполняется, то вычисляется значение функции по формуле (шаг 4) и выводится результат(шаг 5), иначе выдается сообщение о том, что значение F не определено.
Шаг 6. 0 < a < 1, то переход к шагу 7 – проверке неявных условий Сos(a2)<>0; Если условие выполняется, то вычисляется значение функции по формуле F=Cos2(x)+(Sin(a2)/Cos(a2))3 (шаг 8) и выводится результат(шаг 9), иначе выдается сообщение о том, что значение F не определено.
Шаг 10. Если 1= < a < =2, то выдается сообщение о том. что на этом интервале функция не задана(шаг 11)
Шаг 12. Если a > 2, то переход к шагу 13 – проверке неявных условий х>0. Если условие выполняется, то вычисляется значение функции по формуле; F= (шаг14); и выводится результат(шаг 15), иначе выдается сообщение о том, что значение F не определено
Шаг 16. Изменение аргумента на величину шага
Шаг 17. Проверка условия выхода из цикла. Если его значение "ложь", то цикл выполняется еще раз
0
1
а=-1
2
+ -
+
-
3
4
5
6
+
-
7
+
8
F=Cos2(x)+(Sin(a2)/Cos(a2))3
9
1
0
+ -
1
1
12 +
-
13
+ -
1
F=
1 5
1
a=a+0.25
1
7
- +
Кодирование алгоритма
программа Табуляция;
Var a,х,F: real;
Начало
вывод ('Введите значение переменной х ');
ввод (х);
а:=-1;
повторять
Если а < 0 то
если х≥0 то начало
;
вывод('F=',F,'a=',a);
конец
иначе вывод('значение F не определено');
если (0 < a) и (а < 1) то
если Сos(a2)<>0 то начало
F=Cos2(x)+(Sin(a2)/Cos(a2))3 ;
вывод('F=',F,'a=',a);
конец
иначе вывод('значение F не определено');
если (1= < a) и (а < =2) то вывод(' Функция не задана при а=',а);
если a > 2 то то
если х>0 то начало
F= ;
вывод('F=',F,'a=',a);
конец
иначе вывод('значение F не определено');
а:=а+0,25;
до а>3
конец.
Тестирование алгоритма
Тестирование алгоритма
Шаг 0. Вводится значение переменной: х=1
Шаг 1. а=-1
Шаг 2. а < 0, переход к шагу 3 – проверке неявных условий, х≥0, условие выполняется, вычисляется значение функции по формуле =-1-1=-2(шаг 4) и выводится результат: F=-2
Шаг 3. (0 < a) и (а < 1); «ложь»
Шаг 4. (1= < a) и (а < =2); «ложь»
Шаг 5. (1= < a) и (а < =2) ; «ложь»
Шаг 6. a > 2; «ложь»
Шаг 7. а:=а+0,25;
Шаг 8. а>3; «ложь»; переход к шагу 2
Для того, чтобы проверить весь алгоритм, тестирование следует повторить при различных а , чтобы проверить разные интервалы.
Только после этого, можно сделать вывод, что алгоритм работает правильно
Практическое задание.
Выполнить постановку задачи и математическую модель, составит алгоритм, записав его в виде блок–схемы и псевдокода для вычисления значение выражения из таблицы
1. Протабулировать функцию
если x < a если
x = a если x >
a
|
2. Протабулировать функцию
x<-2,3
-2,1<х<0
х>1 Где a,в – любые; х принадлежит [-3,3], шаг х=0.2 |
3. Протабулировать функцию
если х<0 если
0<х<1 если
х>1
где b-любое; х принадлежит [-2,2], шаг х = 0,4 |
4. Протабулировать функцию
если t<-2
если
0<t<1 если
t > 2
где t принадлежит [-3,3], шаг t = 0,1; а – любое. |
5. Протабулировать функцию:
, если a < -0,2 , если
0<a<=0,4 , если
а>0,8 ,
где х – любое; а принадлежит [-0,8; 1] , шаг а=0,1 . |
6. Протабулировать функцию
, если а < 0 , если
0 < a < 1 , если
a > 2
где х – любое, а принадлежит [-1,3], шаг а = 0,25 |
