Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
файл 2 примеры решения задач.doc
Скачиваний:
19
Добавлен:
31.05.2015
Размер:
404.99 Кб
Скачать

Пошаговый словесный алгоритм

Шаг 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выводятся на экран.