- •Указания по выполнения практических и лабораторных работ
- •Лабораторная работа № 1 Блок-схемы как графическое представление алгоритмов. Основные блоки, используемые в блок- схемах алгоритмов
- •Краткие теоретические сведения Основные этапы решения задач на компьютере
- •Языки программирования
- •Трансляторы
- •Язык программирования Паскаль
- •Использование среды программирования турбо паскаль
- •Порядок выполнения работы
- •Типы вычислительных процессов
- •Блок-схемы алгоритмов
- •Примеры составления блок-схемы алгоритма
- •Основные файлы пакета Турбо Паскаль
- •Запуск интегрированной среды программирования Турбо Паскаль
- •Работа с меню ис
- •Меню File
- •Меню Run
- •Меню Compile
- •Меню Debug
- •Меню Tools
- •Меню Options
- •Меню Window
- •Меню Help
- •Порядок выполнения работы
- •Процедуры ввода-вывода
- •Порядок выполнения работы
- •Оператор записи WriteLn аналогичен процедуре Write, но после вывода последнего в списке значения для текущей процедуры WriteLn происходит перевод курсора к началу следующей строки.
- •Пример программы с использованием процедур ввода-вывода данных с различными форматами выводимых данных
- •Порядок выполнения работы
- •Операторы языка Паскаль
- •Оператор присваивания
- •Оператор безусловного перехода (go to)
- •Порядок выполнения работы
- •Оператор выбора case
- •Порядок выполнения работы
- •Оператор повтора for
- •Примеры программ с использованием оператора for
- •Оператор повтора Repeat
- •Пример программы с использованием оператора repeat
- •Пример программы с использованием операторов присваивания, повтора и выбора
- •Порядок выполнения работы
- •Пример программы с использованием оператора повтора while
- •Порядок выполнения работы
- •Примеры описания одномерных и двумерных массивов
- •Действия над массивами
- •Действия над элементами массива
- •Ввод-вывод элементов массива
- •Пример программы ввода-вывода одномерного массива
- •Пример программы ввода-вывода двумерного массива
- •Порядок выполнения работы
- •Пример программы нахождения в одномерном массиве максимального элемента
- •Порядок выполнения работы
- •Порядок выполнения работы
- •Основные логические структуры:
- •Функции в Паскале
- •Встроенные функции и процедуры
- •Арифметические процедуры и функции
- •Скалярные процедуры и функции
- •Функции преобразования типов
- •Процедуры управления программой
- •Специальные процедуры и функции
- •Вызов стандартной процедуры или функции
- •Порядок выполнения работы
- •Пример программы с использованием функции, определенной пользователем
- •Порядок выполнения работы
- •Пример программы с использованием процедуры, определенной пользователем
- •Механизм передачи параметров
- •Порядок выполнения работы
- •Нетрадиционное использование подпрограмм. Косвенная рекурсия
- •Порядок выполнения работы
- •Линейный поиск
- •Линейный поиск в упорядоченном массиве данных
- •Бинарный (двоичный) поиск
- •Пример программы с использованием алгоритма бинарного поиска
- •Порядок выполнения работы
- •Методы внутренней сортировки
- •Сортировки включением
- •Сортировка выбором
- •Порядок выполнения работы
- •Шейкерная сортировка
- •Пирамидальная сортировка
- •Обменная сортировка разделением
- •Порядок выполнения работы
- •Естественное слияние
- •Многопутевое слияние
- •Порядок выполнения работы
- •Пример разработки собственного модуля
- •Порядок выполнения работы
- •Скалярные процедуры и функции
- •Функции преобразования типов
- •Процедуры управления программой
- •Специальные процедуры и функции
- •Вызов стандартной процедуры или функции
- •Порядок выполнения работы
- •Формат описания строкового типа
- •Фрагмент описания строковых данных
- •Стандартные строковые процедуры и функции
- •Пример программы работы со стандартными строковыми процедурами и функциями
- •Примеры программ работы со строковыми переменными
- •Порядок выполнения работы
- •Пример программы работы с записями
- •Порядок выполнения работы
- •Пример программы работы с записями
- •Порядок выполнения работы
- •Операции над множествами
- •Объединение Пересечение Разность
- •Порядок выполнения работы
- •Формат описания файлового типа
- •Средства обработки файлов
- •Текстовые файлы
- •Пример программы работы с текстовым файлом
- •Порядок выполнения работы
- •Средства работы с типизированными файлами
- •Пример программы работы с типизированным файлом
- •Порядок выполнения работы
- •Средства работы с нетипизированными файлами
- •Пример программы для работы с типизированными файлами
- •Порядок выполнения работы
- •Распределение памяти при выполнении программы
- •Пример программы распределения памяти и получения доступа к полям psp.
- •Порядок выполнения работы
- •Статические и динамические переменные
- •Указатели
- •Типизированные указатели
- •Нетипизированный указатель (pointer)
- •Доступ к переменной по указателю
- •Управление динамической памятью
- •Процедуры динамического распределения
- •Пример программы с использованием динамической памяти
- •Порядок выполнения работы
- •Пример программы создания и использования связанного списка
- •Порядок выполнения работы
- •Параметр процедурного типа
- •Порядок выполнения работы
- •Контрольные вопросы
- •Литература
- •Содержание
Оператор записи WriteLn аналогичен процедуре Write, но после вывода последнего в списке значения для текущей процедуры WriteLn происходит перевод курсора к началу следующей строки.
Процедура WriteLn, записанная без параметров, вызывает перевод строки.
Пример программы с использованием процедур ввода-вывода данных с различными форматами выводимых данных
Program Demo;
Var
A,B,S:Integer;
Begin
Writeln(‘Введите сторону А = ’);
Readln(A);
Writeln(‘Введите сторону B = ’);
Readln(B);
S:=A*B;
Writeln(‘--------------------------------------------‘);
Writeln(‘ | Сторона А | | Сторона B | | Площадь | ‘);
Writeln(‘---------------------------------------------‘);
Writeln(‘|‘,А:7,B:11,S:11, ‘|‘ :5);
Writeln(‘---------------------------------------------‘);
End.
В результате работы данной программы на экране будет изображена следующая таблица:
--------------------------------------------------
| Сторона А | | Сторона B | | Площадь |
--------------------------------------------------
| 8 4 32 |
--------------------------------------------------
каждая строка которой будет печататься с первой позиции новой строки экрана.
Порядок выполнения работы
Изучить теоретические сведения по теме “Операторы ввода-вывода данных. Различные форматы выводимых данных”.
Получить индивидуальное задание у преподавателя и разработать программу в соответствии с поставленной задачей.
Показать работающую программу преподавателю.
Ответить на контрольные вопросы.
Контрольные вопросы
Общие сведения о форматах выводимых данных.
Форматы I, I:p. Примеры.
Форматы R, R:p, R:p:q. Примеры.
Форматы Ch, Ch:p. Примеры.
Форматы S, S:p. Примеры.
Форматы B, B:p. Примеры
Лабораторная работа № 6
Написание программы на Паскале с использованием операторов присваивания и безусловного перехода
Цель работы: формирование знаний и умений по работе с операторами языка. Приобретение навыков написания программ с использованием операторов присваивания и безусловного перехода.
Краткие теоретические сведения
Основные понятия и определения
Большинство программ создаются для решения какой-либо задачи. В процессе решения задачи на компьютере пользователю нужно ввести обрабатываемые данные, указать, как их обрабатывать, задать способ вывода полученных результатов. Поэтому программист должен знать:
• как ввести информацию в память (ввод);
• как хранить информацию в памяти (данные);
• как указать правильные команды для обработки данных (операции);
• как передать обратно данные из программы пользователю (вывод).
Команды должны быть упорядочены таким образом, чтобы:
• некоторые из них выполнялись только в том случае, если соблюдается некоторое условие или ряд условий (условное выполнение);
• другие выполнялись повторно некоторое число раз (циклы);
• третьи выделялись в отдельные части, которые могут быть неоднократно выполнены в разных местах программы (подпрограммы).
Таким образом, программист должен уметь использовать семь основных элементов программирования: ввод, данные, операции, вывод, условное выполнение, циклы и подпрограммы.
Ввод означает считывание значений, поступающих с клавиатуры, с диска или из порта ввода-вывода.
Данные - это константы, переменные и структуры, содержащие числа (целые и вещественные), текст (символы и строки) или адреса (переменных и структур).
Операции осуществляют присваивание значений, их комбинирование (сложение, деление и т. д.) и сравнение значений (равные, неравные и т. д. ).
Вывод означает запись информации на экран, на диск или в порт ввода-вывода.
Условное выполнение предполагает выполнение набора команд в случае, если удовлетворяется (является истинным) некоторое условие (если это условие не удовлетворяется, то эти команды пропускаются или же выполняется другой набор команд) или если некоторый элемент данных имеет некоторое специальное значение или значение из некоторого спектра.
Благодаря циклам некоторый набор команд выполняется повторно или фиксированное число раз, или пока является истинным некоторое условие, или пока некоторое условие не стало истинным.
Подпрограмма представляет собой набор команд, который имеет имя и может быть неоднократно вызван из любого места программы по его имени.
Языком называется совокупность символов, соглашений и правил, используемых для общения. При записи алгоритма решения задачи на языке программирования необходимо четко знать правила написания и использования элементарных информационных и языковых единиц. Основой Паскаля, как и любого языка, является алфавит - конечный набор знаков, состоящий из букв, десятичных и шестнадцатеричных цифр, специальных символов.
Программа реализует алгоритм решения задачи. В ней программист записывает последовательность действий, выполняемых над определенными данными с помощью определенных операций для реализации заданной цели.
Основные характеристики программы: точность полученного результата, время выполнения и объем требуемой памяти. О соответствии этих показателей решаемой задаче и возможностям компьютера должен позаботиться сам программист. В большинстве случаев определяющим требованием является точность. Ограничения по объему памяти и времени выполнения носят менее жесткий характер.
Программа на языке Паскаль состоит из строк. Набор текста программы осуществляется с помощью встроенного редактора текстов системы программирования Турбо Паскаль или любого другого редактора формата DOS.
Максимальный размер программы ограничен. Компилятор позволяет обрабатывать программы и библиотечные модули, в которых объем данных и генерируемый машинный код не превышают 64 Кбайт каждый. Если программа требует меньшего количества памяти, следует использовать библиотечные модули (.TPU-файлы) или оверлейные структуры.
Оверлеи - части машинной программы, которые совместно используют общую область оперативной памяти. В один и тот же момент времени в памяти может находиться тот или иной оверлей в зависимости от выполняемой функции. В процессе выполнения программы эти части могут замещать друг друга в памяти.
Синтаксически программа состоит из необязательного заголовка и блока. Блок может содержать в себе другие блоки. Блок состоит из двух частей: описательной и исполнительной. Первая часть может отсутствовать, без второй блок не имеет смысла. Блок, который не входит ни в какой другой блок, называется глобальным. Если в глобальном блоке находятся другие блоки, они называются локальными. Глобальный блок - это основная программа, он должен присутствовать в любом случае. Локальные блоки - это процедуры и функции, их присутствие необязательно. Объекты программы (типы, переменные, константы и т.д.) соответственно называются глобальными и локальными. Область действия объектов - блок, где они описаны, и все вложенные в него блоки.