Лекции Булатицкий Дмитрий Иванович (во многом по материалам Прасолова А. Н.)
Скачать 319.62 Kb.
|
Цели и задачи курсаЦель дисциплины: научить будущего бакалавра формализовать вычислительные и практические задачи и производить декомпозицию формализованной задачи до решения на языке высокого уровня, помочь освоить технику и некоторые приемы программирования, а также ознакомить с историей, перспективами развития и проблемами алгоритмического программирования. Связь изучаемого курса с изучаемыми дисциплинамиДисциплина «Программирование» входит в базовый (обязательный) цикл профессиональных дисциплин федерального государственного образовательного стандарта высшего профессионального образования по направлению подготовки 230100 «Информатика и вычислительная техника» и учебного плана. Она опирается на знания и умения, полученные студентами в ходе изучения дисциплин «Информатика» и «Дискретная математика». На освоении данной дисциплины базируется изучение последующих дисциплин «Объектно-ориентированное программирование», «Структуры и алгоритмы обработки данных», «Разработка Web-узлов и приложений», «Программирование приложений Windows», «Программирование в среде Microsoft.Net», «Технология разработки программных продуктов». График изучения дисциплиныДисциплина «Программирование» изучается в первом и втором семестре. Лабораторные работы и лекции в оба семестра проводятся один раз в неделю. В течение первого семестра выполняется расчётно-графическая работа. По результатам первого семестра студенты должны получить зачёт. Во втором семестре студенты выполняют курсовой проект. Завершает изучение дисциплины экзамен. Рекомендуемая литератураОсновная литература1. Керниган Б. Язык программирования Си / Б. Керниган, Д. Ритчи. – М.: Вильямс, 2013. – 304 с. 2. Пахомов, Б. С/С++ и MS Visual C++ 2012 для начинающих / Б. Пахомов. – СПб.: БХВ-Петербург, 2013. – 502с. 3. Шилдт, Г. Полный справочник по Си / Г. Шилдт. – М.: Вильямс, 2009. – 704 с. 4. Подбельский, В.В. Программирование на языке Си / В.В. Подбельский, С.С. Фомин. – М.: Финансы и статистика, 2009. – 600с. 5. Голицына, О.Л. Основы алгоритмизации и программирования: учеб. пособие/ О.Л. Голицына, И.И. Попов. – М.: Форум, 2010. – 432 с. 6. Дейтел, Х. Как программировать на С: [пер. с англ.]/ Х. Дейтел, П. Дейтел. – М.: БИНОМ-ПРЕСС, 2010. – 1456с. 7. Булатицкий, Д.И. Алгоритмические языки и программирование: учеб. пособие/ Д.И. Булатицкий. – Брянск: БГТУ, 2005.– 76с. Дополнительная литература1. Уэйт, М. Язык Си. Руководство для начинающих: [пер. с англ.]/М. Уэйт, С. Прайта, Д. Мартин. – М.: Мир, 1988. – 512с. 2. Давыдов, В.Г. Программирование и основы алгоритмизации: учеб. пособие для вузов/В.Г. Давыдов. – М.: Высш. шк., 2003. – 448 с. 3. Березин, Б.И. Начальный курс С и С++. /Б.И Березин, С.Б. Березин. – М.: Диалог-МИФИ, 2005. – 288с. 4. Павловская, Т.А. С/C++ Программирование на языке высокого уровня: учеб. для ВУЗОВ/ Т.А Павловская. – СПб: Питер, 2007. – 460с. 5. Павловская, Т.А. C/C++. Структурное и объектно-ориентированное программирование: Практикум. / Т.А. Павловская, Ю. А. Щупак – СПб.: Питер, 2011. – 352 с. 6. Керниган, Б. Элементы стиля программирования: [пер. с англ.]/Б. Керниган, Ф. Плоджер. – М.: Радио и связь 1984. 7. Ван Тассел, Д. Стиль, разработка, разработка, эффективность, отладка и испытания программ: [пер. с англ.]/Д. Ван Тассел. – М.: Мир, 1981 Источники Интернет1. http://intuit.ru 2. http://stackoverflow.com/ 3. http://citforum.ru/programming/ Решение задач на ЭВМРешение задач на компьютере включает в себя следующие основные этапы, часть из которых осуществляется без участия компьютера. 1. Постановка задачи: сбор информации о задаче; формулировка условия задачи; определение конечных целей решения задачи; определение формы выдачи результатов; описание данных (их типов, диапазонов величин, структуры и т. п.). 2. Анализ и исследование задачи, модели: анализ существующих аналогов; анализ технических и программных средств; разработка математической модели; разработка структур данных. 3. Разработка алгоритма: выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.); выбор тестов и метода тестирования; проектирование алгоритма. 4. Программирование: выбор языка программирования; уточнение способов организации данных; запись алгоритма на выбранном языке программирования. 5. Тестирование и отладка: синтаксическая отладка; отладка семантики и логической структуры; тестовые расчеты и анализ результатов тестирования; совершенствование программы. 6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5. 7. Сопровождение программы: доработка программы для решения конкретных задач; составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию. К программам предъявляются следующие требования: Минимальные требования к компьютеру, на котором работает программа. Ясность входных и выходных данных и простота программы. Минимальное время создания программы и простота ее изменения. Минимальное время работы программы, минимум занимаемой памяти и минимум использованных в программе операторов. При создании программы приходится находить баланс между этими противоречивыми требованиями. Также выделяют следующие свойства программ - выполнимость, мобильность, правильность, эффективность. Выполнимость - возможность выполнения программы на данном типе компьютеров. Мобильность - возможность переноса программы на другой тип компьютеров. Правильность программы - правильность результатов, получаемых с помощью данной программы. Эффективность - минимум времени выполнения, минимум машинной памяти и других ресурсов компьютера. |