ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ




Министерство образования и науки Российской Федерации

Государственное образовательное учреждение

Высшего профессионального образования

«Рязанский государственный университет имени С.А. Есенина»

 

 

УТВЕРЖДАЮ:

Проректор по учебно-методической работе

профессор В.В. Страхов

____________________

«____»___________2011 г.

 

Рабочая программа дисциплины

Информатика и программирование

 

Направление подготовки

Математическое обеспечение и администрирование

Информационных систем

 

Профиль подготовки

Администрирование информационных систем

Квалификация (степень) выпускника

Бакалавр

 

Форма обучения

Очная

 

 

Рязань 2011


ЦЕЛИ ОСВОЕНИЯ ДИСЦИПЛИНЫ

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

· систематизация, формализация и расширение знаний по основам информатики, приобретенные в школе;

· привитие навыков алгоритмического мышления, культуры алгоритмизации и нисходящего структурного программирования;

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

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

МЕСТО ДИСЦИПЛИНЫВ СТРУКТУРЕ ООП БАКАЛАВРИАТА

Дисциплина “Информатика и программирование” относится к базовой части цикла дисциплин “Фундаментальная математика и естественнонаучный цикл”.

Для успешного освоения дисциплины студент должен иметь компетенции, формирование которых предусмотрено ООП среднего (полного) общего образования или среднего профессионального образования.

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

 

КОМПЕТЕНЦИИ ОБУЧАЮЩЕГОСЯ, ФОРМИРУЕМЫЕ В РЕЗУЛЬТАТЕ

ОСВОЕНИЯ ДИСЦИПЛИНЫ

В соответствии с ФГОС ВПО и ООП ВПО по направлению подготовки “Математическое обеспечение и администрирование информационных систем” в процессе освоения дисциплины студентом формируются и демонстрируются следующие компетенции:

· работа в команде (ОК2);

  • способность применять знания на практике (ОК5);
  • способность учиться (ОК7);
  • способность адаптироваться к новым ситуациям (ОК8);
  • умение находить, анализировать и контекстно обрабатывать научно-техническую информацию (ОК9);
  • фундаментальная подготовка по основам профессиональных знаний (ОК10);
  • владеет основными методами, способами и средствами получения, хранения, переработки информации, имеет навыки работы с компьютером как средством управления информацией (ОК12);
  • базовые знания в различных областях (ОК13);
  • определение общих форм, закономерностей, инструментальных средств для данной дисциплины (ПК1);
  • умение понять поставленную задачу (ПК2);
  • самостоятельное построение алгоритма и его анализ (ПК11);
  • знать проблемы современной информатики, ее категории и связи с другими научными дисциплинами (ПК20);
  • знать содержание, основные этапы и тенденции развития программирования, математического обеспечения и информационных технологий (ПК21).

В результате освоения дисциплины обучающийся должен демонстрировать следующие результаты образования.

ЗНАТЬ:

· понятие предмет и задачи исследования информатики как науки (ОК9, ОК13, ПК1, ПК20);

· понятие сущность и значение информации в развитии современного информационного общества (ОК9, ПК1, ПК20);

· этапы решения задачи на компьютере (ОК5, ОК10, ОК12, ОК13, ПК1);

· понятие алгоритма и его основные свойства (ОК9, ОК10, ОК13, ПК1, ПК11);

· основные понятия алгоритмической системы: представление информации в виде данных, система команд исполнителя, алгоритмический язык исполнителя (ОК9, ОК10, ОК13, ПК1, ПК11);

· основные средства записи и типы алгоритмов (ОК9, ОК10, ОК13, ПК1, ПК11);

· основные парадигмы программирования (ОК9, ОК10, ОК13, ПК1, ПК21);

· номенклатуру языков программирования различного уровня и их возможности (ОК9, ОК10, ОК12, ОК13, ПК1, ПК21);

· составные части алгоритмического языка программирования (алфавит, синтаксис, семантика) и способы их описания (ОК9, ОК10, ОК12, ОК13, ПК1, ПК21);

· концепцию типов данных (ОК9, ОК10, ОК12, ОК13, ПК1, ПК21);

· структуру программы на императивном языке программирования (ОК9, ОК10, ОК12, ОК13, ПК1, ПК21);

· основные понятия императивных алгоритмических языков программирования и их классификацию: идентификаторы, данные и их типы, операции, стандартные функции, выражения, операторы (ОК9, ОК10, ОК12, ОК13, ПК1, ПК21);

· цели и составные части концепции нисходящего структурного проектирования алгоритмов и программ (ОК9, ОК10, ОК12, ОК13, ПК1, ПК21);

· алгоритмические структуры, их основные свойства и приемы использования (ОК5, ОК9, ОК10, ОК12, ОК13, ПК1, ПК21);

· синтаксис и семантику основных операторов императивных языков программирования Бейсик, Паскаль и Си (присваивания, ввода-вывода, ветвления, циклов), способы реализации алгоритмических структур средствами языков программирования (ОК5, ОК9, ОК12, ОК13, ПК1, ПК21);

· особенности ввода с клавиатуры и вывода на монитор в императивных СП на основе языков Бейсик, Паскаль и Си (ОК5, ОК9, ОК12, ПК1, ПК21);

· основные синтаксические конструкции, используемые в языках программирования Бейсик, Паскаль и Си для описания и обработки данных типа массив (ОК5, ОК9, ОК12, ОК13, ПК1, ПК21);

· прием “флаг” и уметь применять его при решении учебных задач (ОК5, ОК9, ОК12, ОК13, ПК1, ПК21);

· понятие алгоритмического модуля и его свойства (ОК9, ОК10, ОК12, ОК13, ПК1, ПК11);

· принципы выделения и правила записи алгоритмических модулей (ОК9, ОК10, ОК12, ОК13, ПК1, ПК11);

· семантику вызова алгоритмического модуля, в том числе, рекурсивного вызова, и механизмы реализации межмодульного интерфейса (ОК9, ОК10, ОК12, ОК13, ПК1, ПК11);

· синтаксис и семантику реализации алгоритмического модуля средствами языков Бейсик, Паскаль и Си (ОК5, ОК9, ОК12, ОК13, ПК1, ПК21);

· способы передачи параметров (ОК5, ОК9, ОК12, ОК10, ОК13, ПК1, ПК21);

· синтаксис типов запись с фиксированными полями, указатель и типизированный файл в языке Паскаль (ОК5, ОК9, ОК12, ОК13, ПК1, ПК21);

· синтаксис типов структура, указатель и файл в языке Си (ОК5, ОК9, ОК12, ОК13, ПК1, ПК21);

· понятия статического и динамического объекта программы на языках Паскаль и Си (ОК9, ОК10, ОК12, ОК13, ПК1, ПК21);

· синтаксис и семантику основных средств управления использованием динамической памятью в языках Паскаль и Си (ОК5, ОК9, ОК12, ОК13, ПК1, ПК21);

· структуру данных файл и основные действия с файлами последовательного доступа (ОК5, ОК9, ОК10, ОК12, ОК13, ПК1, ПК21);

· синтаксис и семантику основных средств обработки файлов в СП Turbo-Pascal и Turbo-C++ и последовательность их использования для организации ввода и вывода (ОК5, ОК9, ОК12, ОК13, ПК1, ПК21);

УМЕТЬ:

· принимать ту роль в группе, команде, которую ему отводят (ОК2);

· делится информацией и опытом с членами группы, команды (ОК2);

· организовывать самостоятельную познавательную деятельность: планировать свое личное время, ставить цели и достигать их, осуществлять самоанализ, самооценку своей образовательной деятельности (ОК7, ОК8);

· интегрировать новую информацию в уже имеющуюся личностную систему знаний (ОК7, ОК9);

· находить, анализировать и контекстно обрабатывать научно-техническую информацию (ОК8, ОК9);

· записывать алгоритмы с помощью блок-схем (ОК5, ОК10, ОК13, ПК1, ПК11);

· описывать алфавит и основные синтаксические конструкции языков с помощью нормальных форм Бэкуса-Наура (ОК10, ОК13, ПК1, ПК21);

· разрабатывать и записывать алгоритмы и программы в соответствие с принципом структурности (ОК5, ОК8, ОК10, ОК12, ПК1, ПК2, ПК11, ПК21);

· анализировать структуру алгоритмов (ОК10, ПК11);

· при решении учебной задачи конкретизировать и описать основные понятия, данные и их типы, уметь организовать ввод и вывод, реализовать алгоритмические структуры средствами, по крайней мере, трех императивных языков программирования (ОК5, ОК8, ОК10, ОК12, ПК1, ПК2, ПК11, ПК21);

· составлять алгоритмы и программы обработки массивов (ОК5, ОК8, ОК12, ПК1, ПК2, ПК11, ПК21);

· составлять алгоритмы и программы обработки строк (ОК5, ОК8, ОК12, ПК1, ПК2, ПК11, ПК21);

· решать учебные задачи в соответствие с принципом модульности (ОК5, ОК8, ОК10, ОК12, ПК1, ПК2, ПК11, ПК21);

· разрабатывать и использовать библиотеку пользователя в СП Turbo-Pascal и Turbo-C++ (ОК5, ОК8, ОК12, ПК1, ПК21);

· составлять простейшие алгоритмы и программымоделирования движения графического изображения (ОК5, ОК8, ОК12, ПК1, ПК2, ПК11, ПК21);

· использовать тип указатель для организации односвязного списка, очереди и стека (ОК5, ОК8, ОК12, ПК1, ПК2, ПК11, ПК21);

· решать учебные задачи по обработке данных типа запись, структура, файл и линейных динамических структур данных средствами систем программирования (СП) Turbo-Pascal и Turbo-C++ (ОК5, ОК8, ОК12, ПК1, ПК2, ПК11, ПК21).

ВЛАДЕТЬ:

· основными методами, способами и средствами переработки информации на основе парадигмы императивного программирования (ОК5, ОК12, ПК2, ПК11, ПК21);

· навыками проектирования, ввода, отладки и тестирования программ в средах, по крайней мере, трех императивных систем программирования (ОК5, ОК8, ОК12, ПК1, ПК2, ПК11, ПК21).

 

СТРУКТУРА И СОДЕРЖАНИЕ ДИСЦИПЛИНЫ

Общая трудоемкость дисциплины составляет 18 зачетных единиц 576 часов.

 

№ п/п Дисциплина Семестр Число недель Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах)     аттестации (по семестрам) Формы текущего контроля успеваемости (по неделям семестра) Формы промежуточной аттестации (по семестрам)    
  Информатика и программирование 1, 2, 3   Л ЛР ПЗ СР Текущий контроль: 2 неделя – защита ЛР №1 4 неделя – защита ЛР №2 6 неделя – защита ЛР №3 8 неделя – КР №1 9 неделя – защита ЛР №4 11 неделя – защита ЛР №5 14 неделя – защита ЛР №6 17 неделя – КР №2 18 неделя – защита ЛР №7 20 неделя – защита ЛР №8 22 неделя – КР №3 23 неделя – защита ЛР №9 25 неделя – защита ЛР №10 28 неделя – защита ЛР №11 30 неделя – защита ЛР №12 31 неделя – КР №4 32 неделя – защита ЛР №13 36 неделя – защита ЛР №14 37 неделя – защита ЛР №15 39 неделя – защита ЛР №16 40 неделя – защита ЛР №17 41 неделя – защита ЛР №18 42 неделя – КР №5 43 неделя – защита ЛР №19 45 неделя – защита ЛР №20 47 неделя – защита ЛР №21 49 неделя – защита ЛР №22 51 неделя – защита ЛР №23 54 неделя – защита ЛР №24 Формы промежуточной аттестации: 1 семестр – зачет 2 семестр – экзамен 3 семестр – экзамен    
                 

 

Л – лекции, ПЗ – практические занятия, ЛР – лабораторные работы; СР – самостоятельная работа студента, КР- контрольная работа.


 

№ п/п   Темы, разделы дисциплины Кол-во часов Компетенции
л/лр/пз/ср Коды компетенций общее кол-во компетенций
         
1 семестр (18/72/0/90)
  Информатика как наука и как вид практической деятельности 2/0/0/4 ОК9, ОК10, ОК13, ПК1, ПК20  
  Алгоритмическая система и ее составные части 0/0/0/2 ОК9, ОК10, ОК13, ПК1, ПК11  
  Основные понятия и простейшие средства алгоритмических языков программирования 2/4/0/6 ОК2, ОК5, ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК2, ПК11, ПК21  
  Концепция нисходящего структурного проектирования. Разработка разветвляющихся алгоритмов и программ в соответствии с принципом структурности 4/16/0/20 ОК2, ОК5, ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК2, ПК11, ПК21  
  Разработка циклических алгоритмов и программ в соответствии с принципом структурности 3/24/0/22 ОК5, ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК2, ПК11, ПК21  
  Ввод с клавиатуры и вывод на монитор средствами алгоритмических языков 1/12/0/12 ОК5, ОК7, ОК8, ОК9, ОК12, ПК1, ПК2, ПК11, ПК21  
  Структурированный тип данных массив 6/16/0/24 ОК5, ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК2, ПК11, ПК21  
2 семестр (36/72/0/108)
  Символьный и строковый типы данных 6/20/0/26 ОК5, ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК2, ПК11, ПК21  
  Разработка алгоритмов в соответствии с принципом модульности 2/8/0/10 ОК2, ОК5, ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК2, ПК11, ПК21  
  Реализация принципа модульности средствами алгоритмических языков программирования 10/20/0/30 ОК2, ОК5, ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК2, ПК11, ПК21  
  Обзор графических возможностей систем программирования (СП) Qbasic и Turbo-Pascal 2/8/0/10 ОК5, ОК7, ОК8, ОК9, ОК12, ПК1, ПК2, ПК11, ПК21  
  Структурированный тип данных запись 4/4/0/8 ОК5, ОК7, ОК8, ОК9, ОК12, ПК1, ПК2, ПК11, ПК21  

 

         
  Тип данных указатель 8/8/0/16 ОК5, ОК7, ОК8, ОК9, ОК12, ПК1, ПК2, ПК11, ПК21  
  Структурированный тип данных файл 4/4/0/8 ОК5, ОК7, ОК8, ОК9, ОК12, ПК1, ПК2, ПК11, ПК21  
3 семестр (18/72/0/90)
  Парадигмы программирования 1/0/0/1 ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК21  
  Общая характеристика языков программирования семейства Си 1/2/0/3 ОК5, ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК21  
  Разработка разветвляющихся алгоритмов и программ в СП Turbo-C++ 2/10/0/12 ОК5, ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК2, ПК11, ПК21  
  Разработка циклических алгоритмов и программ в СП Turbo-C++ 2/8/0/10 ОК5, ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК2, ПК11, ПК21  
  Ввод с клавиатуры и вывод на монитор средствами С++ 1/8/0/9 ОК5, ОК7, ОК8, ОК9, ОК12, ПК1, ПК2, ПК11, ПК21  
  Массивы в языке Си 2/8/0/10 ОК5, ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК2, ПК11, ПК21  
  Строки в языке Си 2/8/0/10 ОК5, ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК2, ПК11, ПК21  
  Реализация принципа модульности средствами языка Си 3/16/0/19 ОК5, ОК7, ОК8, ОК9, ОК10, ОК12, ОК13, ПК1, ПК2, ПК11, ПК21  
  Тип данных структура 1/4/0/5 ОК5, ОК7, ОК8, ОК9, ОК12, ПК1, ПК2, ПК11, ПК21  
  Динамические переменные в языках семейства Си 2/6/0/8 ОК5, ОК7, ОК8, ОК9, ОК12, ПК1, ПК2, ПК11, ПК21  
  Тип файл в СП Turbo-C++ 1/2/0/3 ОК5, ОК7, ОК8, ОК9, ОК12, ПК1, ПК2, ПК11, ПК21  

Содержание разделов дисциплины

1. Информатика как наука и как вид практической деятельности. История информатики, место информатики в системе наук. Теоретическая и прикладная информатика. Технические средства реализации информационных процессов. Принципы фон Неймана как основа структуры современного компьютера. Позиционные системы счисления. Представление в компьютере целых чисел. Представление в компьютере действительных чисел. Программные средства реализации информационных процессов. Алгоритмизация и программирование как составные части информатики. Основные этапы компьютерного решения задач.

2. Алгоритмическая система и ее составные части. Алгоритмическая система как совокупность средств и понятий. Понятие алгоритма и исполнителя алгоритма. Представление информации в виде данных: понятие о вводе/выводе; входные, выходные и промежуточные данные. Система команд исполнителя. Константы, переменные, операции, функции и выражения. Понятие типа данных. Алгоритмический язык исполнителя. Средства записи алгоритмов. Блок-схемы алгоритмов.

3. Основные понятия и простейшие средства алгоритмических языков программирования. Программирование как этап решения задачи на компьютере. Понятие языка программирования высокого уровня. Составные части языка высокого уровня: алфавит, синтаксис, семантика. Метаязыки описания конструкций языков программирования. Расширенные Бэкуса-Наура формы, примеры метаформул. Структуры программ и концепции типов данных в алгоритмических языках на примере языков Qbasic и Turbo-Pascal. Оператор как логически завершенная конструкция алгоритмического языка программирования. Различные классификации операторов: исполняемые и неисполняемые, простые и составные. Различные классификации типов данных: простые и структурированные, стандартные и определяемые пользователем. Основные простые типы данных в языках Qbasic и Pascal (кроме логического): идентификаторы стандартных типов, диапазоны, операции и функции, синтаксис типа диапазон. Особенности целочисленной и действительной арифметики в СП Qbasic и Turbo-Pascal. Синтаксис разделов программы на языке Turbo-Pascal, понятие порядкового типа в языке Pascal. Синтаксис и семантика оператора присваивания, знакомство с операторами ввода/вывода в языках Qbasic и Pascal. Общая характеристика императивных СП Qbasic и Turbo-Pascal: основное меню, окна редактирования и результатов выполнения программы, диалоговые окна, встроенная система помощи. Написание, ввод, отладка и выполнение программ линейной структуры в СП Qbasic и Turbo-Pascal.

4. Концепция нисходящего структурного проектирования. Разработка разветвляющихся алгоритмов и программ в соответствии с принципом структурности. Цели и составные части концепции нисходящего структурного проектирования. Взаимосвязь принципов нисходящего проектирования, модульности и структурности. Алгоритмические структуры как основа структурного кодирования. Базовые алгоритмические структуры: следование и развилка. Вложение (суперпозиция) алгоритмических структур как основной прием принципа структурности. Присоединение алгоритмических структур. Правила пунктуации в программах на алгоритмическом языке. Составной оператор в языке Pascal. Логический тип данных в алгоритмических языках Qbasic и Pascal. Операции отношения и логические операции. Алгоритмические структуры, реализующие ветвления. Организация ветвлений средствами алгоритмических языков: синтаксис и семантика строчного и блочного условных операторов в Qbasic, условного оператора в Pascal, операторов выбора в языках Qbasic и Pascal. Понятие о приеме программирования “флаг”. Примеры алгоритмов и программ разветвляющейся структуры. Разработка блок-схем алгоритмов разветвляющейся структуры. Написание, ввод, отладка и выполнение программ разветвляющейся структуры в СП Qbasic и Turbo-Pascal.

5. Разработка циклических алгоритмов и программ в соответствии с принципом структурности. Базовая алгоритмическая структура цикл с предусловием. Цикл с постусловием. Проблема зацикливания. Цикл с параметром. Синтаксис и семантика операторов циклов в языках Qbasic и Pascal. Особенности системной организации циклов с параметром в СП Qbasic и Turbo-Pascal. Рекомендации по программированию циклов. Примеры циклических алгоритмов и программ. Разработка блок-схем алгоритмов циклической структуры. Написание, ввод, отладка и выполнение программ циклической структуры в СП Qbasic и Turbo-Pascal.

6. Ввод с клавиатуры и вывод на монитор средствами алгоритмических языков. Понятие о текстовом режиме монитора, текущее положение курсора. Синтаксис и семантика операторов ввода с клавиатуры в СП Qbasic и Turbo-Pascal. Особенности ввода с клавиатуры символьной и строковой информации в СП Turbo-Pascal. Общая характеристика операторов вывода на монитор в императивных алгоритмических СП. Синтаксис оператора PRINT в Qbasic. Организация слитного и зонального вывода средствами оператора PRINT, примеры. Особенности вывода значений числового и строкового типа. Организация форматированного вывода средствами оператора PRINT USING в Qbasic: синтаксис, символы форматирования, основные форматы для вывода значений строкового и числового типа, семантика. Синтаксис и семантика оператора вывода на монитор в СП Turbo-Pascal. Понятие о библиотеках СП Turbo-Pascal. Форматированный вывод текстовой и числовой информации на монитор в СП Turbo-Pascal. Диалоговые программы. Дружественность интерфейса с пользователем. Примеры организации форматированного вывода на монитор. Разработка блок-схем алгоритмов, написание, ввод, отладка и выполнение программ с форматированным выводом на монитор в СП Qbasic и Turbo-Pascal.

7. Структурированный тип данных массив. Синтаксис и семантика оператора резервирования памяти в Qbasic, примеры. Особенности распределения памяти в СП Qbasic. Синтаксис определения типа массив в языке Pascal. Рекомендации по описанию переменной типа массив и понятие полной совместимости типов в языке Pascal, примеры. Использование переменной типа массив в операторе присваивания. Элемент массива (переменная с индексами). Основные алгоритмы и программы обработки числовых массивов: поиск максимума (минимума), поиск элементов с заданными свойствами, сортировка методом пузырька, модифицированный алгоритм сортировки методом пузырька. Примеры алгоритмов и программ обработки массивов, в том числе с использованием приема “флаг”. Разработка блок-схем алгоритмов обработки массивов. Написание, ввод, отладка и выполнение программ обработки массивов в СП Qbasic и Turbo-Pascal.

8. Символьный и строковый типы данных. Стандартный идентификатор строкового типа в языках Qbasic и Pascal. Строковый тип в языке Pascal как массив символов. Операция конкатенации в Qbasic и Turbo-Pascal. Синтаксис и семантика функции MID$ и оператора MID$. Функции и процедуры для работы со строками в языке Turbo-Pascal. Примеры алгоритмов и программ обработки данных строкового типа. Написание, ввод, отладка и выполнение программ обработки строк в СП Qbasic и Turbo-Pascal.

9. Разработка алгоритмов в соответствии с принципом модульности. Понятие алгоритмического модуля, его свойства и правила выделения. Концепция “черного ящика”. Правила записи алгоритмического модуля: спецификация и тело модуля. Входные и выходные формальные параметры. Блок вызова алгоритмического модуля. Фактические параметры. Семантика вызова алгоритмического модуля и механизм реализации межмодульного интерфейса. Понятие рекурсии. Семантика рекурсивного вызова. Примеры простейших алгоритмов, составленных в соответствии с принципом модульности. Разработка блок-схем алгоритмов в соответствии с принципом модульности.

10. Реализация принципа модульности средствами алгоритмических языков программирования. Способы записи алгоритмического модуля средствами алгоритмических языков программирования: процедуры и функции. Синтаксис процедуры, синтаксис и семантика оператора процедуры в языке Qbasic. Способы передачи параметров значением и ссылкой. Синтаксис процедуры, синтаксис и семантика оператора процедуры в языке Pascal. Параметры значения и параметры переменные. Рекомендации по выбору способа передачи параметров. Примеры простейших программ, составленных в соответствии с принципом модульности. Синтаксис функции в языках Qbasic и Pascal. Рекомендации по использованию функций в императивных СП Qbasic и Turbo-Pascal. Примеры простейших программ с использованием функций пользователя. Синтаксис процедурного типа в языке Pascal. Рекомендации по использованию процедурного типа для решения задач: параметры процедуры и параметры функции. Пример алгоритма и программы решения задачи с использованием процедурного типа. Примеры алгоритма и программ решения задачи рекурсивной природы. Понятие о библиотеке СП Turbo-Pascal. Обзор стандартных модулей. Синтаксис раздела модулей программы и особенности трансляции процедур и функций модуля СП Turbo-Pascal. Синтаксис модуля пользователя и рекомендации по организации библиотеки пользователя в СП Turbo-Pascal. Длинная целочисленная арифметика. Примеры программ сложения и вычитания натуральных чисел с числом рарядов больше десяти. Написание, ввод, отладка и выполнение программ в соответствии с принципом модульности в СП Qbasic и Turbo-Pascal.

11. Обзор графических возможностей СП Qbasic и Turbo-Pascal. Понятие о графическом режиме монитора, текущее положение графического курсора. Операторы установки параметров окна результатов и задания текущего цвета изображения в языке Qbasic. Обзор стандартных средств языка Qbasic для изображения графических примитивов: точек, отрезков, прямоугольников, окружностей и эллипсов, дуг окружностей и эллипсов. Операторы стандартных процедур модуля Graph библиотеки СП Turbo-Pascal для определения подходящего графического драйвера, инициализации и прекращения графического режима и задания текущего цвета изображения. Обзор стандартных процедур модуля Graph для изображения графических примитивов: точек, отрезков, прямоугольников, окружностей и эллипсов, дуг окружностей и эллипсов. Простейший алгоритм моделирования движения графического изображения (анимация). Написание, ввод, отладка и выполнение программ моделирования движения графического изображения в соответствии с принципом модульности в СП Qbasic и Turbo-Pascal.

12. Структурированный тип данных запись. Синтакис типа запись с фиксированными полями в языке Pascal. Рекомендации по описанию переменной типа запись, примеры. Использование переменной типа запись в операторе присваивания. Селектор записи (переменная с точкой). Синтаксис оператора присоединения. Примеры алгоритмов и программ обработки данных типа запись. Разработка блок-схем алгоритмов обработки данных типа запись. Написание, ввод, отладка и выполнение программ обработки данных типа запись в соответствии с принципом модульности в СП Turbo-Pascal

13. Тип данных указатель. Понятия статических и динамических объектов программы на языке Паскаль. Синтаксис типа указатель (ссылочный тип) в языке Pascal. Рекомендации по описанию переменной типа указатель, примеры. Синтаксис и семантика оператора резервирования (захвата) памяти под динамическую переменную в языке Pascal, примеры. Использование переменной типа указатель в операторе присваивания и в выражениях отношения с операциями = и <>. Динамическая переменная (переменная с крышкой). Синтаксис и семантика освобождения области памяти динамической переменной в языке Pascal. Понятие динамических структур данных. Использование типа указатель для организации динамического односвязного списка по принципам ссылки вперед и ссылки назад. Примеры алгоритмов и программ создания динамических односвязных списков. Алгоритмы вставки (добавления), удаления и поиска элемента динамического односвязного списка. Структуры данных на основе односвязных списков: очередь и стек. Рекомендации по созданию и обработке динамических структур данных очередь и стек с примерами фрагментов алгоритмов и программ. Разработка блок-схем алгоритмов создания и обработки динамических структур данных. Написание, ввод, отладка и выполнение программ создания и обработки динамических структур данных в соответствии с принципом модульности в СП Turbo-Pascal.

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

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

16. Общая характеристика языков программирования семейства Си. Особенности языков программирования семейства Си. Структура простейшей программы на языке Си: раздел препроцессора и раздел функций. Синтаксис разделов программы, составной оператор. Понятие о библиотеке языка Си. Трансляция программ в СП (СП) семейства Си. Основные простые типы данных в языке Си: идентификаторы типов, модификаторы типов, диапазоны значений, синтаксис и семантика оператора резервирования памяти, инициализация переменных, операции и функции, преобразование типов. Некоторые особенности операций языка Си: перегрузка операции деления, операция присваивания и возможные варианты записи выражений с использованием операции присваивания, операции инкремента и декремента в префиксной и постфиксной форме, операции взятия адреса и содержимое по указанному адресу. Знакомство с операторами потокового ввода/вывода. Общая характеристика императивной СП Turbo-C++: основное меню, окна редактирования и результатов выполнения программы, диалоговые окна, встроенная система помощи.

17. Разработка разветвляющихся алгоритмов и программ в СП Turbo-C++. Интерпретация данных целого типа как данных логического типа в языке Си. Операции отношения и логические операции. Организация развилок средствами языка Си: синтаксис и семантика условных оператора и операции. Операция запятая. Примеры организации развилок средствами Си. Синтаксис и семантика оператора переключателя. Организация посредством переключателя структуры выбор, пример. Разработка блок-схем алгоритмов разветвляющейся структуры. Написание, ввод, отладка и выполнение программ разветвляющейся структуры в СП Turbo-C++.

18. Разработка циклических алгоритмов и программ в СП Turbo-C++. Синтаксис и семантика операторов циклов в языке Си: циклы с предусловием и постусловием, цикл for. Особенности системной организации цикла for в СП Turbo-C++. Рекомендации по программированию циклов. Примеры циклических алгоритмов и программ. Разработка блок-схем алгоритмов циклической структуры. Написание, ввод, отладка и выполнение программ циклической структуры в СП Turbo-C++.

19. Ввод с клавиатуры и вывод на монитор средствами С++. Синтаксис и семантика операторов потокового ввода/вывода. Манипуляторы. Примеры организации потокового ввода/вывода. Синтаксис и семантика функций форматированного ввода/вывода. Синтаксис формата ввода, символы преобразования и модификаторы. Примеры организации форматированного ввода. Синтаксис формата вывода, управляющие символы. Примеры организации форматированного вывода. Написание, ввод, отладка и выполнение программ с форматированным выводом на монитор в СП Turbo-C++.

20. Массивы в языке Си. Синтаксис и семантика оператора резервирования памяти под массив, примеры. Идентификатор массива как указатель на область памяти, захваченной под массив. Использование переменной типа массив в выражении с операцией присваивания. Особенности распределения памяти под элементы массива и инициализация массивов в СП семейства Си. Традиционная индексная и альтернативная, с помощью операции “*”, адресация элементов массива, примеры. Примеры обработки массивов средствами языка Си. Разработка блок-схем алгоритмов обработки массивов. Написание, ввод, отладка и выполнение программ обработки массивов в СП Turbo-C++.

21. Строки в языке Си. Строки как массивы символов. Особенности инициализации и организации ввода строк в языке Си. Стандартные функции обработки строк в языке Си. Алгоритмы копирования, удаления и замены части строки средствами языка Си, примеры. Разработка блок-схем алгоритмов обработки строк. Написание, ввод, отладка и выполнение программ обработки строковых данных в СП Turbo-C++.

22. Реализация принципа модульности средствами языка Си. Синтаксис функции в языке Си. Формальные и фактические параметры. Способы передачи параметра простого типа. Рекомендации по использованию функций в программах на C++, примеры. Параметры массивы и параметры функции, примеры. Функции с аргументами по умолчанию, примеры. Перегрузка функций, пример. Классы памяти в языке Си. Рекомендации по организации простейшей библиотеки пользователя средствами СП Turbo-C++. Разработка блок-схем алгоритмов в соответствии с принципом модульности. Написание, ввод, отладка и выполнение программ в соответствии с принципом модульности в СП Turbo-C++.

23. Тип данных структура. Синтаксис типа структура в языках семейства Си. Оператор определения типа пользователя, пример. Определение типа структура с помощью тэга. Рекомендации по описанию переменной типа структура, примеры. Использование переменной типа структура в выражении с операцией присваивания. Член структуры (идентификатор с точкой). Разработка блок-схем алгоритмов обработки данных типа структура. Написание, ввод, отладка и выполнение программ обработки данных типа структура в соответствии с принципом модульности в СП Turbo-C++.

24. Динамические переменные в языках семейства Си. Синтаксис типа указатель (ссылочный тип) в языках семейства Си. Рекомендации по описанию переменной типа указатель. Синтаксис и семантика оператора захвата памяти под динамическую переменную. Идентификатор динамической переменной в языках семейства Си (идентификатор со звездочкой). Синтаксис и семантика освобождения области памяти динамической переменной. Синтаксис и семантика операторов захвата и освобождения области памяти для динамического массива. Использование типа указатель для организации односвязного списка, определение типа элемента односвязного списка с помощью тэга. Адресация члена динамической переменной типа структура с помощью литеры алфавита “–>” (идентификатор со стрелкой). Рекомендации по организации вставки (добавления), удаления и поиска элементов линейных динамических структур данных. Примеры алгоритмов создания и обработки линейных динамических структур данных и соответствующих программ на языке C++. Разработка блок-схем алгоритмов создания и обработки линейных динамических структур данных. Написание, ввод, отладка и выполнение программ создания и обработки линейных динамических структур данных в соответствии с принципом модульности в СП Turbo-C++.

25. Тип файл в СП Turbo-C++. Организация файлов данных в языках семейства Си. Синтаксис и семантика захвата памяти под указатель на буфер файла. Синтаксис и семантика функции открытия файла. Атрибуты режима по умолчанию для записи (вывода), чтения (ввода) и добавления данных. Атрибуты режимов текстового и бинарного файла данных. Синтаксис и семантика функций форматированной записи данных в файл и форматированного чтения данных из файла. Функция конец файла в СП Turbo-C++. Рекомендации для СП Turbo-C++ по корректному открытию файла и чтению данных из файла, примеры. Синтаксис и семантика функции закрытия файла. Примеры алгоритма и программы обработки файла данных, в которых для хранения промежуточных результатов используется линейная динамическая структура. Разработка блок-схем ал



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: