- •Данные о дисциплине
- •Выписка из учебного плана Дневное отделение
- •Введение
- •Примерный перечень практических занятий
- •Дополнительная литература
- •Раздел 2. Рабочая программа дисциплины:
- •2.1 Краткое описание дисциплины
- •Перечень заданий
- •Лекция 1. Введение в теорию Алгоритмов. Алгоритмы и алгоритмические языки. Свойства алгоритмов. Исполнители. Машина Тьюринга. Тезис Тьюринга
- •Алфавит языка Турбо Паскаль и специфика использования символов
- •Внешний вид исходного текста программы
- •Операции и выражения
- •Операторы Ввода-вывода Оператор вывода writeln
- •Лекция 5. Операторы условий, выбора и безусловного перехода. Циклы
- •Операторы циклов
- •Инкрементный цикл с параметром
- •Декрементный цикл с параметром
- •Лекция 6. Массивы
- •6.1. Одномерные массивы
- •6.2. Двумерные массивы (матрицы)
- •Обращение к компонентам массива
- •Лекция 7. Символы и строки. Множества
- •Строки. Строковые процедуры.
- •Неименованные константы
- •Действия с символами
- •Лекция 8. Множества (Set)
- •Лекция 9. Процедуры и функции Подпрограммы
- •Объявление и описание
- •Возвращаемые значения
- •Вызов подпрограмм
- •Параметр-константа
- •Функции
- •Параметр-значение
- •Лекция 10. Файлы. Файловые переменные.
- •Разновидности файлов
- •Работа с текстовыми файлами
- •Лекция 11. Записи. Бинарные файлы
- •Описание записей
- •Задание записей константой
- •Доступ к полям
- •Оперирование несколькими полями
- •Вложенные операторы with
- •Запись с вариантной частью
- •Описание записи с вариантной частью
- •Бинарные файлы. Использование таблиц с разнотипными полями. Работа с бинарными файлами
- •Типизированные файлы
- •Нетипизированные файлы
- •Подпрограммы обработки директорий
- •Дополнительная литература
- •Билеты для писменных экзаменов
Примерный перечень практических занятий
Введение в теорию Алгоритмов. Алгоритмы и алгоритмические языки. Свойства алгоритмов. Исполнители. Машина Тьюринга. Тезис Тьюринга.
Нормальные алгоритмы Маркова. Принцип нормализации и его обоснование. Композиции машин Тьюринга и нормальных алгоритмов Маркова.
Начальные сведения о программах на языке Pascal
Типы данных и операции
Ветвления. Циклы
Массивы. Сортировки массивов
Символы и строки.
Множества
Процедуры и функции
Ввод и вывод информации: текстовые файлы
Записи. Бинарные файлы
Рекурсивные подпрограммы
Адреса и указатели. Списочные структуры данных
Модульная структура программы
Методы создания пользовательского интерфейса
ПРИМЕРНЫЙ ПЕРЕЧЕНЬ ТЕМ САМОСТОЯТЕЛЬНЫХ РАБОТ
Введение в теорию Алгоритмов. Алгоритмы и алгоритмические языки. Свойства алгоритмов. Исполнители. Машина Тьюринга. Тезис Тьюринга.
Нормальные алгоритмы Маркова. Принцип нормализации и его обоснование. Композиции машин Тьюринга и нормальных алгоритмов Маркова.
Начальные сведения о программах на языке Pascal
Типы данных и операции
Ветвления. Циклы
Массивы. Сортировки массивов
Символы и строки.
Множества
Процедуры и функции
Ввод и вывод информации: текстовые файлы
Записи. Бинарные файлы
Рекурсивные подпрограммы
Адреса и указатели. Списочные структуры данных
Модульная структура программы
Методы создания пользовательского интерфейса
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
Основная:
Ахметова О.С. Основы алгоритмизации и программирования, - Алматы, 2008
С.А. Немнюгин. Turbo Pascal. – СПб.: Издательство «Питер», 2001. – 496 с.: ил.
Гусева А.И. Учимся программировать: PASCAL 7.0. Задачи и методы их решения. – 2-е изд., перераб. и доп. – М.: «Диалог-МИФИ», 2003. – 256 с.
Ахметова О.С. Программирование в Delphi, - Алматы, 2007
Культин Н. Delphi 4. Программирование на Object Pascal. – СПб.: БХИ – Санкт-Петербург, 1999.
Культин Н. Delphi в задачах и примерах. – СПб.: БХВ-Петербург, 2005. – 288с.
Поган А.М. Delphiю Руководство программиста / А.М.Поган. – М.: Эксмо, 2006. – 480с.
Фаронов В.В. Delphi 4. Учебный курс. – М.: «Нолидж», 1998.
Дополнительная литература
Андреева Т.А. Программирование на языке Pascal. Интернет-университет информационных технологий - ИНТУИТ.ру, 2006
Зыков С. В. Введение в теорию программирования. Интернет-университет информационных технологий - ИНТУИТ.ру, 2004
Анисимов А.Е., Пупышев В.В. Сборник заданий по основаниям программирования . БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ру, 2006
Терехов А.Н. Технология программирования. БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ру, 2006
Раздел 2. Рабочая программа дисциплины:
(SILLABUS)
2.1 Краткое описание дисциплины
ПРЕДИСЛОВИЕ
Программирование состоят из двух взаимодополняющих компонентов: аппаратного и программного обеспечения. Рассматривая применение компьютерных технологий в целостной системе обучения, следует выделить один из важнейших аспектов, а именно организацию диалогового взаимодействия в системе "человек–компьютер". Реализация всех типов компьютерных систем может быть осуществлена непосредственно программированием с помощью стандартных средств, применяемых для разработки приложений или используя специализированные инструменты.
Программирование можно трактовать в узком смысле слова – применение компьютера только как средства обучения и в широком смысле слова – многоцелевое использование компьютера в учебном процессе.
Целью преподавания данного курса «Программирование» является расширение интеллектуальных возможностей человека в новом информационном обществе, к которому идет цивилизация, а также интенсификация и повышение качества обучения на всех ступенях системы образования.
Курс «Программирование» предусматривает изучение вопросов развития, методологии проектирования и разработки информационных технологии на базе применения новейших средств вычислительной техники. Данный курс основан на знаниях, полученных студентами при изучении специальных дисциплин по специальности «Математика» и формирует знания студентов в области автоматизированных информационных компьютерных технологии управления.
В результате изучения курса «Программирование» студент будет иметь четкое представление о составе и структуре технологии; будет разбираться в методологии проектирования и разработки информационных технологии; средств организации автоматизированных информационных систем, а также сможет самостоятельно осуществить оценку эффективности информационных технологии управления, что позволит ознакомится с теоретическими основами развития компьютерных технологии. Организация обучения предусматривает чтение лекций и проведения практических занятий, что обуславливает необходимость изучения не только научных и технических основ компьютерных технологии, но и их экономических, социальных и культурных аспектов.
Цель курса:
Расширение интеллектуальных возможностей человека в новом информационном обществе, а также интенсификация и повышение качества обучения на всех ступенях системы образования.
В результате изучения дисциплины студент должен
целостное представление о компьютерной технологии как науке, ее месте в современном мире и в системе наук;
владеть системой знаний о теоретических основах компьютерной технологии;
обладать навыками программирования на проблемно- и машинно-ориентированных языках;
иметь навыки работы с программами нескольких типов, различными вспомогательными устройствами, с системными и прикладными программными средствами общего назначения;
владеть методами работы в локальных сетях и системах телекоммуникаций;
владеть методологией построения математических моделей и их компьютерных реализаций, знать конкретные математические модели в различных областях ее применения.
Программа разработана на основе отечественной и зарубежной литературы.
Программированиесостоят из двух взаимодополняющих компонентов: аппаратного и программного обеспечения. Рассматривая применение компьютерных технологий в целостной системе обучения, следует выделить один из важнейших аспектов, а именно организацию диалогового взаимодействия в системе "человек–компьютер". Реализация всех типов компьютерных систем может быть осуществлена непосредственно программированием с помощью стандартных средств, применяемых для разработки приложений или используя специализированные инструменты.
Программирование можно трактовать в узком смысле слова – применение компьютера только как средства обучения и в широком смысле слова – многоцелевое использование компьютера в учебном процессе.
Целью преподавания данного курса «Программирование» является расширение интеллектуальных возможностей человека в новом информационном обществе, к которому идет цивилизация, а также интенсификация и повышение качества обучения на всех ступенях системы образования.
Курс «Программирование» предусматривает изучение вопросов развития, методологии проектирования и разработки информационных технологии на базе применения новейших средств вычислительной техники. Данный курс основан на знаниях, полученных студентами при изучении специальных дисциплин по специальности «Математика» и формирует знания студентов в области автоматизированных информационных компьютерных технологии управления.
В результате изучения курса «Компьютерные технологии» студент будет иметь четкое представление о составе и структуре технологии; будет разбираться в методологии проектирования и разработки информационных технологии; средств организации автоматизированных информационных систем, а также сможет самостоятельно осуществить оценку эффективности информационных технологии управления, что позволит ознакомится с теоретическими основами развития компьютерных технологии. Организация обучения предусматривает чтение лекций и проведения практических занятий, что обуславливает необходимость изучения не только научных и технических основ компьютерных технологии, но и их экономических, социальных и культурных аспектов.
Цель курса:
Расширение интеллектуальных возможностей человека в новом информационном обществе, а также интенсификация и повышение качества обучения на всех ступенях системы образования.
В результате изучения дисциплины студент должен
целостное представление о компьютерной технологии как науке, ее месте в современном мире и в системе наук;
владеть системой знаний о теоретических основах компьютерной технологии;
обладать навыками программирования на проблемно- и машинно-ориентированных языках;
иметь навыки работы с программами нескольких типов, различными вспомогательными устройствами, с системными и прикладными программными средствами общего назначения;
владеть методами работы в локальных сетях и системах телекоммуникаций;
владеть методологией построения математических моделей и их компьютерных реализаций, знать конкретные математические модели в различных областях ее применения.
Программа разработана на основе отечественной и зарубежной литературы.
№ |
Наименование тем дисциплины |
Аудиторные занятия |
|
Лекции (ч.) |
Пр/сем./лаб./студ (ч.) |
||
|
|
Введение в теорию Алгоритмов. Алгоритмы и алгоритмические языки. Свойства алгоритмов. Исполнители. Машина Тьюринга. Тезис Тьюринга. |
2 |
2 |
|
|
Нормальные алгоритмы Маркова. Принцип нормализации и его обоснование. Композиции машин Тьюринга и нормальных алгоритмов Маркова. |
2 |
2 |
|
|
Начальные сведения о программах на языке Pascal |
2 |
2 |
|
|
Типы данных и операции |
2 |
2 |
|
|
Ветвления. Циклы |
2 |
2 |
|
|
Массивы. Сортировки массивов |
2 |
2 |
|
|
Символы и строки. |
2 |
2 |
|
|
Множества |
2 |
2 |
|
|
Процедуры и функции |
2 |
2 |
|
|
Ввод и вывод информации: текстовые файлы |
2 |
2 |
|
|
Записи. Бинарные файлы |
2 |
2 |
|
|
Рекурсивные подпрограммы |
2 |
2 |
|
|
Адреса и указатели. Списочные структуры данных |
2 |
2 |
|
|
Модульная структура программы |
2 |
2 |
|
|
Методы создания пользовательского интерфейса |
2 |
2 |
|
|
0 |
0 |
ГЛОССАРИЙ
АВТОМАТ [automatic machine (automata)] - абстрактное, виртуальное или реальное устройство, выполняющее по программе без участия человека операции приема, передачи, преобразования, использования или распределения энергии, материалов или информации. А. характеризуется конечным или бесконечным алфавитами состояний, входных или выходных символов, таблицей переходов состояний и таблицей формирования последовательностей выходных символов. А. работает по заранее разработанной программе, которая может адаптироваться или модифицироваться в процессе выполнения. Бывают А. асинхронные и синхронные, бесконечные и конечные, вероятностные, детерминированные и недетерминированные, микропрограммные, магазинные, обратимые, операционные, программные, с памятью или без памяти, самонастраивающиеся, с постоянной или переменной структурой, связные, частичные, читающие, управляющие.
АЛГОРИТМ [algorithm] - предписание, определяющее конечный набор правил и порядок их применения и позволяющее чисто механически решать некоторую конкретную проблему из класса однотипных проблем. А. обладает набором свойств, из которых главными являются: определенность - возможность выполнять предписание различными вычислителями, массовость - возможность вариации исходных данных в известных диапазонах, результативность - возможность получения, в конечном счете, определенного результата, детерминированность - выполнение действий по шагам (последнее свойство не обязательно для классов А. со свойствами недетерминированности). А. обладает также свойствами понятности и правильности - возможностью выполнять его на данном вычислительном средстве, свойством дискретности - выполнение элементарных действий осуществляется последовательно, свойством точности - полная известность относительно завершенности выполнения элементарного действия и знанием того, каким будет следующее элементарное действие. Понятие А. уточняется через определение нормальных алгоритмов Маркова, машины Тьюринга, машины Поста и др.
АЛГОРИТМИЗАЦИЯ [algorithmizing] - 1. Этап решения проблемы, состоящий в формулировке, построении и синтезе алгоритма решения проблемы (задания) с помощью ВМ; процесс представления алгоритмического знания для обработки на ВМ. 2. Раздел информатики, изучающий методы построения алгоритмов. А. включает фазы формирования цели и критерия достижения цели, формализации постановки проблемы в заданном исчислении, логический анализ и вывод решения проблемы, оформление записи алгоритма не некотором алгоритмическом языке. Процесс А. поддается автоматизации в системах синтеза программ и в некоторых интеллектуальных системах.
АЛГОРИТМИЧЕСКИЙ ЯЗЫК [algorithmic language] - язык программирования, ориентированный на запись алгоритмов в форме, пригодной для ввода и выполнения в ВМ. Примерами А.я. являются: Фортран, Ада, Алгол, Паскаль, Си, ассемблерный и машинный языки. А.я. предполагает строчную запись алгоритмов из символов, имеющихся на клавиатуре устройства ввода текстов в ВМ.
БЛОК-СХЕМА [block diagram] - граф управления в системе (знаний, программ и др.), узлы которого связаны с действиями, а дуги - с передачей данных (информационная Б.-с.) или управления (Б.-с. управления). Некоторые блоки схемы выделяются по своим функциональным характеристикам (ввод, вывод, начало, конец, действие, ветвление и др.). Б.-с. постепенно уступают место структурированным записям знаний, алгоритмов и программ на языках высокого уровня.
ДАННЫЕ [data] - представление фактов, идей и сведений в формализованном виде, позволяющее передавать или обрабатывать такие представления при помощи некоторого процесса, интерпретировать человеком представления информации в виде, позволяющем автоматизировать процессы сбора, хранения и обработки на средствах ВМ запросов и сообщений. Д. являются основой представления знаний, построения программ и совокупностей данных в виде массивов записей; они выражаются наборами знаков и формально определяются в некотором языке. Д. - это имя, соответствующее некоторому значению и являющееся собственным (литералы, константы) или несобственным (выражения, операнды) наименованиями значений. Наиболее распространенными являются, например, арифметические Д. - числа, текстовые Д. - строки, алгоритмические Д. - программы на некотором языке.
ИЗМЕРЕНИЕ [measuring] - процесс предварительного изучения предметов, явлений или процессов, направленный на получение количественных характеристик, данных, относящихся к объему исследования и предназначенных для установления отношений между измеряемой величиной и заранее выбранной единицей измерения, масштаба или эталона.
ИНТЕЛЛЕКТУАЛЬНЫЙ ИНТЕРФЕЙС [intellectual interface] - вспомогательная система программных и аппаратных средств, обеспечивающая использование конечным пользователем ВМ программ при решении проблем его профессиональной деятельности без помощи программистов или с незначительной помощью знаниеведа. И.и. выполняет функции постановки заданий, формирования информационной среды и представлений данных или программ.
МАШИНА ПОСТА (1937)- абстрактная вычислительная машина, предложенная американским математиком и логиком (основатель многозначной логики) Эмилем Леоном Постом (1897-1954), которая отличается от машины Тьюринга большей простотой. Обе машины «эквивалентны» и были созданы для уточнения понятия «алгоритм».
МАШИ́НА ТЬЮ́РИНГА (МТ) - абстрактный исполнитель (абстрактная вычислительная машина).
ПРОГРАММА [program] - 1. Последовательность команд, при выполнении которой создается последовательность действий, приводящая к решению проблемы с помощью ВМ и представляющая алгоритм решения проблемы. П. представляется одним или несколькими модулями, связанными по данным или управлению. Среди нескольких модулей выделяется главная подпрограмма, с которой начинается выполнение П. П. например, бывает ассемблерной, диагностической, загрузочной, исходной, комплексной, линейной, обрабатывающей, системной, вспомогательной, обмена, обслуживающей, обучающей, объектной, отладочной, пользовательской, прикладной, рабочей, редактирующей, резидентной, сервисной, тестовой, текстовой, управляющей, фоновой. 2. План действий, подлежащий выполнению; он представлен предписанием.
ПРОГРАММИРОВАНИЕ [programming] - процесс создания (составления) программы, плана решения. П. использует некоторый язык программирования. Вообще, П. бывает динамическое, линейное, математическое, целочисленное, стохастическое. П. ВМ бывает модульное, блочное, структурное, иерархическое, пошаговое, системное, П. параллельных, приближенных или последовательных вычислений, П. реального, астрономического или интервального времени. Различают следующие направления или сорта в науке П. (здесь приведены только некоторые сорта для указания большого разнообразия работ в информатике):
ПАСКАЛЬ [PASCAL - Program Applique a la Selection et la Compilation Automatique de la Litterature] Процедурно-ориентированный язык программирования высокого уровня, разработан в 1970 швейцарцем Н. Виртом, первоначально для обучения программированию в университетах. Назван в честь французского математика XVII века Блеза Паскаля.
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. Данный раздел компьютерных наук связан с созданием больших программных систем, которые должны удовлетворять заданным программным спецификациям, быть безопасными, защищенными, надежными и заслуживающими доверия пользователей.
СЕМАНТИКА - это набор правил, определяющих значение (смысл) отдельных конструкций языка.
СИНТАКСИС - это набор правил, определяющих возможные сочетания (конструкции) из букв алфавита. Для описания синтаксиса языка, как правило, используют другой язык (метаязык) или синтаксические диаграммы.
СЛОВЕСНАЯ ФОРМА ЗАПИСИ алгоритма представляет собой описание на естественном языке последовательных этапов обработки данных.
ТЕ́ЗИС ЧЁРЧА - ТЬЮ́РИНГА - фундаментальное утверждение для многих областей науки, таких, как теория вычислимости, информатика, теоретическая кибернетика и др
ТЕОРИЯ АЛГОРИТМОВ - наука, изучающая общие свойства и закономерности алгоритмов и разнообразные формальные модели их представления.
ФАЙЛ [file] - запись (структура), определяющая способ расположения полей записи различных типов (включая процедуры и функции) в экстенте и сопоставляющая способы расположения этих полей на носителе данных. Обычно для Ф. имеется возможность самоконтроля данных и атрибутов записи, доступа к данным, получения санкции доступа, контроля атрибутов и состояний физических носителей, связанных с данным Ф. Бывает Ф. загрузки, базы данных или знаний, заданий, изменений, отчетов, подкачки, регистрации, связей, а также абстрактный, активный, архивный, буферный, виртуальный, внешний, внутренний, временный, вспомогательный, входной, выходной, выполняемый, графический, двухмерный, дисковый, дисплейный, зависимый, защищенный, индексированный, индексный, исходный, командный, личный, машинный, непрерывный, обновляемый, общий, основной, помеченный, последовательный, программный, прямой, рабочий, системный, справочный, стандартный, текстовый и др. Ф.
ФАЙЛОВАЯ СИСТЕМА [file system] - часть операционной системы, управляющая использованием внешней памяти ВМ.
ЦИКЛЫ - это участки программы, которые в процессе ее выполнения повторяются указанное число раз. Используя циклы, можно писать сравнительно короткие программы, по которым машина выполнять колоссальный объем информации.
ЯЗЫК ПРОГРАММИРОВАНИЯ - язык, используемый для формальной записи алгоритмов. Большинство языков программирования относятся к алгоритмическим языкам. Запись алгоритма на алгоритмическом языке называют программой.
ЯЗЫКИ ПРОГРАММИРОВАНИЯ. Этот раздел компьютерных наук изучает системы обозначений, предназначенных для выполнения алгоритмов на виртуальных машинах, а также способы формальной записи самих алгоритмов и данных. Венцом достижений разработчиков стали программы, которые получают описание языка и автоматически создают компилятор для перевода программ с этого языка на машинный язык.
