страница 1 страница 2 | страница 3 | страница 4
Министерство образования Республики Беларусь
Государственное учреждение образования
«Республиканский институт высшей школы»
Учреждение образования «Белорусский государственный
университет информатики и радиоэлектроники»
СБОРНИК
ТИПОВЫХ УЧЕБНЫХ ПРОГРАММ ДЛЯ ВЫСШИХ УЧЕБНЫХ ЗАВЕДЕНИЙ ПО СПЕЦИАЛЬНОСТЯМ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
ОБЩЕНАУЧНЫЕ И ОБЩЕПРОФЕССИОНАЛЬНЫЕ ДИСЦИПЛИНЫ
Минск 2006
УДК 621.37/39+002.5(075.8)
ББК 32+32.81 я 73
С 23
С 23 |
Сборник типовых учебных программ для высших учебных заведений по спец. информатики и радиоэлектроники. Общенаучные и общепрофессиональные дисциплины. – Мн. : БГУИР, 2006. – 60 с.
| |
ISBN 985-488-044-3
|
В сборник включены типовые программы по общенаучным и общепрофессиональным дисциплинам: «Основы алгоритмизации и программирования», «Электронные приборы и устройства», «Метрология, стандартизация и сертификация», «Основы защиты информации», обязательные для изучения по специальностям информатики и радиоэлектроники.
УДК 621.37/39+002.5(075.8)
ББК 32+32.81 я 73
ISBN 985-488-044-3 © БГУИР, 2006
УТВЕРЖДЕНА
Министерством образования
Республики Беларусь
16.01.2006.
Регистрационный № ТД-I.001/тип.
ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИя
Учебная программа для высших учебных заведений
по специальностям информатики и радиоэлектроники
СОСТАВИТЕЛЬ:
А.К. Синицын, заведующий кафедрой вычислительных методов и программирования Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники», доктор физико-математических наук, профессор
РЕЦЕНЗЕНТЫ:
Кафедра математического обеспечения ЭВМ Учреждения образования «Белорусский государственный университет» (протокол № 4 от 18.10.2005.);
А.И. Шакирин, доцент кафедры вычислительной техники Учреждения образования «Белорусский государственный аграрно-технический университет», кандидат технических наук
РЕКОМЕНДОВАНА К УТВЕРЖДЕНИЮ В КАЧЕСТВЕ ТИПОВОЙ:
Кафедрой вычислительных методов и программирования Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники» (протокол № 1 от 26.09. 2005.);
Научно-методическим советом Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники» (прото-
кол № 2 от 23.11.2005.)
СОГЛАСОВАНА С:
Председателем Учебно-методического объединения вузов Республики Беларусь по образованию в области информатики и радиоэлектроники;
Начальником Управления высшего и среднего специального
образования Министерства образования Республики Беларусь;
Первым проректором Государственного учреждения образования «Республиканский институт высшей школы»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Типовая программа по дисциплине «Основы алгоритмизации и программирования» разработана для студентов высших учебных заведений по специальностям информатики и радиоэлектроники.
Целью изучения дисциплины является ознакомление с операционной системой ПЭВМ, усвоение понятия алгоритма его способов записи и основных свойств, изучение языка программирования высокого уровня типа Паскаль-СИ-…, получение практических навыков составления и отладки программ на персональных компьютерах, изучение основных базовых алгоритмов и закрепление навыков алгоритмизации на основе программирования алгоритмов на структурах данных и алгоритмов вычислительной математики.
МЕСТО КУРСА В ПОДГОТОВКЕ СПЕЦИАЛИСТА
Подготовка современного специалиста требует уверенного владения возможностями, предоставляемыми компьютерными технологиями. Изучение настоящей дисциплины на первом курсе обеспечивает начальную подготовку студентов навыкам работы на персональном компьютере и приемам программирования типовых алгоритмов. В подготовке специалиста информационного профиля большое внимание уделяется освоению алгоритмов работы со структурами данных – поиск и сортировка в массивах, динамических линейных и древовидных связанных списках. В инженерной подготовке специалиста радиоэлектронного профиля очень важно умение производить расчеты связанные с решением задач вычислительной математики, которые реализованы в целом ряде стандартных пакетов, таких, как например, MATHCAD, MATLAB и др.. Поэтому закрепление навыков программирования в данном курсе осуществляется на основе изучения и реализации в виде программ на языке высокого уровня основных алгоритмов на структурах данных и алгоритмов вычислительной математики. Раздел 1 обеспечивает базовую подготовку по программированию на языке высокого уровня. Раздел 2 предназначен для студентов информационных специальностей. Раздел 3 предназначен ля студентов радиоэлектронных специальностей. Раздел 4 является заключительным, имеет обзорный характер и освещает общие проблемы алгоритмизации и развитие технологии программирования.
Программа составлена в соответствии с требованиями образовательных стандартов и рассчитана на объем 136 учебных часов. Примерное распределение учебных часов по видам занятий при объеме 136 часов: лекций – 68 часов, лабораторных работ – 68. Под раздел 1 отводится не менее 40 часов лекций и 40 часов лабораторных работ.
В результате изучения дисциплины студенты должны:
знать:
-
современное состояние одного из алгоритмических языков высокого уровня;
-
основные динамические структуры данных и алгоритмы их обработки;
-
наиболее эффективные и часто используемые на практике вычислительные алгоритмы решения инженерных задач;
-
теоретические основы алгоритмизации и проектирования программ;
уметь выполнять:
-
алгоритмизацию и программирование инженерных задач;
уметь использовать:
-
имеющееся программное обеспечение.
уметь анализировать:
-
исходные и выходные данные решаемых задач и формы их представления; уметь использовать имеющееся программное обеспечение.
приобрести навыки:
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
Раздел 1. Основы алгоритмизации и возможности языков програмирования высокого уровня
Тема 1.1. ОБЩИЕ СВЕДЕНИЯ ОБ алгоритмах и ЭВМ
Алгоритм как результат решения задачи. Интуитивное определение алгоритма. Линейные, разветвляющиеся и циклические алгоритмы. Программа – запись алгоритма на языке понятном исполнителю. ЭВМ как исполнитель алгоритмов. История создания ЭВМ. Основные функциональные элементы ЭВМ. Структура оперативной памяти и машинных команд. Структура и характеристика современных ПК. Назначение и основная структура операционной системы. Файловая система. Программы работы с файлами.
Тема 1.2. Общая характеристика языка программирования высокого уровня
Структура программы. Переменные и их основные базовые типы. Понятие оператора. Выполняемые и невыполняемые операторы. Программа как последовательность операторов. Пример программирования линейного алгоритма.
Тема 1.3. Программирование разветвляющихся алгоритмов
Понятие разветвляющегося алгоритма, схема его представления. Операторы реализующие разветвления. Примеры.
Тема 1.4. Программирование циклических алгоритмов
Понятие циклического алгоритма, схема его представления. Операторы реализующие циклы. Примеры программ: табуляция функций, суммирование, рекуррентные последовательности.
Тема 1.5. Работа с массивами
Описание массивов. Ввод-вывод массивов, алгоритмы обработки массива: вставка и удаление элемента, перестановка элементов местами.
Тема 1.6. Динамическое распределение памяти
Адреса, указатели и ссылки. Типизированные и не типизированные указатели. Правила работы с динамической памятью. Функции работы с памятью. Динамические массивы.
Тема 1.7. Подпрограммы
Описание подпрограмм. Формальные, фактические параметры, локальные и глобальные переменные. Организация библиотечных модулей.
Тема 1.8. Использование строк
Понятия строки, ее описание. Основные функции и процедуры обработки строк. Примеры алгоритмов обработки строк.
Тема 1.9. Использование записей (СТРУКТУР)
Понятие записи (структуры), ее описание и примеры использования для представления и обработки данных.
Тема 1.10. Работа с файлами
Описание файла. Основные процедуры и функции для работы с файлами. Приемы программной реализации алгоритмов работы с файлами.
Тема 1.11. Графическое отображение информации
Организация вывода графической информации. Основные подпрограммы для вывода графической информации. Примеры вывода изображений и графика функции.
Тема 1.12. объектно-ориентированное программирование.
Базовые принципы ООП: инкапсуляция, наследование, полиморфизм. Понятие объекта, класса, метода. Конструкторы, деструкторы. Примеры составления программ.
Раздел 2. Программная реализация алгоритмов на структурах данных
Тема 2.1. Программирование рекурсивных алгоритмов
Понятие рекурсии. Условие окончания рекурсивного алгоритма. Деревья решений и их программирование. Решение задачи оптимального выбора.
Тема 2.2 Программирование алгоритмов поиска и сортировки в массивах
Линейный и двоичный поиск, хеширование. Оценки сложности алгоритмов, получение оценок O(n), O(n²) и O(n ). Сравнительная характеристика методов сортировки. Метод разделения (быстрая сортировка Хоара).
Тема 2.3. Динамические структуры данных в виде связаных линейных списков
Очереди и стеки. Связанные списки, однонаправленные и двунаправленные списки, кольцевые и линейные списки. Операции над ними.
Тема 2.4. Алгоритмы на связанных линейных списках
Алгоритмы поиска и сортировки. Алгоритмы преобразования арифметических выражений в форму обратной польской записи и их вычисление в приложении к задаче разработки трансляторов. Алгоритм хеширования на основе связанного линейного списка.
Тема 2.5. Алгоритмы на древовидных структурах данных
Двоичные деревья. Алгоритмы формирования дерева. Операции над деревьями. Алгоритмы обхода дерева. Сбалансированные деревья. Алгоритм балансировки дерева.
Раздел 3. Программная реализация алгоритмов вычислительной математики
Тема 3.1. АЛГОРИТМЫ линейной алгебры
Алгоритмы решения систем линейных алгебраических уравнений. Метод простой итерации. Метод Зейделя. Метод Гаусса, метод прогонки.
Тема 3.2. АЛГОРИТМЫ Аппроксимации функций
Интерполяция, среднеквадратичное приближение Метод наименьших квадратов, сплайны.
Тема 3.3. АЛГОРИТМЫ численного интегрирования
Формулы средних трапеций, Симпсона, Гаусса.
Тема 3.4. АЛГОРИТМЫ РешениЯ нелинейных уравнений
Методы дихотомии, простой итерации, Ньютона, Вегстейна, парабол.
Тема 3.5. АЛГОРИТМЫ оптимизации
Постановка задач оптимизации, их классификация. Методы нахождения минимума функции одной переменной: Дихотомия, золотого сечения, последовательного перебора, парабол. Методы нахождения безусловного минимума функции многих переменных: покоординатного спуска, Нелдера-Мида, градиентные методы
Раздел 4. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ
Тема 4.1. Основы теории и некоторые проблемы алгоритмов
Способы описания алгоритмов. Примитивы, синтаксис, семантика. Псевдокоды. Проблемы создания алгоритмов. Проблема универсального языка программирования. Проблема универсальной вычислительной машины. Машина Тьюринга. Теорема Гельдера. Тезис Черча-Тьюринга.
Тема 4.2. Технологии программирования
Требования к программному обеспечению (ПО). Нисходящее проектирование. Процедурное, декларативное, логическое и объектно-ориентированное программирование. Технологический цикл разработки ПО. Основные стадии и этапы разработки программного обеспечения ПО. Критерии качества ПО. Тестирование ПО.
ПРИМЕРНЫЙ ПЕРЕЧЕНЬ ЛАБОРАТОРНЫХ РАБОТ
Раздел 1. ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ -
Программирование линейных алгоритмов.
-
Программирование разветвляющихся алгоритмов.
-
Программирование циклических алгоритмов.
-
Программирование с использованием массивов.
-
Программирование с использованием указателей.
-
Программирование с использованием строковых переменных.
-
Программирование с использование записей и файлов.
-
Программирование с использованием подпрограмм и модулей.
-
Программирование с использованием средств для отображения графической информации.
-
Программирование с использованием объектов.
Раздел 2. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ АЛГОРИТМОВ НА СТРУКТУРАХ ДАННЫХ -
Программирование с использованием рекурсии.
-
Программирование с использованием деревьев решений.
-
Программирование алгоритмов поиска и сортировки в массивах данных.
-
Алгоритмы поиска и сортировки линейных связанных списков.
-
Программирование с использованием динамических древовидных структур данных. Дерево поиска. Построение сбалансированных бинарных деревьев. Поиск и сортировка на основе бинарных деревьев
Раздел 3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ АЛГОРИТМОВ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ -
Составление и отладка программ реализации алгоритмов решения систем линейных алгебраических уравнений. Алгоритмы метода Гаусса, прогонки, квадратного корня, простой итерации, Зейделя.
-
Составление и отладка программы по методам аппроксимации функций. Алгоритмы интерполяции и метода наименьших квадратов.
-
Составление и отладка программ по формулам численного дифференцирования и интегрирования. Алгоритмы методов средних трапеций, Симпсона, Гаусса.
-
Составление и отладка программ по методам решения нелинейных уравнений. Алгоритмы дихотомии, простой итерации, Ньютона, секущих, Вегстейна, квадратичной параболы.
-
Составление программ нахождения минимума функции одной переменной. Алгоритмы методов золотого сечения, последовательного спуска, квадратичной и кубической параболы.
ЛИТЕРАТУРА
страница 1 страница 2 | страница 3 | страница 4
|