Математика и информатика. Учебное пособие по всему курсу Тольятти 2008 удк 51 004 (075. 8) Ббк 22. 1832. 81 Е егорова, Э. В. Учебное пособие по дисциплине Математика и информатика для студентов гуманитарных и педагогических специальностей очной формы обучения
Скачать 1.82 Mb.
|
Глава 8. Основы алгоритмизации8.1. Понятие и свойства алгоритмаАлгоритм это последовательность арифметических, логических и прочих операций, необходимых для выполнения на ЭВМ. Применительно к ЭВМ алгоритм определяет вычислительный процесс, начинающейся с обработки некоторой совокупности возможных исходных данных и направленный на получение определенных этими исходными данными результатов. Термин «вычислительный процесс» распространяется и на обработку других видов информации, например, символьной, графической или звуковой. Алгоритм – одно из фундаментальных понятий информатики. Алгоритмизация наряду с моделированием выступает в качестве общего метода информатики. Алгоритмы являются объектом систематического исследования пограничной между математикой и информатикой научной дисциплины, примыкающей к математической логике – теории алгоритмов. Понятие алгоритма и определение его свойств позволяет познакомиться с алгоритмизацией. Основными свойствами алгоритмов являются: 1. Универсальность (массовость) – применимость алгоритма к различным наборам исходных данных. 2. Дискретность – процесс решения задачи по алгоритму разбит на отдельные действия. 3. Однозначность (детерминированность) – правила и порядок выполнения действий алгоритма имеют единственное толкование. 4. Конечность – каждое из действий и весь алгоритм в целом обязательно завершаются. 5. Результативность – по завершении выполнения алгоритма обязательно получается конечный результат. 6. Выполнимость – алгоритм достигает результата за конечное число шагов. Алгоритм должен быть всегда результативен, иметь свойство повторяемости и рассчитан на конкретного исполнителя. В технике таким исполнителем является ЭВМ. Для обеспечения возможности реализации на ЭВМ алгоритм должен быть описан на языке, понятном ЭВМ, то есть на машинном языке, созданным с помощью языка программирования. Алгоритм может быть представлен различными способами, в частности: 1) словесно; 2) таблично; 3) в виде блок-схемы; 4) на алгоритмическом языке. Достаточно распространенным способом представления алгоритма является его запись на алгоритмическом языке, представляющем в общем случае систему обозначений и правил для единообразной и точной записи алгоритмов и исполнения их, т.е. запись в виде прораммы. Предпочтительнее до записи на алгоритмическом языке представить алгоритм в виде блок-схемы. Для построения алгоритма в виде блок-схемы необходимо знать назначении каждого из блоков. В таблице 8.1 представлены типы блоков и их назначение. 8.2. Таблица блоковТаблица 8.1
Примечание. В блок-схемах ввод и вывод может быть представлен в виде параллелограмма. Алгоритмизация выступает как набор определенных практических приёмов, особых специфических навыков рационального мышления в рамках заданных языковых средств. Алгоритмизация вычислений предполагает решение задачи в виде последовательности действий, т.е. решение, представленное в виде блок-схемы. Можно выделить типичные алгоритмы. К ним относятся: Линейные алгоритмы; Разветвляющиеся алгоритмы; Циклические алгоритмы; Из перечисленного списка простейшими является линейные алгоритмы. Задачи, приводящие к линейным алгоритмам, рассматриваются в примере, представленном в виде блок-схемы на рис. 8.1. 8.3. Линейные алгоритмыЗадача 1. Вычислить и вывести на экран значение функции: Y = sin (2 x) / (a + x) b; Представить выполнение задачи в виде блок-схемы. Решение. На рис. 8.1 представлена блок-схема для задачи 1. Рис. 8.1. Блок-схема линейного алгоритма 8.4. ВетвленияРазветвляющиеся алгоритмы редполагают проверку условий для выбора решения. Соответственно в алгоритме появится столько разветвлений, сколько условий. Во второй задаче рассматривается один из примеров разветвляющихся алгоритмов. Пример 2. Найти максимальное значение из трёх различных целых чисел, введенных с клавиатуры. Представить выполнение задачи в виде блок-схемы. Решение. Для этой простой задачи можно представить несколько различных алгоритмов. Алгоритм задачи 2, представленный в виде блок-схемы на рис. 8.2, предусматривает проверку каждого условия отдельно. Такой вариант ветвления позволяет анализировать каждое из условий. Рис. 8.2. Блок-схема алгоритма ветвления Алгоритм ветвления задачи 2, представленный в виде блок-схемы на рис. 8.3, предусматривает проверку сразу двух условий одновременно. Такой вариант ветвления проще, но не позволяет анализировать каждое из условий. Рис. 8.3. Блок-схема алгоритма ветвления 8.5. Циклы. Повтор с заданным количеством цикловПример 3. Дано количество циклов n. Требуется найти произведение значений счётчика цикла. В этом примере известно количество циклов. Поэтому произведение будет равно р=123,…,n. С клавиатуры вводится любое количество циклов и р=1. Данный алгоритм можно назвать «вычисление факториала», который применим в разделах 3.13.3 для вычисления перестановок, размещений и сочетаний. Алгоритм этой эадачи дан на рис. 8.4. Рис. 8.4. Блок-схема циклического алгоритма решения задачи 3 8.6. Вопросы для самоконтроля по теме «Алгоритмизация»1. Определите правильный ответ. Выбрать из списка значения переменных, которые следует ввести с клавиатуры, чтобы алгоритм закончил работу: a) A = -5; C=-2. b) A = - 2; C=-5. c) A=0; C=0. d) A=1; C=1. 2. Определите правильный ответ. После выхода из цикла переменные равны: a) A=3; C=-1. b) A=1; C=7. c) A=0; C=0. d) A=-1; C=5. 3. Определите правильный ответ. Выбрать из списка значения переменных, которые следует ввести с клавиатуры, чтобы алгоритм закончил работу: a) A =2; C =-2. b) A=-2; C =-2. c) A=0; C=0. d) A=2; C=2. 4. Определите правильный ответ. Выбрать из списка значения переменных, которые следует ввести с клавиатуры, чтобы алгоритм закончил работу: a) A=1; C=1. b) A=-1; C=1. c) A=0; C=0. d) A=1; C=-2. 5. Определите правильный ответ. Выбрать из списка значения переменных, которые следует ввести с клавиатуры, чтобы алгоритм закончил работу: a) A=-5; C=5. b) A=5; C=-5. c) A=5; C=5. d) A=0; C=0. 6. Определите правильный ответ. Выбрать из списка значения переменных, которые следует ввести с клавиатуры, чтобы алгоритм закончил работу: a) A=1; C=1. b) A=1; C=-1. c) A=0; C=0. d) A=0; C=-2. 7. Определите правильный ответ Выбрать из списка значения переменных, которые следует ввести с клавиатуры, чтобы алгоритм закончил работу: a) A=7; C=7. b) A=5; C=-5. c) A=-5; C=5. d) A=0; C=0. 8. Определите правильный ответ. Выбрать из списка значения переменных, которые следует ввести с клавиатуры, чтобы алгоритм закончил работу: a) A=5; C=5. b) A=-5; C=5. c) A=0; C=0. d) A=5; C=-5. 9. Определите правильный ответ. Выбрать из списка значения переменных, которые следует ввести с клавиатуры, чтобы алгоритм закончил работу: a) A=-10; C=-10. b) A=10; C=-1. c) A=10; C=-10. d) A=-10; C=10. |