Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы алгоритмизации и программирования

.pdf
Скачиваний:
182
Добавлен:
24.02.2016
Размер:
1.83 Mб
Скачать

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ

Тема 1. Алгоритмизация процессов обработки данных

Содержание темы

Понятие алгоритма. Алгоритм и его свойства. Сущность алгоритмизации вычислительных процессов. Данные и алгоритмический процесс.

Оператор и программа. Переменная, ее свойства.

Изобразительные средства алгоритмов: словесный, формульно-словесный, блоксхемный, структурные диаграммы, языки программирования.

Порядок разработки иерархических схем реализации алгоритмов.

Базовые канонические структуры, используемые при проектировании алгоритмов линейных, ветвящихся и циклических вычислительных процессов, их виды и способы изображения.

Правила построения схем алгоритмов, программ на псевдокоде и структурных диа-

грамм.

Определение языка программирования. Классификация языков программирования.

Цели изучения темы

Дать общее представление об алгоритмах и алгоритмических процессах.

Изучить различные средства изображения алгоритмов.

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

Задачи изучения темы

Ознакомление с основными определениями курса.

Формирование навыков записи канонических структур алгоритмов вразличныхнотациях.

Формирование навыков построения алгоритмов простых задач.

Успешно изучив тему, студент

Знает: основные определения и понятия курса, изобразительные средства алгоритмов, изображение базовых канонических структур в различных нотациях.

Умеет: разрабатывать алгоритмы простых задач, записывать их в различных нота-

циях.

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

Изучая тему, необходимо акцентировать внимание на следующих понятиях

алгоритм;

алгоритмизация;

136

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ

данные;

переменная;

вычислительный процесс;

алгоритмический язык;

транслятор;

интерпретатор;

компилятор;

программа;

программирование;

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

блок-схема;

структурная схема;

псевдокод;

структурированная схема;

диаграмма МЭСИД.

Порядок изучения темы

Для изучения темы выделяется 16 часов самостоятельной работы. Предусмотрены следующие теоретические и практические занятия:

1.Основные определения и понятия курса.

2.Базовые канонические структуры алгоритмов.

Предусмотрена работа студентов в формах:

1.Изучение теоретического материала.

2.Выполнение практических заданий.

3.Тестирование.

4.Изучение дополнительной литературы.

Методические указания

Вопросы темы:

1.Основные определения и понятия курса.

2.Средства изображения алгоритмов.

3.Базовые канонические структуры алгоритмов.

При изучении первого вопроса:

Прочитайте разделы «Основные определения и понятия» базового учебного пособия «Основы алгоритмизации и программирования» и учебника Дайитбегов Д.М., Черноусов Е.А. Основы алгоритмизации и алгоритмические языки. Учебник. – М.: Финансы и статистика, 1992, стр. 5-13. Вспомните соответствующие определения, которые Вы изучали в курсе «Информатики» в школе.

Вспомните, как описывались данные, переменные, записывались операторы в том языке программирования, на котором Вы писали программы в школе? Какие операторы использовались?

137

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ

При изучении второго вопроса:

Прочитайте разделы «Средства изображения алгоритмов» базового учебного пособия «Основы алгоритмизации и программирования» и учебника Дайитбегов Д.М., Черноусов Е.А. Основы алгоритмизации и алгоритмические языки. Учебник. – М.: Финансы и статистика, 1992, стр. 13-19. Вспомните средства изображения алгоритмов, которые Вы изучали в курсе «Информатики» в школе.

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

Составьте словесный или формульно-словесный алгоритм для задачи из практикума «Задание для решения задач с числами». Номер решаемой задачи можно выбрать самостоятельно. Не возбраняется, если Вы решите несколько задач.

С блок-схемами Вы, по всей видимости, встречались в школьном курсе «Информатики». Этот способ изображения алгоритмов является более формальным, и правила его использования регламентируются государственными стандартами. Кроме того, элементы блок-схем входят в состав автофигур таких средств подготовки документов как MS Word, Excel и других.

Составьте блок-схему алгоритма решения задачи из практикума «Задание для решения задач с числами». Если Вы составите блок-схему той же задачи, для которой Вы составили словесный алгоритм, то можете проанализировать преимущества и недостатки этих способов изображения алгоритмов.

Изучив основные элементы структурных диаграмм МЭСИД и пример диаграммы в разделе «Средства изображения алгоритмов» базового учебного пособия «Основы алгоритмизации и программирования», составьте диаграмму МЭСИД для задачи из практикума «Задание для решения задач с числами». Сравните полученную диаграмму с блоксхемой. Вы увидите, что по степени формализации и детализации алгоритма эти способы довольно близки, однако второй способ является более компактным и обозримым, особенно это заметно для больших алгоритмов.

При изучении третьего вопроса:

Прочитайте раздел «Базовые канонические структуры алгоритмов» базового учебного пособия «Основы алгоритмизации и программирования». Как Вы узнали, любой алгоритм можно составить всего лишь из трех управляющих структур. Естественно, что в любой нотации, используемой для записи алгоритмов, существуют конструкции, соответствующие этим трем управляющим структурам.

При рассмотрении конструкции повторения обратите внимание на условие выхода из управляющей структуры.

Кроме того, ознакомьтесь с материалом книги Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001, стр. 12-27, где базовые конструкции рассматриваются в разрезе этапов создания программного обеспечения.

Составьте блок-схемы и диаграммы МЭСИД с использованием базовых структур решения задач из практикума «Задание для решения задач с последовательностями чи-

сел». Для организации повторения используйте обе конструкции (с проверкой условия до

138

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ

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

Контрольные вопросы для самооценки

1.Что такое данные?

2.Что такое программа?

3.Что такое алгоритм?

4.Что такое алгоритмический процесс?

5.Перечислить свойства алгоритмов.

6.Чем отличается компилятор от интерпретатора?

7.Особенности словесного способа изображения алгоритмов.

8.Особенности формульно-словесного способа изображения алгоритмов.

9.Особенности изображения алгоритмов с помощью структурных диаграмм.

10.Особенности блок-схемного способа изображения алгоритмов.

11.Основные символы, использующиеся при составлении блок-схем.

12.Основные символы диаграмм МЭСИД.

13.Какие конструкции алгоритмов считаются базовыми?

14.Особенности использования базовых конструкций «следование» и «повторение».

15.Особенности использования базовых конструкций «развилка» и «выбор».

При изучении темы необходимо

● Читать:

Основная литература:

Грибанов В.П., Калмыкова О.В., Сорока Р.И. «Основы алгоритмизации и программирования». – М.: МЭСИ. – 2004.

Дополнительная литература:

1.Дайитбегов Д.М., Черноусов Е.А. Основы алгоритмизации и алгоритмические языки. Учебник. 2-е изд. – М.: Финансы и статистика, 1992. – 360 с.

2.Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001. – 392 с.

3.Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. – М.. МЦНМО, 1999.

Посетить сайты Интернет: http://www.unn.ru/vmk/graphmod/ http://pmi.ulstu.ru/new_project/korobov/index.htm

139

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ

Тема 2. Среда программирования Турбо Паскаль

Содержание темы

Общая характеристика интегрированной среды Турбо Паскаля. Встроенный текстовый редактор.

Подготовка, отладка и выполнение программ на ПЭВМ.

Цели изучения темы

Ознакомление со средой разработки программ на Турбо Паскале 7.0.

Знакомство с текстовым редактором Турбо Паскаля 7.0.

Освоение технологии работы при наборе программы.

Знакомство с технологией работы при отладке программ на Турбо Паскале 7.0.

Задачи изучения темы

Получение практических навыков работы в среде Турбо Паскаль 7.0

Научиться отлаживать простые программы на Турбо Паскаль 7.0.

Успешно изучив тему, студент

Знает: технологию работы в системе программирования Турбо Паскаль 7.0, технологию подготовки и отладки программ.

Умеет: запустить систему программирования Турбо Паскаль 7.0, набрать текст исходной программы, подготовить тестовые данные для отладки программы, выполнить программу, исправить синтаксические и семантические ошибки, распечатать результаты работы программы и исходный текст.

Приобретает навыки: работы в среде Турбо Паскаль 7.0.

Изучая тему, необходимо акцентировать внимание на следующих понятиях

текстовый редактор

компиляция

исходный текст программы

директивы компилятора

транслятор

синтаксическая ошибка

ошибка времени выполнения

аварийное завершение программы

отладка

тестирование

выполнение программы

Порядок изучения темы

Для изучения темы выделяется 8 часов самостоятельной работы.

140

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ

Предусмотрена работа студентов в формах:

1.Изучение теоретического материала.

2.Изучение среды программирования и приемов работы в текстовом редакторе на компьютере.

3.Изучение дополнительной литературы.

Методические указания

Вопросы темы:

1.Интегрированная среда Турбо Паскаля.

2.Основные приемы работы в среде Турбо Паскаля.

При изучении первого вопроса:

Ознакомьтесь с материалом, изложенным в книге Фаронов В.В. Turbo Pascal 7.0. Начальный курс. Учебное пособие. – М.: Нолидж, 1998, стр. 13-18. Здесь изложены общие правила работы в интегрированной среде Турбо Паскаль 7.0, а также приемы работы в текстовом редакторе.

Для практической работы в среде необходимо поставить на домашний компьютер систему программирования Турбо Паскаль, так как вся дальнейшая работа по освоению курса будет связана с практической работой в этой системе программирования. После установки необходимых файлов запустите Турбо Паскаль. В результате запуска Вы попадаете в текстовый редактор и система готова к приему текста программы. Для начала попробуйте различные опции главного меню, посмотрите, какие опции приводят к появлению выпадающих меню. Краткая инструкция по работе в среде Турбо Паскаль приводится в методическом пособии Калмыкова О.В., Сорока Р.И. «Основы программирования» стр. 10-15. Попробуйте набирать текст, используя русские и латинские буквы, специальные знаки, цифровую клавиатуру. Ознакомьтесь с встроенной службой помощи Help.

При изучении второго вопроса:

Ознакомьтесь с материалом, изложенным в книге Фаронов В.В. Turbo Pascal 7.0. Начальный курс. Учебное пособие. – М.: Нолидж, 1998 стр. 18-20. Теперь Вы представляете, что работа с исходным текстом программы является не одномоментным действием, а представляет собой циклический процесс, включающий в себя несколько этапов: набор исходного текста в текстовом редакторе, вызов компилятора для обработки этого текста, после чего процесс может иметь два различных продолжения.

1)при отсутствии ошибок программа сразу начинает выполняться,

2)в случае обнаружения ошибки происходит возврат в тестовый редактор, причем, курсор устанавливается на место обнаружения ошибки и выдается сообщение о причинах возникновения ошибки (возможно с указанием на то, как эту ошибку ис-

править).

Наберите текст готовой программы из базового учебного пособия «Основы алгоритмизации и программирования», например, из раздела «Операторы цикла», где приводится текст шести завершенных программ. Запустите программу на выполнение. Посмотрите, есть ли синтаксические ошибки, они могут возникнуть в случае неправильного набора. Исправьте ошибки в соответствии с указаниями транслятора. При начале выполнения программы введите необходимые исходные данные и посмотрите, правильный результат будет получен или нет.

141

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ

Контрольные вопросы для самооценки

1.Назначение текстового редактора.

2.Основные команды встроенного текстового редактора.

3.Написание текста программ с помощью текстового редактора, отличного от встроенного.

4.Особенности пошаговой отладки программ.

5.Назначение основных директив компилятора.

6.Особенности работы с несколькими окнами в среде Турбо Паскаля.

7.Перенос текста программ из среды Паскаля в Word для их последующей корректировки и печати.

8.Транслятор Турбо Паскаля это – компилятор или интерпретатор?

9.Можно ли сохранить оттранслированную программу на диске?

10.Можно ли выполнить программу без среды Турбо Паскаля?

11.Будет ли выполняться программа, если в ней содержатся синтаксические ошибки?

12.Надо ли заново вызывать транслятор, если при выполнении программа выдала ошибку?

При изучении темы необходимо

Читать:

Основная литература:

Фаронов В.В. Turbo Pascal 7.0. Начальный курс. Учебное пособие. – М.: Нолидж, 1998. – 616 с.

Дополнительная литература:

Калмыкова О.В., Сорока Р.И. Основы программирования. Метод. пос. – М.: МЭСИ, 2000. – 20 с.

Посетить сайты Интернет: http://delphid.dax.ru/ http://www.freepascal.org/

Тема 3. Введение в Турбо Паскаль

Содержание темы

Общая характеристика языка Паскаль. Алфавит языка Паскаль.

Структура простой программы. Элементарные конструкции языка.

Стандартные типы констант. Использование типизированных и не типизированных констант.

Идентификаторы, скалярные переменные.

Классификация типов данных. Понятие и использование интервальных и перечисляемых типов.

Арифметические выражения. Строковые выражения. Логические выражения. Приоритет выполнения операций в выражениях. Оператор присваивания.

142

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ

Цели изучения темы

Ознакомление с основными понятиями языка Турбо Паскаль: алфавитом, константами, идентификаторами, выражениями, типами данных.

Научиться записывать простейшие конструкции языка.

Задачи изучения темы

Освоение элементарных конструкций языка.

Изучение различных типов констант, правил их записи.

Изучение оператора присваивания

Успешно изучив тему, студент:

Знает: алфавит языка, простейшие конструкции, стандартные типы констант, правила записи идентификаторов, правила построения выражений различных типов, правила записи и выполнения оператора присваивания.

Умеет: использовать в программе переменные различных типов, правильно записывать логические выражения и оператор присваивания.

Приобретает навыки: записи выражений различных типов, идентификаторов и операторов присваивания.

Изучая тему, необходимо акцентировать внимание на следующих понятиях

алфавит языка;

комментарии в Турбо Паскале;

перечисляемые типы;

целые типы;

вещественные типы;

структурированные типы;

переменная;

не типизированная константа;

типизированная константа;

идентификатор;

арифметическое выражение;

логическое выражение;

строковое выражение;

интервальный тип;

перечисляемый тип.

совместимость типов в выражениях;

приоритеты выполнения операций в выражениях.

Порядок изучения темы

Для изучения темы выделяется 12 часов самостоятельной работы. Предусмотрены следующие теоретические и практические занятия:

1.Общая характеристика языка Паскаль.

2.Данные, их типы и способы задания в Турбо Паскале.

143

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ

Предусмотрена работа студентов в формах:

1.Изучение теоретического материала.

2.Выполнение практических заданий.

3.Тестирование.

4.Изучение дополнительной литературы.

Методические указания

Впервой части рассматриваются следующие вопросы:

1.Общая характеристика языка Паскаль.

2.Алфавит языка Паскаль.

3.Структура простой программы.

4.Элементарные конструкции языка.

При изучении первого вопроса:

Ознакомьтесь с материалом раздела «Общая характеристика языка Паскаль» базового учебного пособия «Основы алгоритмизации и программирования». Здесь кроме общей характеристики языка вводятся основные элементы металингвистических формул, с помощью которых далее описываются все конструкции языка.

При изучении второго вопроса:

Ознакомьтесь с материалом раздела «Алфавит языка» базового учебного пособия «Основы алгоритмизации и программирования». Обратите внимание, что зарезервированные слова языка не могут использоваться для других целей.

Выучите, какие символы языка, для каких целей используются.

При изучении третьего вопроса:

Ознакомьтесь с материалом, изложенным в книге Фаронов В.В. Turbo Pascal 7.0. Начальный курс. Учебное пособие. – М.: Нолидж, 1998 стр.22-27. Здесь приводится простейшая программа и объясняется ее структура. Это связано с тем, что структура Паскальпрограммы может содержать довольно много разделов, которые будут рассмотрены позже и на первом этапе изучения языка не имеют существенного значения.

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

При изучении четвертого вопроса:

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

Методические указания к занятию 2

Во второй части рассматриваются следующие вопросы:

1.Типы данных.

2.Арифметические и логические выражения.

3.Оператор присваивания.

144

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ

При изучении первого вопроса:

Ознакомьтесь с материалом раздела «Типы данных» базового учебного пособия «Основы алгоритмизации и программирования». С классификацией типов, используемых в Паскале, можно познакомиться в книге Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001, стр. 33-38. В отличие от металингвистических формул БНФ в этой книге для описания конструкций языка используются синтаксические диаграммы. Здесь же описаны инициализированные переменные или типизированные константы. Обратите внимание, что значения таких констант могут меняться во время выполнения программы, в отличие от не типизированных констант.

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

При изучении второго и третьего вопросов:

Ознакомьтесь с материалом раздела «Оператор присваивания» базового учебного пособия «Основы алгоритмизации и программирования» и книгой Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001 стр. 38-42. При изучении правил построения выражений обратите внимание на приоритеты выполнения операций, т.к. они отличаются от приоритетов операций в других языках, например в Бейсике, что приводит к необходимости широко использовать круглые скобки при написании сложных выражений.

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

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

Контрольные вопросы для самооценки

1.Какие символы составляют алфавит языка Турбо Паскаль.

2.Особенности построения арифметических выражений в Паскале.

3.Особенности построения строковых выражений в Паскале.

4.Особенности построения логических выражений в Паскале.

5.Приоритеты выполнения операций в выражениях различного типа.

6.Классификация типов данных.

7.Как описать типизированные константы?

8.Как описать не типизированные константы?

9.Описания целых типов.

10.Описания вещественных типов.

11.Описание строкового типа.

12.Описание символьного типа.

13.Что такое идентификатор?

14.Описание интервальных типов.

15.Описание перечисляемых типов.

16.Порядок выполнения оператора присваивания.

145