- •Пояснительная записка
- •Программирование на алгоритмическом языке pascal
- •«Ознакомление с работой в интегрированной среде Borland Pascal»
- •Задание 1
- •Ход работы:
- •Загрузите систему Borland Pascal.
- •После входа в систему появляется рабочий экран (рис. 2).
- •Изучите пункты главного меню.
- •Задание 2
- •Методические указания к лабораторным занятиям для учащихся.
- •Лабораторная работа №1
- •Вопросы для самоподготовки:
- •Краткие теоретические сведения
- •Задание 1
- •Ход выполнения работы.
- •Задание 2
- •Лабораторная работа №2
- •Краткие теоретические сведения
- •Правила работы с условным оператором.
- •Вопросы для самоподготовки:
- •Задание 1
- •Задание 2.
- •Задание 3
- •Правила организации цикла с параметром.
- •Вопросы для самоподготовки:
- •Задание 1
- •Задание 2
- •Решение:
- •Задачи для самостоятельного решения.
- •Лабораторная работа №4. Тема: «Разработка, отладка и испытание простых циклических алгоритмов и программ с неизвестным числом повторений».
- •Краткие теоретические сведения
- •Вопросы для самоподготовки:
- •Задание 1
- •Решение:
- •Задание 2
- •Домашнее задание
- •Вопросы для самоподготовки:
- •Определим необходимые формулы:
- •Составим графическую схему алгоритма.
- •Составим таблицу соответствия переменных.
- •В соответствии с пунктами 2 и 3 составьте программу.
- •Задание 2
- •Задание 3
- •Решение:
- •Составим графическую схему алгоритма:
- •Составим таблицу соответствия переменных
- •Составим программу на языке Pascal.
- •Задание 4
- •Лабораторная работа №6. Тема: «Разработка, отладка и испытание циклических алгоритмов и программ с известным числом повторений с внутренними ветвлениями».
- •Задание
- •Задание 2
- •Решение:
- •Задание 3
- •Решение:
- •Задание 4 (задачи повышенной сложности)
- •Решение:
- •Задания для самостоятельного решения. Напишите программы с использованием процедур.
- •Дана последовательность слов. Напечатайте все слова, предварительно преобразовав каждое из них по следующему правилу:
- •Задание 5
- •Решение:
- •Задание 8 (повышенной сложности)
- •Решение:
- •Задание для самостоятельного решения:
- •(Повышенной сложности)
- •Лабораторная работа №8. Тема: «Разработка алгоритмов и программ методом пошаговой детализации. Обработка двумерных массивов. Организация ввода-вывода с помощью текстовых файлов».
- •Вопросы для самоподготовки:
- •Краткие теоретические сведения
- •Задание 1
- •Задание 2
- •Решение:
- •Составим графическую схему алгоритма.
- •Составляем таблицу соответствия переменных.
- •Составляем программу на языке программирования Pascal.
- •Задание 3
- •Задание 4
- •Лабораторная работа №9. Тема: «Разработка алгоритмов и программ решения различных задач с использованием библиотечных модулей пользователя».
- •Краткие теоретические сведения
- •Задание
- •Задача для самостоятельного решения.
- •Лабораторная работа №10. Тема: «Разработка алгоритмов и программ обработки строк. Использование множеств для решения задач».
- •Вопросы для самоподготовки:
- •Задание 6
- •Решение:
- •Задачи для самостоятельного решения:
- •Лабораторная работа №11. Тема: «Разработка алгоритмов и программ с использованием методов внутренней сортировки».
- •Задание
- •Решение:
- •Для каждой команды в одной строке введите через пробел
- •Задание для самостоятельного решения:
- •Лабораторная работа №12. Тема: «Разработка рекурсивных алгоритмов и программ».
- •Краткие теоретические сведения
- •Задание.
- •Лабораторная работа №13. Тема: «Разработка алгоритмов и программ с использованием процедур и функций модулей crt и dos».
- •Краткие теоретические сведения
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание.
- •Краткие теоретические сведения
- •Решение:
- •Задание 2
- •Андреев
- •Задание для самостоятельного решения.
- •Лабораторная работа №16. Тема: «Разработка алгоритмов и программ с использованием динамических структур данных».
- •Краткие теоретические сведения
- •Задание
- •Задание для самостоятельного решения
- •Задача о «Ханойских башнях».
- •Решение:
- •Задания для самостоятельного решения.
- •Задание для самостоятельного решения:
- •Задания для самостоятельного решения:
- •Лабораторная работа №22. Тема: «Разработка программ обработки созданных файлов».
- •Постановка задачи
- •Содержание отчета
- •Варианты задания:
- •Лабораторная работа №23. Тема: «Разработка программ с использованием прерываний bios и dos, процедурных типов».
- •Краткие теоретические сведения
- •Константы
- •Задание
- •Задание для самостоятельного решения.
- •Лабораторная работа №25. Тема: «Разработка простейших программ с использованием компонентов страницы Standart».
- •Вопросы для самоподготовки:
- •Задание 1
- •Лабораторная работа №26. Тема: «Разработка программ обработки массивов с использованием компонентов страницы Standart».
- •Задание
- •Procedure tForm1.Button2Click (Sender: tObject); {обработка массива}
- •Лабораторная работа №32. Тема: «Разработка программ создания и использования мультимедийных возможностей».
- •Задание
- •Лабораторная работа №34. Тема: «Создание и использование справочной системы».
- •Краткие теоретические сведения
- •Задание
- •Ход работы:
- •Лабораторная работа №35. Тема: «Создание установочного диска».
- •Задание
Лабораторная работа №9. Тема: «Разработка алгоритмов и программ решения различных задач с использованием библиотечных модулей пользователя».
Цель работы: получение навыков составления программ на языке Pascal с использованием модулей.
Краткие теоретические сведения
Структура модуля.
Модуль состоит из раздела интерфейса, раздела реализации и раздела инициализации.
unit ИмяМодуля;
interface
{объявление типов, констант, переменных, процедур и функций, которые могут использоваться в программах, использующий данный модуль}
implementation
{ объявление типов, констант, переменных, которые используются процедурами и функциями модуля}
{инструкция реализации процедур и функций модуля}
begin
{инструкции инициализации переменных модуля}
end.
Начинается модуль заголовком, который состоит из зарезервированного слова unit и имени модуля. Слово interface отмечает начало раздела интерфейса. В этот раздел помещают объявления типов, констант, переменных, процедур и функций, которые будут доступны программам, использующим данный модуль.
Раздел реализации начинается словом implementation. В этот раздел помещают инструкции, реализующие процедуры и функции модуля, объявление внутренних типов, констант, переменных.
Раздел инициализация начинается словом begin. В этот раздел, как правило, помещают инструкции инициализации переменных модуля.
Подготовка текста модуля.
Процесс создания модуля ничем не отличается от процесса создания программы. Текст модуля надо набрать в окне редактора текста и сохранить в файле с расширением pas.
Компиляция модуля.
Компилируется модуль точно также, как и обычная программа, т. е. выбором из меню Compile команды Compile. Однако в результате компиляции модуля вместо выполняемого файла программы (файла с расширением ехе) Turbo Pascal создаст файл с расширением tpu (tpu – сокращение от Turbo Pascal Unit). Откомпилированный модуль будет помещен в каталог, предназначенный для выполняемых программ. Имя этого каталога указано в поле EXE&TPU диалогового окна Directories, которое появляется при выборе команды Directories из меню Options.
Использование модуля.
Чтобы программа могла использовать модуль, надо указать имя этого модуля в списке используемых программой модулей. Например, для того чтобы программа могла использовать модуль из файла my_unit.tpu, в ее тексте надо поместить инструкцию uses my_unit;
Ниже приведена программа, которая использует функции Ltrim и Upper из модуля my_unit.
Program usunit;
uses my_unit;
Var
buf: string;
begin
write (‘Введите строку ->’);
readln (buf);
buf:=Ltrim (buf); {удалить пробелы в начале строки}
buf:=Upper (buf); {привести к верхнему регистру}
writeln (buf);
end.
Задание
Напишите программу, которая удаляет начальные пробелы и преобразует строчные символы строки в прописные.
unit my_unit;
interface
function LTrim (st: string): string; {удаляет начальные пробелы}
function Upper (st: string): string; {преобразует к верхнему регистру}
implementation
function LTrim (st: string): string;
begin
while (pos (‘ ‘, st)=1) and (length (st)>0) do
delete (st, 1, 1);
LTrim:=st;
end;
function Upper (st: string): string;
var
buf: string;
ln: integer; {длина исходной строки}
c: string [1]; {обрабатываемый символ}
i: integer;
begin
buf:=’ ‘;
ln:=length (st);
for i:=1to ln do
begin
c:=copy (st, i, 1); {выделить символ строки}
case c[1] of
‘a’..’п’,
‘a’..’z’: buf:=buf+chr (ord (c[1])-31);
‘р’..’я’: buf:=buf+chr (ord (c[1])-80);
else buf:=buf+c;
end;
end;
Upper:=buf;
end;
end.
