- •1. Задачи по разработке алгоритмов и программ
- •Программа
- •Результат работы программы
- •1.3. Вычислительные процессы с использованием процедур
- •Решение задачи
- •Программа
- •Результат работы программы
- •Пошаговый словесный алгоритм
- •Решение задачи
- •Пояснения к схеме алгоритма
- •Программа
- •Фрагмент результата работы программы
- •Пошаговый словесный алгоритм
- •Решение задачи
- •Программа
- •Пояснения к схеме алгоритма
- •Решение задачи
- •Программа
- •Результат работы программы
- •Пояснения к схеме алгоритма
- •Решение задачи
- •Пояснения к схеме алгоритма
- •Программа
- •Результат работы программы
- •Решение задачи
- •Пояснения к схеме алгоритма
- •Программа
- •Результат работы программы
- •1.6. Алгоритмы и программы для нахождение сумм и произведений функциональных выражений
- •Решение задачи
- •Пояснения к схеме алгоритма
- •Программа
- •Результат работы программы
Решение задачи
Алгоритм решения задачи состоит в организации цикла для перебора элементов массива Х (проводится последовательная проверка заданных интервальных условий переменной xi и вычисление z в соответствии с постановкой задачи). Обратить внимание, что тангенс должен быть определен, то есть cos xi ≠ 0. Схема алгоритма решения задачи представлена на рис. 1.9.
Программа
Program Prog1_9;
Var
N, I : Byte;
X : Array [1..20] of Real;
Z: Real;
Begin {начало раздела операторов программы}
Write('Введите размер (число элементов) массива Х (до 20) ');
Read(N); {чтение числа элементов массива Х}
for I := 1 to N do
Begin {начало цикла–для перебора элементов массива Х}
Write('Введите ', I, '-й элемент массива Х ');
Readln(X[I]); {чтение значения элемента Х[I]}
{вычисление Z в зависимости от значения элемента X[I]}
If (X[I]>10) and (Cos(X[I])=0) Then Writeln('Функция не определена')
else begin {начало блока 1}
If X[I]<-10 Then Z := Sin(X[I])
else If X[I] < 1 Then Z := cos(X[I])
else If X[I]<10 Then Z:= Ln(X[I])
else Z:=sin(X[I])/cos(X[I]);
Writeln('Z = ', Z:7:2); {вывод значения Z на экран}
end; {конец блока 1}
end; {конец цикла}
End. {конец программы}
Результат работы программы
Введите размер (число элементов) массива Х (до 20) 3
Введите 1-й элемент массива Х 6
Z = 1.79
Введите 2-й элемент массива Х 30
Z = -6.41
Введите 3-й элемент массива Х -10
Z = -0.84
Рис. 1.9
Пояснения к схеме алгоритма
Обозначение:
X[I] –xiэлемент массиваХ.
Символ 1. Начало алгоритма.
Символ 2. Ввод размера массиваN.
Символ 3. Открытие цикла с параметромI= 1;Nдля перебора значений массиваX[I].
Символ 4. Ввод с клавиатуры элемента массиваX[I].
Символ 5. Проверка условияX[I] > 10 и значение cos(X[I]) = 0 (условие того, что значениеможет быть вычислено). Если условие верно, то далее выполняетсясимвол6, если нет –символ 7.
Символ 6. Вывод на экран сообщения «Функция не определена».
Символ 7. Проверка условияX[I] < -10. Если условие верно, то далее выполняетсясимвол8, если нет –символ9.
Символ 8. Присвоение переменнойZзначенияsin(X[I]).
Символ 9. Проверка условияX[I] принадлежит интервалу [–10; 1). Если условие верно, то далее выполняетсясимвол10, если нет –символ11.
Символ 10. Присвоение переменнойZзначения cos(X[I]).
Символ 9. Проверка условияX[I] принадлежит интервалу [1; 10). Если условие верно, то далее выполняетсясимвол12, если нет –символ13.
Символ 12. Присвоение переменнойZзначения ln(X[I]).
Символ 13. Присвоение переменнойZзначения.
Символ 14. Вывод на экран значения переменнойZ.
Символ 15. Закрытие цикла с параметромI.
Символ 16. Конец алгоритма.
Задача 1.10.Разработать схему алгоритма и программу для вычисления значений элементов матрицыАразмером 512, которые заданы формулой
Значения элементов массива aijвывести на экран.
Решение задачи
Алгоритм решения задачи состоит в организации двух циклов по iиjдля вычисления в зависимости от условий значений элементов двумерного массиваaij. Схема алгоритма решения задачи представлена на рис. 1.10.
Рис. 1.10
Пояснения к схеме алгоритма
Обозначения:
A[I, J] –aijэлемент матрицыА.
Символ 1. Начало алгоритма.
Символ 2. Открытие внешнего цикла с параметромI = 1; 5 для перебора строк матрицы A.
Символ 3. Открытие внутреннего цикла с параметромJ = 1; 12 для перебора столбцов матрицы A.
Символ 4. Проверка условияIJ. Если условие верно, то далее выполняетсясимвол5, если нет – тосимвол6.
Символ 5. Присвоение элементуA[I,J] значения sin(I +J).
Символ 6. Присвоение элементуA[I,J] значенияln(I/J).
Символ 7. Вывод на экран значенияA[I,J].
Символ 8. Закрытие внутреннего цикла с параметромJ.
Символ 9. Закрытие внешнего цикла с параметромI.
Символ 10. Конец алгоритма.