
Типовые структуры алгоритмов
.pdf
тела цикла из условия задачи неизвестно и будет определяться в процессе его выполнения.
Переменной цикла будет величина del, которая является целой частью частного от деления числового значения b на 10. При каждом выполнении тела цикла выделяется одна цифра (сh) и добавляется в сумму (s). Текущее значение переменной b принимается равным целой части очередного частного от деления на 10. Деление продолжается до тех пор, пока целая часть частного не станет равна 0.
После того, как выполнение цикла будет закончено, необходимо вывести полученную сумму цифр и завершить алгоритм.
Целая часть числового значения обозначается в алгоритме квадратными скобками.
Блок-схема алгоритма определения суммы цифр в записи числа
Ввод: b
s = 0
del = 10b ch = b −del 10
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
s = s + ch |
||
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b = del |
||
|
|
|
|
|
|
|
|
|
Нет |
|
Да |
|
|
del = 0 |
|||
|
|
|
||||||
|
|
|
||||||
|
|
|
|
|
||||
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вывод: s |
|
|
|
|
|
|
|
|
|
|
21

Задача 5. Задана матрица C размера m×n. Составить алгоритм определения минимального элемента матрицы.
Матрица – это прямоугольная таблица чисел. В общем случае матрица C имеет следующий вид:
|
С |
С |
С |
... |
C |
|
||||
|
|
11 |
|
12 |
|
13 |
|
|
1n |
|
C21 |
C22 |
C23 |
... |
C2n |
||||||
С = C31 |
C32 |
C33 |
... |
C3n |
, |
|||||
|
|
|
|
|
|
|
... |
... |
|
|
... ... ... |
|
|||||||||
C |
m1 |
C |
m2 |
C |
m3 |
... |
C |
|
|
|
|
|
|
|
|
|
mn |
где m – количество строк, n – количество столбцов матрицы. Обращение к элементу двумерного массива производится по
имени массива с указанием индексов, что обеспечивает прямой доступ к любому элементу массива, например: С11 , Cij,, Сi3 и т.д.
Элемент двумерного массива (матрицы) содержит два индекса, причем первый индекс всегда обозначает номер строки матрицы, а второй – номер столбца.
Ввод/вывод массива производится поэлементно, с использованием циклического алгоритма. Для матрицы допускается ввод как по строкам, так и по столбцам. Способ ввода матрицы определяется тем, какой индекс (строки или столбца) изменяется первым.
При разработке алгоритма необходимо сначала организовать ввод матрицы: ввести количество строк (m) и столбцов (n) матрицы, а также ее элементы. Для ввода элементов массива обычно используют циклы с параметром, так как количество элементов известно из условия задачи, и их нужно вводить последовательно друг за другом начиная с первого. Таким образом, во внешнем цикле переменная i, которая определяет номер строки в индексе вводимого элемента Cij, будет изменяться от 1 до m с шагом 1, а во внутреннем цикле переменная j, которая определяет номер столбца в индексе вводимого элемента Cij, будет изменяться от 1 до n с шагом 1.
Затем следует определить начальное значение переменной, в которую будет помещаться минимальная величина (Min). В качестве начального минимального значения (Min) можно принять
первый элемент заданной матрицы ( С11 ).
22

Для обработки матрицы обычно используются циклы с параметром, если необходимо обрабатывать последовательно один элемент за другим, начиная с первого. В теле внутреннего цикла необходимо сравнивать элемент массива Cij c минимальным значением (Мin). Если значение Cij меньше минимального значения, тогда этот элемент нужно принять за минимальный. В противном случае необходимо выполнять возврат на начало внутреннего цикла для обработки следующего элемента данной строки. Когда внутренний цикл по столбцам завершится, необходимо вернуться на внешний цикл для обработки элементов следующей строки.
После того, как будут обработаны все элементы матрицы, необходимо закончить внешний цикл, вывести полученное минимальное значение и завершить алгоритм.
Следует отметить, что внутренний цикл выполняется полностью для каждого значения переменной внешнего цикла.
Например, если i – переменная внешнего цикла, а j – переменная внутреннего цикла, тогда:
для i = 1 переменная j принимает значения j = 1, 2, 3, …, n; для i = 2 переменная j принимает значения j = 1, 2, 3, …, n; для i = 3 переменная j принимает значения j = 1, 2, 3, …, n;
. . .
для i=m переменная j принимает значения j = 1, 2, 3, …, n.
Блок-схема алгоритма определения минимального элемента матрицы
Ввод: m, n |
i = 1, m, 1 |
j = 1, n, 1 |
Ввод: Cij |
А |
23 |

А |
i = 1, m, 1 |
j = 1, n, 1 |
Вывод: Cij |
Мin = С11 |
i = 1, m, 1 |
j = 1, n, 1 |
Нет |
Да |
|
|
Cij < Min |
|
|
|||||
|
|
|
|||
|
|
|
|
||
|
|
||||
|
|
|
|
Min = Cij |
|
|
|
|
|
|
|
|
|
|
|
|
|
Вывод: Min
24
ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ
1.Что такое алгоритм?
2.Какими свойствами характеризуется алгоритм?
3.Какие существуют способы представления алгоритмов?
4.Что такое блок-схема?
5.Какой алгоритм называют линейным?
6.Какой алгоритм называют разветвляющимся?
7.Какой алгоритм называют циклическим?
8.Какая переменная называется переменной цикла?
9.Как определяется переменная цикла?
10.Как определяется тело цикла?
11.Какой цикл называется циклом с предусловием?
12.Какой цикл называется циклом с постусловием?
13.Какой цикл называется циклом с параметром?
14.Какой алгоритм называют комбинированным?
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
1.Информатика. Базовый курс : учеб. для вузов / С.В. Симонович [и др.]. – СПб. : Питер, 2004. – 640 с.
2.Острейковский В.А. Информатика : учеб. для вузов / В.А. Острейковский. – М. : Высшая школа, 2005. – 511 с.
3.Кнут Д. Искусство программирования. Т.1. Основные алгоритмы = The Art of Computer Programming. V.1. Fundamental Algorithms. - 3-е изд. - М. : Вильямс, 2006. – 720 с.
4.Единая система программной документации. ГОСТ 19.701–
90.Схемы алгоритмов, программ данных и систем. Условные обозначения и правила выполнения. – М.: Издательство стандартов, 1994.
5.Информатика: Энциклопедический словарь для начинающих / Под ред. Д.А. Поспелова - М.: Педагогика, 1994. – 352 с.
6.Современный словарь иностранных слов: Ок. 20 000 слов. -
М.: Рус. Я., 1992. - 740 с.
7.Толковый словарь по вычислительным системам / Под ред. В. Иллингуорта и др.: Пер. с англ. А. К. Белоцкого и др.; Под ред. Е.К. Масловского. - М.: Машиностроение, 1991. - 560 с.
25
СОДЕРЖАНИЕ |
|
ЦЕЛЬ РАБОТЫ ......................................................................... |
3 |
ВВЕДЕНИЕ................................................................................ |
3 |
ОБЩИЕ СВЕДЕНИЯ................................................................. |
4 |
Определение алгоритма.......................................................... |
4 |
Свойства алгоритма................................................................. |
5 |
Способы представления алгоритма ....................................... |
5 |
ПРАВИЛА ПОСТРОЕНИЯ БЛОК-СХЕМ.................................. |
6 |
ТИПОВЫЕ СТРУКТУРЫ АЛГОРИТМОВ................................. |
9 |
Линейный алгоритм.................................................................. |
9 |
Разветвляющийся алгоритм.................................................. |
10 |
Циклический алгоритм ........................................................... |
11 |
КОМБИНИРОВАННЫЕ АЛГОРИТМЫ................................... |
16 |
ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ....................................... |
25 |
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА........................................ |
25 |
СОДЕРЖАНИЕ........................................................................ |
26 |
26
Учебное издание
Составители
Павлова Лариса Дмитриевна Балицкая Наталья Владимировна
ТИПОВЫЕ СТРУКТУРЫ АЛГОРИТМОВ
Рекомендации к выполнению лабораторной работы по дисциплине «Информатика»
Технический редактор Н.П. Лавренюк
Подписано в печать __________ 2010г. Формат бумаги 60 х 84 1/16. Бумага писчая. Печать офсетная. Усл. печ. л. ____ Уч. - изд. л.
____ Тираж 100 экз. Заказ ______
Сибирский государственный индустриальный университет 654007, г. Новокузнецк, ул. Кирова,42
Издательский центр СибГИУ