Алгоритмизация и программирование

Содержание

Слайд 2

Организационные вопросы изучения дисциплины Дисциплина изучается во 2 семестре первого курса

Организационные вопросы изучения дисциплины

Дисциплина изучается во 2 семестре первого курса

Слайд 3

Темпы изучения дисциплины Первый полусеместр (до смены расписания) Лекции 2 часа

Темпы изучения дисциплины

Первый полусеместр (до смены расписания)
Лекции 2 часа в неделю
Второй

полусеместр (после смены расписания)
Лекции 2 часа в неделю + лабораторные работы 4 часа в неделю7
Итоговое мероприятие - Экзамен
Слайд 4

График контрольных мероприятий курса Перечень контрольных мероприятий Домашние работы – 2

График контрольных мероприятий курса

Перечень контрольных мероприятий
Домашние работы – 2 шт.
Контрольная работа

– 1 шт.
Лабораторные работы – 8 шт.
Экзамен
Порядок и сроки их выполнения
Первый полусеместр (до смены расписания)
Домашняя работа 1 (на 4 неделе)
Второй полусеместр (после смены расписания)
Лабораторные работы (еженедельно)
Контрольная работа (9-10 неделя)
Домашняя работа 2 (сдача в конце семестра)
Защита лабораторных работ
Сессия
Экзамен
Слайд 5

Методическое обеспечение дисциплины (1) Литература Семакин И.П, Шестаков А.Г. Основы алгоритмизации

Методическое обеспечение дисциплины (1)

Литература
Семакин И.П, Шестаков А.Г. Основы алгоритмизации и программирования.– М.:

Academia, 2013. – 304 с.
Павловская Т.А. C/C++. Программирование на языке высокого уровня: учебник для студентов вузов, обучающихся по направлению "Информатика и вычислительная. техника" СПб.: Питер, 2011. - 464 с
Семакин И.П, Шестаков А.Г. Основы алгоритмизации и программирования. Практикум. – М.: Academia, 2013. – 144 с.
Давыдов В.А. Программирование и основы алгоритмизации. – М.: Высшая школа, 2013. – 448 с.
Демидович Е.А. Основы алгоритмизации и программирования. Язык Си. – Спб.: БХВ - Петербург, 2010. – 448 с.
Б. Страуструп. Язык программирования С++. – М.: Бином Пресс, 2011. – 1136 с.
Слайд 6

Методическое обеспечение дисциплины (2) Основы программирования на языке Си: конспект лекций.

Методическое обеспечение дисциплины (2)

Основы программирования на языке Си: конспект лекций. Ч

1 Учебное пособие / Н.Г. Саблина, О.Ю. Иванов. Екатеринбург: УГТУ – УПИ, 2007. 107 с
Основы программирования на языке Си: конспект лекций. Ч 2 Учебное пособие / О.Ю. Иванов, Н.Г. Саблина. Екатеринбург: УГТУ – УПИ, 2007. 91 с
Начальный курс программирования на языке Си: конспект лекций. Ч 1 Учебное пособие / Н.Г. Саблина, Екатеринбург: ООО УМЦ – УПИ, 2002. 108 с
Начальный курс программирования на языке Си: конспект лекций. Ч 2 Учебное пособие / Н.Г. Саблина, Екатеринбург: ООО УМЦ – УПИ, 2002. 52 с

24.04.2016

Слайд 7

Методическое обеспечение дисциплины (3) Сетевой курс в среде Гиперметод http://learn.urfu.ru УМК

Методическое обеспечение дисциплины (3)

Сетевой курс в среде Гиперметод http://learn.urfu.ru
УМК №6749 на

портале study.urfu.ru включает в себя материалы по алгоритмизации и программированию, а также по информационным технологиям
Среды реализации: Eclipse, QT – установлены в компьютерных классах кафедры РТС
Можно работать в любой Си-язычной среде разработки программ. Материал курса касается основных принципов алгоритмизации и программирования, ориентирован для стандартизованную версию языка Си

24.04.2016

Слайд 8

Этапы разработки программного продукта Лекция 1 Иллюстративный материал к лекциям по

Этапы разработки программного продукта Лекция 1

Иллюстративный материал к лекциям по алгоритмизации и

программированию
Автор Саблина Н.Г. 2016 г.

24.04.2016

Слайд 9

Содержание 24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование Программное обеспечение Первый

Содержание

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование
Программное обеспечение
Первый этап - постановка задачи
Второй

этап – выбор метода решения
Третий этап – разработка алгоритма
Четвертый этап – кодирование алгоритма
Пятый этап – компиляция программы
Восьмой этап – сопровождение и эксплуатация
Автор
Седьмой этап – создание документации
Шестой этап – тестирование программы
Слайд 10

Программное обеспечение Программное обеспечение состоит из нескольких совместно работающих программ (программных

Программное обеспечение

Программное обеспечение состоит из
нескольких совместно работающих программ (программных модулей), объединенных

в программный комплекс документов, необходимых для
разработки,
сопровождения
эксплуатации
программного комплекса

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 11

Первый этап – постановка задачи Постановка задачи (problem definition)- это точная

Первый этап – постановка задачи

Постановка задачи (problem definition)- это точная формулировка

решения задачи на компьютере с описанием входной и выходной информации.
В результате выполнения этого этапа работы составляется документ, называемый "Задание на разработку программного обеспечения (техническое задание)". В нем указывается следующее:

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 12

Содержание ТЗ(1) НАЗВАНИЕ РАЗРАБОТКИ ОПИСАНИЕ РАЗРАБОТКИ постановка задачи цель и назначение

Содержание ТЗ(1)

НАЗВАНИЕ РАЗРАБОТКИ
ОПИСАНИЕ РАЗРАБОТКИ
постановка задачи
цель и назначение задачи
ее место

и связи с другими задачами
содержание функций обработки входной информации при решении задачи
требования к периодичности решения задачи
УПРАВЛЕНИЕ РЕЖИМАМИ РАБОТЫ ПРОГРАММЫ
интерфейс пользователь-компьютер

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 13

Содержание ТЗ(2) ВХОДНЫЕ ДАННЫЕ описываются входные данные указываются пределы, в которых

Содержание ТЗ(2)

ВХОДНЫЕ ДАННЫЕ
описываются входные данные
указываются пределы, в которых они могут изменяться
значения,

которые они не могут принимать, и т. д.,
источник данных т.е. устройство, с помощью которого они должны быть переданы в программу.

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 14

Содержание ТЗ(2) ВЫХОДНЫЕ ДАННЫЕ Описываются выходные данные указывается, в каком виде

Содержание ТЗ(2)

ВЫХОДНЫЕ ДАННЫЕ
Описываются выходные данные
указывается, в каком виде они должны

быть представлены — в числовом, графическом или текстовом
ограничения по срокам и точности выходной информации
также указывается устройство отображения этих данных

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 15

Содержание ТЗ(3) 24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование ОШИБКИ Перечисляются

Содержание ТЗ(3)

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

ОШИБКИ
Перечисляются возможные ошибки пользователя

при работе с программой (например, ошибки при вводе данных и др.).
Указываются
способы диагностики (обнаружения ошибок при работе программного комплекса);
способы защиты от этих ошибок на этапе проектирования;
возможная реакция пользователя при совершении им ошибочных действий;
реакция программного комплекса (компьютера) на эти действия
Слайд 16

Содержание ТЗ(4) 24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование ПРИМЕР РАБОТЫ

Содержание ТЗ(4)

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

ПРИМЕР РАБОТЫ ПРОГРАММНОГО КОМПЛЕКСА
Приводится один

или несколько примеров работы программного комплекса, на которых в простейших случаях проводится его отладка и тестирование
Слайд 17

Первый этап для учебных задач Определяем исходные и выходные данные для

Первый этап для учебных задач

Определяем исходные и выходные данные для нашей задачи
Исходные

данные (что дано по условию задачи): указываем тип исходных данных, их обозначения (идентификаторы), способ ввода в программу ( с клавиатуры, или из файла, или формируются случайным образом в ходе работы программы и пр.)
Выходные данные (что нужно найти, рассчитать): указываем тип выходных данных, их обозначения (идентификаторы), куда выводим ( на экран, в файл и т.п.)

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 18

Второй этап – выбор метода решения Создается математическая или логическая модель

Второй этап – выбор метода решения

Создается математическая или логическая модель

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

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 19

Метод решения задачи После определения математической модели задачи, надо выбрать метод

Метод решения задачи

После определения математической модели задачи, надо выбрать метод ее

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

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 20

Критерии выбора метода решения При выборе метода решения следует учитывать: сложность

Критерии выбора метода решения

При выборе метода решения следует учитывать:
сложность формул

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

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 21

Пример Есть 2 ящика яблок. В одном – 5 кг, в

Пример

Есть 2 ящика яблок. В одном – 5 кг, в

другом – 10 кг. Удвоим количество яблок в каждом ящике. Сколько всего стало яблок?
Предлагайте формулы для решения

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование7

Слайд 22

Варианты решения задачи про яблоки (5+10) * 2 5*2+10*2 5+5+10+10 24.04.2016

Варианты решения задачи про яблоки

(5+10) * 2
5*2+10*2
5+5+10+10

24.04.2016

каф. РТС дисциплина Алгоритмизация и

программирование
Слайд 23

Второй этап для учебных задач Большинство наших задач будут математические. Поэтому

Второй этап для учебных задач

Большинство наших задач будут математические.
Поэтому метод их

решения описывайте так, как в математике, физике.
Приведите вывод формул с подробными комментариями
Обоснуйте значения используемых числовых констант
Обязательно указывайте назначение использованных переменных, тип данных, их связь с условием задачи

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 24

Третий этап - разработка алгоритма решения задачи Для каждого программного модуля

Третий этап - разработка алгоритма решения задачи

Для каждого программного модуля

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

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 25

Свойства алгоритма (1) Определенность (детерминированность) алгоритма – однозначность выполнения каждого отдельного

Свойства алгоритма (1)

Определенность (детерминированность) алгоритма – однозначность выполнения каждого отдельного шага

преобразования информации. Эта характеристика обеспечивает однозначность результата процесса при заданных исходных данных.
Массовость – пригодность алгоритма для решения определенного класса задач

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 26

Свойства алгоритма (2) Результативность – конечность действий алгоритма решения задач, позволяющая

Свойства алгоритма (2)

Результативность – конечность действий алгоритма решения задач, позволяющая получить

желаемый результат при допустимых исходных данных за конечное число шагов.
Дискретность – разбиение процесса обработки информации на более простые этапы (шаги выполнения), выполнение которых компьютером или человеком не вызывает затруднений.

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 27

Способы описания алгоритма В процессе разработки алгоритма могут быть использованы различные

Способы описания алгоритма

В процессе разработки алгоритма могут быть использованы различные способы

его описания (словесная запись, схемы, псевдокод, и т.п.). В практике программирования наибольшее распространение получили блок-схемы алгоритмов.
Правила изображения блок-схем и условные обозначения, используемые в них, регламентированы стандартом (ГОСТ 19.701-90).

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 28

Третий этап для учебных задач Результат этого этапа оформляем в виде

Третий этап для учебных задач

Результат этого этапа оформляем в виде схемы алгоритма

решения задачи
Правила изображения схем описаны в соответствующем ГОСТе
Изучению этих правил будет посвящена целая лекция далее

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 29

Четвертый этап – кодирование алгоритма Перевод алгоритмов, разработанных для каждого программного

Четвертый этап – кодирование алгоритма

Перевод алгоритмов, разработанных для каждого программного модуля,

в программы на конкретном языке программирования.
Результат выполнения этого этапа - файлы с исходными текстами программ.
Эти файлы по своей природе текстовые, только они содержат тексты, написанные на языке программирования (в нашем случае это тексты, написанные на языке Си).

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 30

Пятый этап – компиляция программы Компилирование программы, т.е. перевод исходного текста

Пятый этап – компиляция программы

Компилирование программы, т.е. перевод исходного текста в

машинный код. Этот процесс осуществляется специальной программой – компилятором. В настоящее время все современные среды разработки программ имеют встроенные компиляторы.
Рассмотрим, как осуществляется процесс компиляции с языка Си. На рисунке представлена схема подготовки исполняемой программы.

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 31

24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 32

Шестой этап – тестирование программы Различается два вида тестирования: автономное и

Шестой этап – тестирование программы

Различается два вида тестирования: автономное и комплексное.

При автономном тестировании проверяются отдельные программные модули, из которых состоит программный комплекс.
Комплексное тестирование заключается в проверке всего программного комплекса.

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 33

Тестирование программы Для тестирования подбираются такие исходные данные, для которых результат

Тестирование программы

Для тестирования подбираются такие исходные данные, для которых результат выполнения

программы заранее известен.
при обнаружении ошибки начинается процесс отладки тестируемого программного модуля или программного комплекса.
Тестирование и отладка чередуются и завершаются после того, как будет принято решение об отсутствии ошибок в программном комплексе.

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 34

Седьмой этап – создание документации Документация классифицируется по своему назначению: описание

Седьмой этап – создание документации
Документация классифицируется по своему назначению:
описание применения

руководство пользователя
руководство программиста.

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 35

Описание применения – общая характеристика программного продукта и сферы его применения,

Описание применения – общая характеристика программного продукта и сферы его применения,

требований к базовому программному обеспечению, комплексу технических средств обработки.
Руководство пользователя – детальное описание функциональных возможностей и технологии работы с программным продуктом для конечного пользователя. Документы данного вида могут оформляться в печатном виде и (или) "встраиваться" в программный комплекс.

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 36

Руководство программиста предназначено для разработчиков программного обеспечения и специалистов, которые будут

Руководство программиста предназначено для разработчиков программного обеспечения и специалистов, которые будут

его сопровождать.
Это руководство в качестве основных документов включает:
1) задание на разработку программного обеспечения (техническое задание);
2) спецификацию;
3) прокомментированные исходные тексты (листинги) модулей программы и управляющего модуля;

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 37

4) схему разбиения программного комплекса на программные модули; 5) схему потоков

4) схему разбиения программного комплекса на программные модули;
5) схему потоков данных

программного комплекса;
6) схему взаимодействия программных модулей;
7) планы и данные для тестирования программного комплекса;
8) другие материалы, иллюстрирующие проект, например: блок-схемы программного комплекса и программных модулей.

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 38

Седьмой этап для учебных задач Привести результаты работы программы для различных

Седьмой этап для учебных задач

Привести результаты работы программы для различных наборов исходных

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

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 39

Восьмой этап - сопровождение и эксплуатация В процессе эксплуатации может возникнуть

Восьмой этап - сопровождение и эксплуатация

В процессе эксплуатации может возникнуть необходимость

добавления в программный комплекс новых функций, устранение ошибок, обнаруженных в процессе эксплуатации, и т. д.
Данный тип работ с программным комплексом в период его эксплуатации называется сопровождением.

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 40

Вопросы Перечислите основные этапы разработки программных продуктов Укажите, что является результатом

Вопросы

Перечислите основные этапы разработки программных продуктов
Укажите, что является результатом выполнения каждого

из этапов?
Что такое алгоритм?
Перечислите основные свойства алгоритма
Какие способы описания алгоритма вы знаете?
В чем особенность компиляции программы с языка Си?
Что такое автономное и комплексное тестирование программы?

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 41

Библиографический список Подбельский В.В. Язык СИ++. Учебное пособие. М.: Финансы и

Библиографический список

Подбельский В.В. Язык СИ++. Учебное пособие. М.: Финансы и

статистика, 2003. – 560 с.
Павловская Т.А. C/C++. Программирование на языке высокого уровня: учебник для студентов вузов, обучающихся по направлению "Информатика и вычисл. техника" СПб.: Питер, 2005. - 461 с.
Березин Б.И. Начальный курс C и C++ / Б.И. Березин, С.Б. Березин. - М.: ДИАЛОГ-МИФИ, 2001. - 288 с
Каширин И.Ю., Новичков В.С. От С к С++. Учебное пособие для вузов. – М.: Горячая линия – Телеком, 2005. – 334 с.

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование