Вы представитель учебного заведения ? Вашей организации ещё нет на нашем портале ? Добавить учебное заведение
Основы алгоритмизации и программирования
Программа курса
Лекции
Раздел 1
Вводная часть.
Программное и аппаратное обеспечение. Языки программирования: уровень и тип языка программирования, характеристики. Краткий обзор парадигм программирования: процедурные языки, объектно-ориентированные языки.
Этапы разработки программного обеспечения. Жизненный цикл программного продукта.
Характеристики разрабатываемой программы.
Основные принципы обработки команд программы исполнителем (компьютером).
Организация ЭВМ. Принципы построения ЭВМ, машина Фон Неймана.
Раздел 2
Понятие Данные.
Понятие данные, информация. Свойства информации. Представление данных разного типа в компьютере: целочисленные данные и числа с плавающей точкой, строки фиксированной и переменной длины, символы, логические значения, даты. Различные варианты кодировки символов. Сравнение данных разных типов. Системы счисления. Общие понятия и конкретные системы: десятичная, двоичная, шестнадцатеричная, восьмеричная. Правила перевода числа из одной системы в другую. Устройство памяти. Адресация. Понятие переменная. Объявление (декларация) и инициализация переменных. Правила именования.
Раздел 3
Понятие Программа.
Понятие программа, алгоритм, исполнитель.
Типы программного обеспечения: системное, прикладное, инструментальное (средства разработчика).
Трехуровневая модель программного продукта.
Свойства алгоритмов. Формы представления алгоритмов: естественный язык, блок-схема, формальный язык. Составление блок-схем алгоритмов.
Иерархическая организация программы, модульность. Область видимости и время жизни. Секции программного модуля.
Понятия транслятор, компилятор, интерпретатор. Статическая и динамическая компиляция.
Раздел 4
Понятие Интерфейс.
Варианты интерфейсов: UI, GUI и др. Важность правильной разработки интерфейса. Различные методы построения диалога с пользователем.
Раздел 5
Язык программирования. Переменные.
Состав и структура языка программирования. Понятия алфавита, синтаксиса и семантики.
Комментарии.
Переменные. Определение имени переменной. Объявление переменной. Инициализация переменной по умолчанию и из кода.
Область видимости и время жизни переменных. Затенение имен.
Оператор присваивания.
Типы переменных. Преобразование типов явное и неявное. Стандартные операции с переменными.
Константы.
Указатель или ссылка на переменную.
Раздел 6
Язык программирования. Операторы.
Понятие оператора. Запись операторов. Многострочные операторы, понятие блока.
Оператор условия. Составления условия: сравнение числовых значений, дат, строковых и логических значения. Составление сложных условий: использование логических операций OR, AND, XOR, NOT. Приоритет операций. Вложенные операторы. Оптимизация условий.
Оператор выбора. Оптимизация оператора выбора.
Оператор цикла: циклы с предусловием, с постусловием, с параметром. Цикл для обхода элементов группы. Понятия: тело цикла, условие цикла, счетчик, итерация. Использование счетчика цикла. Оператор досрочного выхода из цикла.
Раздел 7
Процедуры и функции.
Декомпозиция задачи на подзадачи. Программирование сверху вниз и снизу вверх. Парадигма черного ящика. Входные и выходные данные подпрограммы.
Понятия подпрограмма, процедура, функция. Процедуры стандартные, пользовательские, обработки событий. Описание, объявление, вызов процедуры. Библиотеки функций.
Вызов процедуры и функции.
Аргументы формальные и фактические. Тип аргумента. Передача аргументов по значению и по ссылке. Значение, возвращаемой функцией.
Способы взаимодействия различных фрагментов программы. Структурная декомпозиция.
Раздел 8
Способы организации данных.
Роль организации данных в программе.
Понятие массива. Массивы одномерные и многомерные. Понятие индекса и элемента массива. Подсчет объема памяти занимаемой массивом. Типовые задачи с массивами: доступ к элементу, обход элементов, инициализация элементов.
Представление текстовой информации. Понятие строка. Различные способы организации строковых данных. Работа с отдельными символами. Наиболее употребительные функции для работы со строками.
Пользовательский тип данных (структура). Объявление и использование пользовательского типа. Совместное использование пользовательских типов данных и массивов.
Применение списков и файлов. Однонаправленный, двунаправленный, кольцевой списки. Организация стеков различных типов.
Раздел 9
Решение общих алгоритмических задач.
Поиск элемента в массиве: линейный, двоичный и интерполяционные алгоритмы. Поиск наибольшего и наименьшего элемента в массиве. Различные способы сортировки элементов массива: метод прямого выбора, метод вставки, пузырьковая сортировка. Оценка сложности алгоритма и сравнение алгоритмов.
Алгоритмы работы со строками. Разбиение и объединение строк, поиск и извлечение подстроки, удаление подстроки, синтаксический анализ текста.
Рекурсивные и итерационные алгоритмы. Рекурсивные математические функции на примере вычисления факториала.
Раздел 10
Объектно-ориентированное программирование.
Преимущества применения объектно-ориентированного подхода в программировании. Понятия класс, объект, свойство, метод, событие. Основные характерные черты объектно-ориентированного подхода (обзорно): инкапсуляция, наследование, полиморфизм.
Практические работы
Практика 1
Знакомство со средой программирования.
Знакомство со средой программирования MS Visual Studio. Основные типы файлов. Понятие решения, проекта, модуля. Создание нового проекта, присвоение имен. Основные операции в проекте, навигация.
Основные необходимые понятия для начала работы с объектами и классами.
Проектирование пользовательского графического интерфейса. Работа в Form Designer.
Написание кода. Создание обработчиков событий, реагирование на действия пользователя.
Решение простейших алгоритмических задач:
- ввод, вывод данных,
- использование подпрограмм,
- проверка правильности ввода, реагирование на ошибки,
- обмен значений двух переменных,
- определение четности числа.
Компиляция проекта. Подготовка и запуск исполняемого файла.
Работа со справочной системой.
Практика 2
Работа с массивом
Создание проекта, добавление, удаление, переименование модулей.
Проектирование приложения, двухуровневая модель. Реализация независимости пользовательского интерфефса от логики.
Реализация подпрограмм для работы с массивом: добавление элемента, удаление, очистка массива, выбор элемента, сортировка элементов. Контроль входных данных.
Разработка пользовательской формы. Проектирование интерфейса. Организация ввода и вывода данных, реакция на ошибки.
Практика 3
Работа со строками
Решение следующих задач:
- переворот строки,
- отображение кодов символов,
- получение случайного слова,
- подсчет и вывод отдельных слов в строке.
Реализация рекурсивного алгоритма
Реализация рекурсивного алгоритма на примере факториала.
Дополнительные темы
Итерационный алгоритм. Работа с объектами: методы, свойства, события.
Экзамен
Сдача выпускного экзамена.
Данная учебная программа представлена в разделах:
Стоимость 16300рублей
Продолжительность 16 дней
Объём (в академ. часах) 72
Предметы Курсы программирования
Форма обучения Очная
Контактный телефон Показать
Сайт Показать

Похожие курсы

Отзывы
Желаете оставить отзыв?
Меню
Высшая инженерная школа Санкт-Петербургского государственного политехнического университета