Алгоритмизация линейного, разветвляющегося и

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторным и самостоятельной работам

по дисциплине

«АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ»

(для студентов специальности 6.050101)

У т в е р ж д е н о

на заседании кафедры

компьютерных информа-

ционных технологий.

Протокол № от . .13г.

Краматорск 2013

УДК 681.31:001.8

Методические указания к лабораторным и самостоятельной работам по дисциплине ”Алгоритмизация и программирование” (для студентов специальности 6.050101)/Сост.: О.В.Веремей -Краматорск: ДГМА, 2013. - 95 с.

Методическая разработка состоит из двух частей. Часть 1 содержит основные типы задач, позволяющих самостоятельно освоить приемы и методы алгоритмизации, получить навыки в составлении блок-схем. Часть 2 содержит описание пятнадцати лабораторных работ, позволяющее получить навыки составления и отладки программ на языке СИ. Также даны краткие теоретические сведения, позволяющие самостоятельно подготовиться к выполнению приведенных работ.

Задания расположены в порядке возрастания сложности. Большое количество вариантов для индивидуальной работы позволит вовлечь всех студентов в процесс активного изучения материала.

Составители О.В.Веремей, ст.препод.,

Отв. за выпуск А.Ф.Тарасов, проф.

С О Д Е Р Ж А Н И Е

Часть 1.Понятие алгоритма и принципы алгоритмизации 4

Основные принципы разработки алгоритмов и программ. . . . . . 4

Лабораторная работа 1 Алгоритмизация линейного, разветвляющегося

и циклического вычислительного процесса 6

Лабораторная работа 2 Селективная обработка массивов 12

Лабораторная работа 3 Вложенные циклы. Обработка двумерных

массивов 21

Часть 2. Составление и отладка программы. Вычисление и

обработка результатов 32

Лабораторная работа № 4 Изучение интегрированной среды С 33

Лабораторная работа 5. Операторы присваивания, ввода, вывода.

Программирование линейного вычислительного процесса . . . . . 34

Лабораторная работа 6. Разветвляющийся вычислительный процесс с

различными логическими условиями: оператор if... else, условная

операция (?:).. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Лабораторная работа 7. Программирование циклического

вычислительного процесса.. . . . . . . . . . . . . . 50

Лабораторная работа 8. Оператор switch, оператор break, оператор

goto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Лабораторная работа 9. Операции С, их приоритеты и

использование.Преобразование типов. . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Лабораторная работа 10. Массивы.. Селективная обработка массивов. . 69

Лабораторная работа 11. Формирование рабочих массивов

с помощью операции селекции исходного массива. . . . . . . . . . . . 73

Лабораторная работа 12. Сортировка одномерных массивов. . . . . . . . . 78

Лабораторная работа 13Многомерные массивы. . . . . . . . . . . . . . . 82

Лабораторная работа 14 Вложенные циклы. Многомерные массивы. 86

Лабораторная работа 15. Изучение графических средств С . . . . . . . . 88

Список рекомендуемой литературы. . . . . . . . . . . . . . . . . . . . . . . . 94

ЧАСТЬ 1.ПОНЯТИЕ АЛГОРИТМА И ПРИНЦИПЫ АЛГОРИТМИЗАЦИИ

Порядок выполнения лабораторных работ

1 Выучите теоретический материал к лабораторной работе.

2 Ознакомьтесь с примерами блок-схем.

3 Составьте блок-схему по указанному варианту.

4 Оформите отчет о выполненной работе.

Содержание отчета

Отчет должен содержать:

1) цель работы;

2) условие задачи;

3) блок-схему алгоритма решения задачи;

4) короткие выводы из работы.

Основные принципы разработки алгоритмов

И программ

Решение любой задачи на ЭВМ состоит из нескольких этапов, среди которых основными являются следующие: 1) постановка задачи; 2) формализация (математическая постановка задачи); 3) выбор (или разработка) метода решения; 4) разработка алгоритма (алгоритмизация); 5) составление программы (программирование); 6) отладка программы; 7) вычисление и обработка результатов.

При постановке задачи первостепенное внимание должно быть уделено выяснению конечной цели и выработке общего подхода к исследуемой проблеме; изучению общих свойств рассматриваемого физического явления или объекта; анализу возможностей конкретной ЭВМ и данной системы программирования. Правильно сформулировать задачу иногда не менее сложно, чем ее решить.

Формализация, как правило, сводится к построению математической модели рассматриваемого явления, когда в результате анализа существа задачи определяются объем и специфика исходных данных, вводится система условных обозначений, устанавливается принадлежность решаемой задачи к одному из известных классов задач и выбирается соответствующий математический аппарат.

Разработка алгоритма заключается в разложении вычислительного процесса на возможные составные части, установлении порядка их следования. В практике программирования широкое распространение получили схемы алгоритмов. Схема - это последовательность блоков, предписывающих выполнение определенных функций, и связей между ними. Внутри блоков дается информация, характеризующая выполняемые ими действия. Некоторые, наиболее часто употребляемые блоки и пояснения к ним приведены в таблице 1. Алгоритм синтезируется из типовых структурных блоков. По характеру связей между блоками, т.е. по структуре, алгоритмы делятся на линейные, разветвляющиеся и циклические.

Таблица 1 - Условные графические обозначения, применяемые при составлении блок-схем

Название символа Символ Отображаемая функция
алгоритмизация линейного, разветвляющегося и - student2.ru 1 Блок вычислений   Вычислительное действие или последовательность вычислительных действий
алгоритмизация линейного, разветвляющегося и - student2.ru 2 Логический блок   Выбор направления выполнения алгоритма в зависимости от некоторых условий (условия)
алгоритмизация линейного, разветвляющегося и - student2.ru 3 Ввод-вывод   Общее обозначение ввода или вывода данных (вне зависимости от физического носителя)
алгоритмизация линейного, разветвляющегося и - student2.ru 4 Начало-конец   Начало или конец программы, останов, вход или выход в подпрограммах
алгоритмизация линейного, разветвляющегося и - student2.ru 5 Предопределенный процесс (подпрограмма)   Вычисления по стандартной подпрограмме или подпрограмме пользователя
алгоритмизация линейного, разветвляющегося и - student2.ru 6 Блок модификации (заголо-вок цикла)     Выполнение действий, изменяющих пункты алгоритма
алгоритмизация линейного, разветвляющегося и - student2.ru 7 Межстраничный соединитель   Указание связи между частями схемы, расположенными на разных листах

Лабораторная работа 1

АЛГОРИТМИЗАЦИЯ ЛИНЕЙНОГО, РАЗВЕТВЛЯЮЩЕГОСЯ И

Наши рекомендации