3668 АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ И ПРОГРАММИРОВАНИЕ

РАБОЧАЯ ПРОГРАММА

1.      Пояснительная записка

1.1. Цели и задачи дисциплины

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

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

1.2. Связь с другими дисциплинами

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

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

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

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

На изучение курса отводится 272 часа, из них 48 часов - обязательные аудиторные занятия для полной формы обучения и 32 часа  - для сокращенной и соответственно 224 и 240 часов - самостоятельная работа. В первом семестре изучения дисциплины предусмотрены одна контрольная работа и теоретический зачет, а во втором семестре – курсовая работа и экзамен.

2.      Содержание дисциплины

2.1. Теоретический курс

1-й семестр

2.1.1. Введение в программирование

Краткая историческая справка. Цели и задачи дисциплины "Алгоритмические языки и программирование".

Особенности решения задач с использованием ЭВМ. Примеры применения средств вычислительной техники. Этапы решения задач на ЭВМ.

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

2.1.2. Турбо Паскаль - язык структурного программирования

Основные характеристики алгоритмического языка Паскаль, области его применения. Алфавит языка. Числа. Строки. Идентификаторы. Оператор присваивания. Арифметические выражения. Стандартные функции.

Типы данных. Скалярные типы данных. Вещественные, целые, логический, символьный типы. Перечисляемый, интервальный типы данных.

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

2.1.3. Управляющие структуры

Разновидность структур алгоритмов. Описание разветвляющихся структур алгоритмов. Условный оператор. Составной оператор. Оператор варианта.

Понятие цикла. Типы алгоритмов циклической структуры. Цикл с предусловием. Цикл с постусловием. Циклическая структура с заданным числом повторений. Оператор цикла. Цикл с параметром. Оператор цикла с предусловием. Оператор цикла с постусловием.

Программирование итерационных циклов. Вложенные циклы.

Организация ввода и вывода данных. Операторы ввода-вывода данных. Ввод числовых данных. Ввод символьных данных. Стандартная форма вывода данных. Управление формой вывода данных.

2-й семестр

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

Процедуры и функции. Описание процедур и функций. Локальные и глобальные переменные. Обращения к подпрограммам. Оператор вызова процедуры. Формальные и фактические параметры. Вызов процедуры без параметров. Обращение к функции. Параметры процедур и функций. Параметры - значения. Параметры - переменные.

Итерация и рекурсия. Особенности использования подпрограмм в языке Паскаль. Рекурсивные описания. Рекурсивное обращение. Опережающее описание. Побочные эффекты.

2.1.5. Организация данных

Типы данных. Сложные типы данных. Массивы. Объявление массивов. Ввод и вывод массивов. Записи. Объявление данных. Селектор записи. Оператор присоединения.

Файлы. Файловый тип. Буферная переменная. Чтение и запись файла. Файлы последовательного и прямого доступа. Текстовые файлы. Операции над текстовыми файлами. Нетипизированные файлы.

2.3. Содержание лабораторных занятий

1-й семестр

2.3.1. Изучение среды программирования Турбо Паскаль.

2.3.2. Программирование линейных алгоритмов.

2.3.3. Программирование алгоритмов разветвляющейся структуры.

2.4. Содержание тем контрольной работы

1-й семестр

2.4.1. Проектирование программ циклической структуры. Оператор цикла с параметром.

2.4.2. Конструирование программ циклической структуры с неизвестным числом повторений. Итерационные циклы.

2.4.3. Проектирование алгоритмов и программ со структурой вложенных циклов.

2.5. Содержание лабораторных занятий

2-й семестр

2.5.1. Массивы. Программирование задач обработки табличных данных.

2.5.2. Описание и основные правила использования процедур и функций.

2.5.3. Рекурсии.

2.6. Содержание тем для самостоятельной работы

2-й семестр

2.6.1. Комбинированные типы данных.

2.6.2. Создание и преобразование файлов. Файлы прямого доступа.

2.6.3. Создание модулей.

2.7. Содержание заданий для курсового проектирования

2-й семестр

2.7.1. Создание и обработка данных файловой структуры.

2.7.2. Реализация алгоритмов обработки массивов, их сортировки.

2.7.3. Обработка списков.

2.7.4. Решение простейших задач на графах (алгоритмы построения кратчайших путей на графах, минимальных связывающих деревьев и т.п.).

2.7.5. Поиск кратчайших путей в лабиринтах.

2.7.6. Решение задач комбинаторики.

2.7.7. Моделирование устройств и узлов вычислительных машин.

2.7.8. Создание игровых программ.

2.7.9. Разработка обучающих и контролирующих программ.

Целью курсовой работы является приобретение студентами опыта алгоритмизации, конструирования, практической реализации программ и широкого применения ЭВМ для решения поставленной задачи.

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

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

3.       Литература

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

1. Алгоритмические языки и программирование: Метод. указ. к курс. раб./ РРТИ; Сост.:  В.С. Новичков, А.Н. Пылькин. Рязань, 1988. 56 с. № 1525.

2. Конструирование программ: Метод. указ. к курс. раб./ РРТИ; Сост.: В.С. Новичков, О.Г. Швечкова. Рязань, 1993. 48 с. № 2133.

3. Модульное программирование на Турбо Паскале: Метод. указ. к лаб. раб. № 11–15 / РГРТА; Под ред.  В.С.Новичкова.  Рязань. 2000. 72 с. № 3037.

4. Новичков В.С., Парфилова Н.И., Пылькин А.Н. Паскаль: Учеб. пособие. 2-е изд., перераб. и доп. М.: Высшая школа, 1994. 256 с.

5. Новичков В.С., Парфилова Н.И., Пылькин А.Н. Основы алгоритмизации и программирования на Турбо Паскале: Учеб. Пособие. М.: Гоячая линия-Телеком, 2005. 438 с.

6. Основы алгоритмизации и программирования на Турбо Паскале: Метод. указ. к лаб. раб. № 1–5. / РГРТА; Под ред. В.С.Новичкова. Рязань, 1996. 84 с. № 2582.

7. Реализация циклических алгоритмов на Турбо Паскале: Метод. указ. к лаб. раб. № 6–10 / РГРТА; Под ред. В.С.Новичкова. Рязань, 1998. 72 с. № 2665.

8. Структурированные типы данных в Турбо Паскале: Метод. указ. к лаб. раб. № 16–20 / РГРТА; Под ред. В.С.Новичкова. Рязань, 2001. 64 с. № 3193.

9. Фаронов В.В. Программирование на персональных ЭВМ в среде Турбо-Паскаль. М.: Изд-во МГТУ, 1991. 580 с.

10. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учеб. пособие. 7-е изд. Перераб. М.: “Нолидж”, 2000. 576 с.

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

1. Вирт Н. Язык программирования Паскаль (пересмотренное сообще­ние) // Алгоритмы и организация решения экономических задач. М.: Статистика, 1977. Вып. 9. с. 52-86.

2. Вирт Н. Алгоритмы + структуры данных = программы: Пер. с англ. / Под ред. Д.Б. Подшивалова. М.: Мир, 1985. 392 с.

3. Епанешников А.М., Епанешников В.А. Программирование в среде Турбо-Паскаль 7.0. М.: «Диалог-МИФИ», 1993. 288 с.

4. Епанешников А., Епанешников В. Программирование в среде Turbo Pascal 7.0. 4-е изд.. М.: «Диалог-МИФИ», 2002. 367 с.

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

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

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

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

Работы должны выполняться в следующем порядке:

1) изучить методические указания;

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

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

4) для выбранных самостоятельно данных просчитать контрольный вариант, используемый в дальнейшем  на этапе отладки программы;

5) подготовить программу (ввести ее в память ЭВМ), отладить и получить результат просчета контрольного варианта;

6) при совпадении результатов ручного и машинного просчетов контрольного варианта получить листинг программы и результаты решения необходимых вариантов задачи;

7) оформить отчет о выполненной работе;

8) отчитаться по работе перед преподавателем.

2. Содержание отчета

Отчет о проделанной работе должен содержать:

1) вариант задания;

2) схему алгоритма и основные промежуточные варианты, полученные в процессе ее проектирования;

3) текст программы;

4) результаты просчетов на ЭВМ (включая контрольные значения).

3. Пример оформления отчета

Титульный лист

 

 

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

Рязанская государственная радиотехническая академия

Кафедра вычислительной и прикладной математики

 

Отчет

по теме № 3.3

“Программирование алгоритмов разветвляющейся структуры”

по курсу

“Алгоритмические языки и программирование”

 

Выполнил:

студент гр.5030 Федоров А.В.

Проверил:

доцент кафедры ВПМ,

канд. техн. ннаук. Новичков В.С.

 

Рязань 2005

Оборот титульного листа

 

Задание. Вариант № 30.

Даны три неравных числа a, b, c. Составить программу вычисления значения z, равного квадрату большего из них.

Схема алгоритма

 

Текст программы.

{*********************************************************  }

{ Программа: Square, Тема 3.3, Вар. 30                                                }

{ Цель: Вычисление квадрата максимального из трех чисел                }

{              a, b, c - исходные числа                                                              }

{              z - результат                                                                                 }

{ Требуемые подпрограммы: Нет                                                             }

{ Метод: Вычисление по формулам                                                         }

{ Программист: Федоров А.В., гр. 5030                                                   }

{ Проверил: Новичков В.С., каф. ВПМ                                                   }

{ Дата написания: 4 октября 2005 г.                                                         }

{*********************************************************  }

Program Square;

Var

a,b,c : real;

Begin {Square}

WriteLn(‘Введите три числа a,b,c:’);

Read(a, b, c);

WriteLn(‘Исходные данные:’);

WriteLn(‘a=‘,a:6:2,’ b=‘,b:6:2,’ c=‘,c:6:2);

if a>b

then

z := a

else

z := b;

if c>z

then

z := c;

z := z*z;

WriteLn(‘Квадрат максимального:’);

WriteLn(‘z=’,z:8:2);

End.{Square}

Просчет контрольного варианта.

При a = 3,83; b = 1,53; c = 4,5 максимальным значением является 4,5, следовательно, z = 4,52=20,25.

Результат выполнения программы на ЭВМ.

Введите три числа a, b, c:

Исходные данные:

a=  3.83 b=  1.53 c=  4.50

Квадрат максимального:

z=    20.25

Введите три числа a, b, c:

Исходные данные:

a=  3.83 b=  15.30 c=  4.50

Квадрат максимального:

z=  234.09

Введите три числа a, b, c:

Исходные данные:

a=  5.00 b=  1.53 c=  4.50

Квадрат максимального:

z=    25.00

Тема 3.1. Изучение среды программирования Turbo Pascal

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

Перед выполнением данной работы необходимо создать на жестком диске C: следующую структуру каталогов:

С:\IVANOV\PASCAL

Каталог Pascal должен быть текущим.

При работе в локальной сети персональных компьютеров каталог должен быть создан на диске Z: в директории группы, например:

Z:\4030\IVANOV\PASCAL

1.      Загрузка среды Turbo Pascal


Убедитесь, что вы находитесь в своем рабочем каталоге. В командной строке MS DOS наберите команду turbo и нажмите [Enter]:

В режиме работы с локальной сетью для входа в среду Turbo Pascal необходимо вызвать меню пользователя (клавиша [F2]), выбрать пункт Turbo Pascal 7.0. и нажать клавишу [Enter].

При успешном выполнении команды на экране появляется изображение среды Turbo Pascal. Если команда не выполнилась, тогда вам необходимо произвести запуск среды из системного каталога Turbo Pascal.

В верхней строке экрана находится ГЛАВНОЕ МЕНЮ среды, определяющее действия, которые можно выполнить в среде Turbo Pascal.  B нижней строке экрана расположена СТРОКА СОСТОЯНИЯ, содержащая краткую справку о текущем состоянии среды и список “горячих клавиш”  (табл. 1), при нажатии на которые немедленно выполняются определенные действия. В центре экрана будут  располагаться окна редактирования, предназначенные для ввода и изменения исходных текстов программ на языке программирования Паскаль.

2.      Работа с помощью меню

Работа с меню осуществляется следующим образом:

- для входа в меню требуется нажать клавишу [F10];

- с помощью клавиш управления курсором выбирается нужный пункт главного меню и нажимается [Enter]. Из выбранного пункта меню "выпадает" подменю, определяющее конкретные действия, производимые в среде;

- используя клавиши управления курсором, можно выбрать нужный пункт и нажать клавишу [Enter]; действие будет выполнено.

Если для выполнения действия требуется дополнительная информация, в центре экрана появляется ОКНО ДИАЛОГА, в котором вводится требуемая информация.

Перед началом работы необходимо закрыть все открытые окна редактирования, если такие есть. Соответствующие действия выполняются при выборе команды "Close All" из меню "Window".

Теперь  откройте  новое  окно редактирования  (создайте новый файл), в котором вы будете набирать текст вашей программы. Открытие нового окна редактирования происходит при выборе команды "New" из меню "File".

3.      Ввод программы в среде Turbo Pascal

Ввод и редактирование программы в окне среды Turbo Pascal производится так же, как и в любом другом текстовом редакторе.

Например, введите следующую программу на языке Паскаль:

Program Primer1;

Var

A,B,C:Real;

Begin {Primer1}

Write('A=');

Read(A);

Write('B=');

Read(B);

WriteLn('A=',A,' B=',B);

С:=A+B;

WriteLn('C=',C);

End. {Primer1}

4.      Сохранение программы в файле

Для сохранения подготовленной программы в виде файла необходимо нажать клавишу [F2]. Если вы создаете новый файл, то среда Turbo Pascal запросит имя файла: на экране появится окно диалога "Save File As" (Сохранить файл под именем …), и курсор будет помещен в строку ввода.

Необходимо набрать имя файла и нажать [Enter]. Расширение .pas можно не указывать, оно приписывается к имени автоматически.

5.      Работа с существующей программой

Если ваша программа  подготовлена  ранее с помощью  какого-либо текстового редактора и хранится в виде файла в каталоге (например, файл primer1.pas в каталоге Z:\4030\IVANOV\PASCAL), то его можно загрузить в окно редактирования среды Turbo Pascal нажатием клавиши [F3] либо с помощью последовательности действий:

- нажать клавишу [F10]; происходит выход в меню;

- выбрать пункт "File" и нажать [Enter];

- с помощью "стрелок" выбрать пункт "Open" и нажать [Enter]; появляется окно диалога, в котором выбирается нужный файл.