Курс "Основы алгоритмизации и программирования" 1 год обучения Язык программирования Pascal

Вид материалаДокументы

Содержание


Требования к начальному уровню знаний
2. Тест Выполнение практического задания по Microsoft Word 2007
Практические работы
Подобный материал:
Курс "Основы алгоритмизации и программирования"

1 год обучения

Язык программирования Pascal


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

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

В прежнее время программирование было уделом математиков и системных инженеров. В настоящее время темы, рассматриваемые в курсе нужны компьютерным специалистам разного профиля: начиная от пользователей офисных пакетов, которые пишут макросы для автоматизации своей работы или WEB-дизайнеров и заканчивая системными программистами. Курс ориентирован на тех пользователей, кто не имеет никаких знаний по алгоритмизации и программированию или является начинающим программистом.

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

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

На данном курсе применяется три формы проведения занятий:

Лекции, на которых излагается теоретический материал, рассматриваются общие вопросы решения алгоритмических задач, приводятся многочисленные примеры, советы и рекомендации.

Упражнения – слушатели самостоятельно или совместно с преподавателем решают разнообразные задачи по алгоритмизации и программированию. Часть заданий слушатели курса должны решить дома. Проверенные задания обсуждаются в классе. Всего разбирается более 70 примеров.

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

Знания и умения, полученные в результате обучения

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

Слушатель познакомится с основополагающими понятиями: оператор, переменная, процедура, функция, тип данных и т.д. Научится применять основные операторы языка программирования высокого уровня: условие, различные виды циклов, выбор. Научится строить блок-схемы алгоритмов и производить по ним разработку программ. Сможет грамотно проектировать и реализовывать подпрограммы (процедуры и функции). На курсе рассматриваются основные формы представления данных: строки, структуры (пользовательские типы данных), массивы (одномерные и многомерные), списки. Отдельные темы посвящены созданию широко распространенных алгоритмов сортировки, поиска минимального, максимального значения в массиве, реализации задач по обработке строк. Рассматриваются итерационные и рекурсивные алгоритмы. Объясняются основные принципы объектно-ориентированного программирования.


Требования к начальному уровню знаний


Данный курс предназначен для слушателей, которые либо не имели совсем, либо имели небольшой опыт программирования. Курс ориентирован на квалифицированных пользователей, имеющих опыт работы в MS Windows, практические навыки работы в Microsoft Word. Знание английского языка облегчает усвоения материала курса.


Предварительное тестирование


1. Тест по операционной системе MS Windows XP

1. Понятие об операционных системах. Функции и классификация операционных систем.

2. Состав MS Windows. Требования к аппаратной части.

3.Понятие об оригинальной и локализованной версиях программы.

4. Раскладка клавиатуры. Переключение языка.

5. Работа с мышью в MS Windows: указатели и типы операций.

6. Интерфейс MS Windows. Основные элементы.

7. Элементы окон в MS Windows. Режимы отображения окна, операции с окнами. Виды окон.

8. Запуск, завершение приложений, переключение между ними.

9. Элементы диалоговых окон, заполнение полей в диалоговых окнах.

10. Операции с пиктограммами. Виды пиктограмм.

11. Типы меню и команд. Способы выполнения команд.

12. Главное меню. Разделы Главного меню.

13. Завершение работы с MS Windows. Перезагрузка системы.


14. Стандартные приложения MS Windows: графический редактор Paint, текстовый редактор WordPad, Калькулятор.

15. Стандартные кнопки в приложениях.

16. Открытие и сохранение документов

17. Буфер Обмена. Копирование и перемещение данных через Буфер Обмена.

18. Ярлыки: определение, виды, способы создания, операции.

19. Файловая система. Пространство имен.

20. Приложение "Мой компьютер": переход на нужный диск и в нужную папку; режимы просмотра; создание и переименование папок; выделение, копирование, перемещение и удаление объектов; отмена последнего действия; изменение свойств и установка параметров.

21. Поиск файлов и папок.

22. Панель задач: назначение, настройка

23. Рабочий стол: назначение, настройка. Упорядочение окон и пиктограмм.

24. Настройка Главного меню.

25. Настройка Панели Управления: Дата/время, Клавиатура, Мышь, Принтеры, Шрифты, Экран.


2. Тест Выполнение практического задания по Microsoft Word 2007

1. Знание основных элементов интерфейса.

2. Операции с документами: сохранение, открытие, закрытие.

3. Многооконный режим работы; упорядочение окон, переключение между окнами.

4. Управление курсором и простейшие операции по редактированию текста.

5. Выделение фрагментов, операции с фрагментами.

6. Сервисные действия: проверка орфографии и грамматики, установка языка и переносов, автозамена, поиск и замена.

7. Форматирование символов.

8. Форматирование абзацев.

9. Обрамление и заливка.

10. Табуляция.

11. Стили.

12. Режимы работы с документом.

13. Вставка иллюстраций. Операции с рисунками. Установка обтекания рисунка текстом.

14. Колонтитулы. Сноски.

15. Списки.

16. Буквица.

17. Параметры страницы.

18. Предварительный просмотр, печать документа.

19. Работа с таблицами.

20. Работа со справочной системой.


Программа курса


Лекции

Раздел 1. Вводная часть.
  • Программное и аппаратное обеспечение. Языки программирования: уровень и тип языка программирования, характеристики. Краткий обзор парадигм программирования: процедурные языки, объектно-ориентированные языки.
  • Этапы разработки программного обеспечения. Жизненный цикл программного продукта.
  • Характеристики разрабатываемой программы.
  • Основные принципы обработки команд программы исполнителем (компьютером).
  • Организация ЭВМ. Принципы построения ЭВМ, машина Фон Неймана.

Раздел 2. Понятие Данные.
  • Понятие данные, информация. Свойства информации.
  • Представление данных разного типа в компьютере: целочисленные данные и числа с плавающей точкой, строки фиксированной и переменной длины, символы, логические значения, даты. Различные варианты кодировки символов. Сравнение данных разных типов.
  • Системы счисления. Общие понятия и конкретные системы: десятичная, двоичная, шестнадцатеричная, восьмеричная. Правила перевода числа из одной системы в другую.
  • Устройство памяти. Адресация. Понятие переменная. Объявление (декларация) и инициализация переменных. Правила именования.

Раздел 3. Понятие Программа.
  • Понятие программа, алгоритм, исполнитель.
  • Типы программного обеспечения: системное, прикладное, инструментальное (средства разработчика).
  • Трехуровневая модель программного продукта.
  • Свойства алгоритмов. Формы представления алгоритмов: естественный язык, блок-схема, формальный язык. Составление блок-схем алгоритмов.
  • Иерархическая организация программы, модульность. Область видимости и время жизни. Секции программного модуля.
  • Понятия транслятор, компилятор, интерпретатор. Статическая и динамическая компиляция.

Раздел 4. Понятие Интерфейс.
  • Варианты интерфейсов: UI, GUI и др. Важность правильной разработки интерфейса.
  • Различные методы построения диалога с пользователем.

Раздел 5. Язык программирования. Переменные.
  • Состав и структура языка программирования. Понятия алфавита, синтаксиса и семантики.
  • Комментарии.
  • Переменные. Определение имени переменной. Объявление переменной. Инициализация переменной по умолчанию и из кода.
  • Область видимости и время жизни переменных.
  • Оператор присваивания.
  • Типы переменных. Преобразование типов явное и неявное. Стандартные операции с переменными.
  • Константы.
  • Указатель или ссылка на переменную.

Раздел 6. Язык программирования. Операторы.
  • Понятие оператора. Запись операторов. Многострочные операторы, понятие блока.
  • Оператор условия. Составления условия: сравнение числовых значений, дат, строковых и логических значения. Составление сложных условий: использование логических операций OR, AND, XOR, NOT. Приоритет операций. Вложенные операторы. Оптимизация условий.
  • Оператор выбора. Оптимизация оператора выбора.
  • Оператор цикла: циклы с предусловием, с постусловием, с параметром. Цикл для обхода элементов группы. Понятия: тело цикла, условие цикла, счетчик, итерация. Использование счетчика цикла. Оператор досрочного выхода из цикла.

Раздел 7. Процедуры и функции.
  • Декомпозиция задачи на подзадачи. Программирование сверху вниз и снизу вверх. Парадигма черного ящика. Входные и выходные данные подпрограммы.
  • Понятия подпрограмма, процедура, функция. Процедуры стандартные, пользовательские. Описание, объявление, вызов процедуры.
  • Вызов процедуры и функции.
  • Аргументы формальные и фактические. Тип аргумента. Передача аргументов по значению и по ссылке. Значение, возвращаемой функцией.
  • Способы взаимодействия различных фрагментов программы. Структурная декомпозиция.

Раздел 8. Способы организации данных.
  • Роль организации данных в программе.
  • Понятие массива. Массивы одномерные и многомерные. Понятие индекса и элемента массива. Подсчет объема памяти занимаемой массивом. Типовые задачи с массивами: доступ к элементу, обход элементов, инициализация элементов.
  • Представление текстовой информации. Понятие строка. Различные способы организации строковых данных. Работа с отдельными символами. Наиболее употребительные функции для работы со строками.
  • Пользовательский тип данных (структура). Объявление и использование пользовательского типа. Совместное использование пользовательских типов данных и массивов.
  • Применение списков и файлов.

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

Раздел 10. Объектно-ориентированное программирование.
  • Преимущества применения объектно-ориентированного подхода в программировании. Понятия класс, объект, свойство, метод, событие. Основные характерные черты объектно-ориентированного подхода (обзорно): инкапсуляция, наследование, полиморфизм.

Практические работы

Практика 1. Знакомство со средой программирования.
  • Знакомство со средой программирования PascalABC. Основные типы файлов. Понятие решения, проекта, модуля. Создание нового проекта, присвоение имен. Основные операции в проекте, навигация.
  • Основные необходимые понятия для начала работы с объектами и классами.
  • Проектирование пользовательского графического интерфейса. Работа в Form Designer.
  • Написание кода. Создание обработчиков событий, реагирование на действия пользователя.
  • Решение простейших алгоритмических задач:

- ввод, вывод данных,

- использование подпрограмм,

- проверка правильности ввода, реагирование на ошибки,

- обмен значений двух переменных,

- определение четности числа.
  • Компиляция проекта. Подготовка и запуск исполняемого файла.
  • Работа со справочной системой.

Практика 2. Работа с массивом
  • Создание проекта, добавление, удаление, переименование модулей.
  • Проектирование приложения, двухуровневая модель. Реализация независимости пользовательского интерфейса от логики.
  • Реализация подпрограмм для работы с массивом: добавление элемента, удаление, очистка массива, выбор элемента, сортировка элементов. Контроль входных данных.
  • Разработка пользовательской формы. Проектирование интерфейса. Организация ввода и вывода данных, реакция на ошибки.

Практика 3. Работа со строками
  • Решение следующих задач:

- переворот строки,

- отображение кодов символов,

- получение случайного слова,

- подсчет и вывод отдельных слов в строке.
  • Реализация рекурсивного алгоритма
  • Реализация рекурсивного алгоритма на примере факториала.


Дополнительные темы.
  • Итерационный алгоритм. Работа с объектами: методы, свойства, события.

Экзамен