
- •210700 Инфокоммуникационные технологии и системы связи
- •220700 Автоматизация технологических процессов и производств
- •230400 Информационные системы и технологии
- •1. Цели и задачи дисциплины
- •2. Место дисциплины в структуре основной образовательной программы
- •3. Требования к уровню освоения содержания дисциплины
- •Для специальности 210700 Инфокоммуникационные технологии и системы связи
- •4. Объем дисциплины и виды учебной работы
- •5. Содержание дисциплины
- •Для специальности 210700 Инфокоммуникационные технологии и системы связи
- •6. Лабораторный практикум
- •7. Библиографический список
- •8. Материально-техническое обеспечение дисциплины
- •9. Опорный конспект
- •1. Основы алгоритмизации
- •1.1 Этапы решения задач на эвм.
- •1.2. Алгоритм. Свойства алгоритмов
- •1.3. Формы представления алгоритмов
- •1.4. Алгоритмическая конструкция ветвления
- •1.5. Алгоритмическая конструкция цикла
- •2.1. Разработка консольного проекта
- •2.3. Комментарий
- •2.4. Организация ввода и вывода информации
- •Вывод данных
- •Ввод данных
- •2.5. Разработка проекта типа Windows Forms Application
- •3. Основные элементы языка
- •3.1. Алфавит
- •3.2. Идентификаторы
- •3.3. Переменные и константы
- •3.4. Символьные типы данных
- •3.5. Данные типа int
- •3.6. Данные с плавающей точкой
- •3.7. Логический тип данных
- •3.8. Операции и выражения
- •Арифметические операции
- •Операции инкремента и декремента
- •Операции отношения и логические операции
- •Оператор присваивания
- •Составные операторы присваивания
- •Оператор условия ? :
- •Операция sizeof
- •4. Программирование разветвляющих и циклических алгоритмов
- •4.1. Общие сведения
- •4.2. Оператор if
- •4.3. Оператор switch
- •4.4. Оператор цикла for
- •4.5. Оператор цикла while
- •4.6. Оператор цикла do while
- •4.7. Применение оператора continue
- •4.8. Оператор goto
- •5. Массивы и строки
- •5.1. Массивы
- •5.2. Строки
- •6. Функции
- •6.1. Общие сведения
- •6.2. Описание функции и ее тип
- •6.3. Вызов функции
- •6.4. Область действия переменной
- •6.5. Классы памяти
- •Глоссарий
- •10. Задания на лабораторные работы и методические указания к их выполнению
- •11. Задания на контрольную работу и методические указания к их выполнению
- •Оглавление
8. Материально-техническое обеспечение дисциплины
Таблица 8
№ п/п |
Наименование специализированных аудиторий и лабораторий |
1 |
Классы с персональными компьютерами для проведения текущей и промежуточной аттестации |
2 |
Аудитория с мультимедийным оборудованием для проведения лекционных и практических занятий |
4. |
Интегрированная среда разработки Visual Studio 2010 |
3 |
Описание лабораторных работ |
9. Опорный конспект
1. Основы алгоритмизации
1.1 Этапы решения задач на эвм.
Решение задачи разбивается на этапы:
Постановка задачи
Формализация (математическая постановка)
Выбор (или разработка) метода решения
Разработка алгоритма
Составление программы
Отладка программы
Вычисление и обработка результатов
При постановке задачи выясняется конечная цель и вырабатывается общий подход к решению задачи. Выясняется сколько решений имеет задача и имеет ли их вообще. Изучаются общие свойства рассматриваемого физического явления или объекта, анализируются возможности данной системы программирования.
На этом этапе все объекты задачи описываются на языке математики, выбирается форма хранения данных, составляются все необходимые формулы.
Выбор существующего или разработка нового метода решения (очень важен и, в то же время личностный этап).
На этом этапе метод решения записывается применительно к данной задаче на одном из алгоритмических языков (чаще на графическом).
Переводим решение задачи на язык, понятный машине.
1.2. Алгоритм. Свойства алгоритмов
Алгоритм - это точное предписание, задающее преобразование исходных данных в конечный результат.
Свойства алгоритмов:
Определенность
Дискретность
Целенаправленность
Конечность
Массовость
Дискретность – последовательное выполнение простых или ранее определённых (подпрограммы) шагов. Преобразование исходных данных в результат осуществляется дискретно во времени. Процесс решения задачи должен быть разбит на последовательность отдельных шагов, каждый из которых называется командой. Примером команд могут служить пункты инструкции, нажатие на одну из кнопок пульта управления, рисование графического примитива, оператор языка программирования.
Понятность – каждая команда алгоритма должна быть понятна тому, кто исполняет алгоритм; в противном случае, эта команда и, следовательно, весь алгоритм в целом не могут быть выполнены. Казалось бы, что может быть проще, чем нарисовать на экране точку. Но пока вы не будете знать команду, которая это делает, получить результат будет невозможно.
Определенность - каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвольного толкования. Результат выполнения команд не может зависеть от какой-либо дополнительной информации извне алгоритма. Сколько бы раз вы не запускали программу, для одних и тех же исходных данных всегда будет получаться один и тот же результат. При наличии ошибок в алгоритме, это свойство может иногда нарушаться.
Результативность означает возможность получения результата после выполнения конечного количества операций. Результат выполнения алгоритма должен быть обязательно получен, т.е. правильный алгоритм не может безрезультатно из-за какого-либо непреодолимого препятствия в ходе выполнения. Кроме того, любой алгоритм должен завершится за конечное число шагов. Большинство алгоритмов данным требованиям удовлетворяют, но при наличии ошибок возможны нарушения результативности.
Корректность - решение должно быть правильным для любых допустимых исходных данных. Большое значение имеет тщательное тестирование алгоритма перед его использованием. Как показывает опыт, грамотная и всесторонняя отладка для сложных алгоритмов часто требует значительно больших усилий, чем собственно разработка этих алгоритмов. При этом важно не столько количество проверенных сочетаний входных данных, сколько количество их типов. Например, можно сделать сколько угодно проверок для положительных значений аргумента алгоритма, но это никак не будет гарантировать корректную его работу в случае отрицательной величины аргумента.
Массовость заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных (разработка в общем виде).
Если внимательно проанализировать свойства алгоритма, то становится очевидным, что для выполнения алгоритма совсем не требуется его понимание, а правильный результат может быть получен путем формального и чисто механического следования содержанию алгоритма. Из возможности формального исполнения алгоритма следует очень важное следствие: поскольку осознавать содержание алгоритма не требуется, его исполнение вполне можно доверить автомату или ЭВМ. Т.о., составление алгоритма является обязательным этапом автоматизации любого процесса.
Порядок выполнения алгоритма:
Действия в алгоритме выполняются в порядке их записи
Нельзя менять местами никакие два действия алгоритма
Нельзя не закончив одного действия переходить к следующему