
- •1. Задачи по разработке алгоритмов и программ
- •Программа
- •Результат работы программы
- •1.3. Вычислительные процессы с использованием процедур
- •Решение задачи
- •Программа
- •Результат работы программы
- •Пошаговый словесный алгоритм
- •Решение задачи
- •Пояснения к схеме алгоритма
- •Программа
- •Фрагмент результата работы программы
- •Пошаговый словесный алгоритм
- •Решение задачи
- •Программа
- •Пояснения к схеме алгоритма
- •Решение задачи
- •Программа
- •Результат работы программы
- •Пояснения к схеме алгоритма
- •Решение задачи
- •Пояснения к схеме алгоритма
- •Программа
- •Результат работы программы
- •Решение задачи
- •Пояснения к схеме алгоритма
- •Программа
- •Результат работы программы
- •1.6. Алгоритмы и программы для нахождение сумм и произведений функциональных выражений
- •Решение задачи
- •Пояснения к схеме алгоритма
- •Программа
- •Результат работы программы
Пошаговый словесный алгоритм
Шаг 1. Присвоить переменнойMaxзначениеA[1] (Max = 30).
Начало цикла
Шаг 2. ПрисвоитьI = 2 (первая итерация цикла).
Шаг 3. Проверка условия на максимум: 30 < 20 (условие не выполняется).
После первой итерации Max = 30
Шаг 4. ПрисвоитьI = 3. (вторая итерация цикла)
Шаг 5. Проверка условия на максимум: 30 < 40 (условие выполняется). ПрисвоитьMax = 40.
После второй итерации Max = 40
Шаг 6. ПрисвоитьI = 4. (третья итерация цикла).
Шаг 7. Проверка условия на максимум: 40 < 50 (условие выполняется). ПрисвоитьMax = 50.
После третьей итерации Max = 50. Конец цикла.
Задача 1.8. Разработать схему алгоритма и программу нахождения суммы индексов первого минимального элемента матрицыAдля элементовaij, удовлетворяющих условиюi+j> 10. Элементы исходной матрицыАразмером 10 × 20 записаны в файлеа.а.
Решение задачи
Решение задачи состоит в реализации двух циклов для перебора значений матрицы Aи сохранении индексов минимального элемента. Следует обратить внимание, что минимальный элемент следует искать среди элементов,удовлетворяющих условию i + j > 10 и, значит, для задания начального значения переменной минимального элемента необходимо использовать элемент aij, удовлетворяющий этому условию, например, a10 20 (поскольку 10 + 20 > 10). Схема алгоритма решения задачи представлена на рис. 1.8.Следует отметить, что схема алгоритма решения задачи организована без поиска минимального элемента матрицыA, так как в условии задачи не требуется его нахождение. Ниже приведен текст программы, составленной по этой схеме.
Программа
Program Prog1_8;
Var
F : Text;
A : array [1..10, 1..20] of Real;
I, J, IMin, JMin : Byte;
S : Real;
Begin {начало раздела операторов программы}
Assign(F, 'а.а'); Reset(F); {открытие файла а.а}
for I := 1 to 10 do
Begin {начало цикла 1 для перебора строк матрицы А}
for J := 1 to 20 do {цикл 2 для перебора столбцов матрицы А}
Read(F, A[I, J]); {чтение элемента A[I, J] из файла a.a}
Readln(F); {переход на след. строку в файле a.a}
end; {конец цикла 1}
Close(F); {закрытие файла a.a}
{задание начальных значений для индексов минимального элемента}
IMin := 10; JMin := 20;
for I :=1 to 10 do {цикл 3 для перебора строк матрицы А}
for J:= 1 to 20 do {цикл 4 для перебора столбцов матрицы А}
If (I+J>10) and (A[I,J]<A[IMin,JMin]) Then {проверка условий}
Begin {начало блока 1}
{сохранение значений индексов меньшего элемента}
IMin := I; JMin := J;
end; {конец блока 1, конец циклов 3, 4}
S := IMin + JMin; {вычисление суммы индексов}
Writeln('S = ', S :7:2); {вывод суммы на экран}
End. {конец программы}
Рис. 1.8
Пояснения к схеме алгоритма
Обозначения:
A[I, J] –aij элемент матрицыА;
IMin,JMin– значения индексов строки и столбца минимального элемента матрицыА, среди элементовaij, удовлетворяющих условию (i + j) > 10;
S– сумма индексов строк и столбцов минимального элемента матрицыА,среди элементов aij, удовлетворяющих условию (i + j ) > 10.
Символ 1. Начало алгоритма.
Символ 2. Ввод двухмерного массива из файлаа.а. Ввод значений производится с организацией внешнего цикла для перебора строк матрицы Аи внутреннего цикла для перебора столбцов матрицы (табл. П 1.13), на схеме для упрощения это показано в одном символе.
Символ 3.Присвоение переменным IMin, JMin значений 10 и 20 (первоначально элемент должен удовлетворять условию (I +J) > 10).
Символ 4. Открытие внешнего цикла с параметромI = 1, 10 для перебора строк матрицы А.
Символ 5. Открытие внутреннего цикла с параметромJ = 1, 20 для перебора столбцов матрицы А.
Символ 6. Проверка условия на минимум и условия (I +J) > 10. Если условия верны, то выполняетсясимвол7, иначе –символ8.
Символ 7. Присвоение переменнойIMinзначения номера строкиI, переменнойJMinзначения номера столбцаJ.
Символ 8. Закрытие внутреннего цикла с параметромJ.
Символ 9. Закрытие внешнего цикла с параметромI.
Символ 10. Вычисление суммы индексов (переменнаяS) строк и столбцов минимального элемента.
Символ 11. Вывод на экран значения переменнойS.
Символ 12. Конец алгоритма.
Задача 1.9.Разработать схему алгоритма и программу для вычисления значений интервальной функцииzдля значений элементов массивахi(i = 1;n), которые заданы с клавиатуры
Значения zвыводятся на экран.