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