- •Міністерство освіти і науки, молоді та спорту України
- •Лабораторная работа №1. Разработка программы с линейным алгоритмом выполнения.
- •1.1. Цель работы
- •1.2. Задание на лабораторную работу
- •1.3. Требования к программе
- •1.4. Порядок выполнения работы
- •1.5. Правила работы с методическими указаниями
- •1.6. Разработка программы в интегрированной среде TurboPascal
- •1.6.1. Почему Pascal?
- •1.6.2. Порядок создания программы
- •Запуск интегрированной среды TurboPascal
- •Назначение пунктов меню TurboPascal
- •Подготовка нового текста программы
- •Описание клавиш редактирования текста
- •Сохранение текста программы в файл
- •Загрузка текста программы из файла
- •Запуск программы на выполнение
- •Просмотр результатов работы программы
- •Выход из среды Turbo Pascal
- •1.6.3. Использование помощи в среде TurboPascal
- •1.7. Сведения по структуре и операторам Pascal-программы
- •1.8. Пример действий по подготовке и выполнению программы
- •Пример работы описанной выше программы
- •1.9. Ошибки компиляции
- •1.10. Варианты заданий
- •1.11. Содержание отчета
- •7) Входные данные и результаты работы программы.
- •8) Ответы на контрольные вопросы.
- •9) Выводы по проделанной работе.
- •1.12. Контрольные вопросы
- •Лабораторная работа №2. Разработка программы с разветвленной структурой
- •2.6. Справочная информация по операторам ветвления языка Pascal
- •2.6.1. Оператор if
- •2.6.2. Константы
- •2.6.3. Оператор выбора case
- •2.6.4. Оператор goto
- •2.7. Пример программы с разветвленной структурой
- •2.8. Варианты заданий
- •2.9. Содержание отчета (см. Пункт 1.11)
- •2.10. Контрольные вопросы
- •Лабораторная работа №3. Разработка циклической программы с известным количеством повторений
- •3.5. Оператор цикла for
- •Возведение в степень
- •3.6. Тип данных «массив» – объявление и использование
- •3.7. Использование меню для объединения подзадач а и б.
- •3.8. Варианты заданий
- •3.9. Содержание отчета (см. П. 1.11)
- •3.10. Контрольные вопросы
- •Лабораторная работа №4. Разработка циклической программы с неизвестным количеством повторений
- •4.5. Оператор цикла repeat
- •4.6. Оператор цикла while
- •4.7. Варианты заданий
- •4.8. Содержание отчета (см. П. 1.11)
- •4.9. Контрольные вопросы
- •Лабораторная работа №5. Разработка программы с использованием процедур и функций
- •5.1. Цель работы
- •5.2. Задание на лабораторную работу
- •5.3. Требования к программе
- •5.4. Порядок выполнения работы
- •5.5. Программирование процедур и функций на языке Pascal
- •5.5.1 Объявление функции
- •5.5.2 Объявление процедуры
- •5.5.3 Передача аргументов в подпрограмму с использованием параметров-значений и параметров-переменных
- •5.5.4 Локальные и глобальные переменные и их область действия
- •5.5.5 Предварительное описание подпрограммы
- •5.5.6 Рекурсивный вызов подпрограммы
- •5.6. Варианты заданий
- •5.7. Содержание отчета (см. П. 1.11)
- •5.8. Контрольные вопросы
- •Лабораторная работа № 6. Обработка символов и строк на языкеPascal
- •6.5.2. Определение переменных строкового типа string. Операторы обработки строк
- •6.6. Пример программы
- •6.7. Варианты заданий
- •6.8. Содержание отчета (см. П. 1.11)
- •7.5.2. Операторы для работы с файлами в Pascal
- •7.6 Пример программы
- •7.7. Варианты заданий
- •7.8. Содержание отчета (см. П. 1.11)
- •7.9. Контрольные вопросы
- •Список литературы
- •Приложение. Титульный лист лабораторной работы Міністерство освіти і науки України Національний технічний університет України
- •Кафедра прикладної математики
Лабораторная работа № 6. Обработка символов и строк на языкеPascal
6.1. Цель работы
Приобретение навыков обработки символьных данных на языке Pascal.
6.2. Задание на лабораторную работу
Составить программу обработки символьных данных в соответствии с вариантом задания (п. 6.7).
6.3. Требования к программе
Программа должна выводить:
– номер варианта, назначение программы и ФИО автора;
– информационные сообщения о необходимости ввода данных;
– результаты работы в соответствии с вариантом задания. Обработка символьных данных должна выполняться в подпрограмме пользователя (п. 6.6).
6.4. Порядок выполнения работы
1) Получить вариант задания (п. 6.7).
2) Изучить операторы объявления и обработки символов и строк (п. 6.5).
3) Разработать и отладить программу обработки символьных данных.
4) Ответить на контрольные вопросы (п. 6.9).
5) Оформить отчет (см. п. 1.10).
6.5. Операторы объявления и обработки символов и строк на языке Pascal
6.5.1. Операторы определения и обработки данных символьного типа
Символьный тип обеспечивает программисту возможность работы с символами, к которым относятся: цифры (от 0 до 9), буквы латинского алфавита (как строчные, так и прописные), буквы национального алфавита (как строчные, так и прописные), знаки препинания и др. В связи с тем, что элемент, объявленный как Char, занимает в памяти 8 бит (1 байт), то всего доступно 256 символов. Каждый символ имеет собственный числовой код (от 0 до 255), причем коды от 0 до 127 являются стандартными (соответствуют американскому стандарту ANSI). Коды этих символов одинаковы практически в любых устройствах, компьютерах, операционных системах, языках программирования, Unicode-кодировках и т.д.
Значения от 128 до 255 предназначены для кодирования символов из других национальных алфавитов (в том числе кириллицы). Поскольку этого числового пространства хватает на кодирование алфавита лишь одного языка, то оперировать одновременно несколькими национальными алфавитами не представляется возможным. Более того, существуют языки, содержащие в алфавите свыше 127 символов (например, китайский, в котором более 50 тыс. иероглифов), поэтому использовать стандартные средства языка Pascalдля работы с такими алфавитами весьма затруднительно.
Представляемые типом Charсимволы (в том числе кириллица) и их коды приведены на рисунке 6.1.
Рисунок 6.1 – Символы и их коды
Особое значение имеют символы с кодами:
– 9 – код символа табуляции. Используется для выравнивания текста. Осуществляет смещение курсора вправо на одну или несколько (но не более 8) позиций в зависимости от текущего расположения курсора. Новое положение курсора будет кратно 8 плюс 1.
– 10 – код перевода строки. В результате следующие символы будут напечатаны на новой строке.
– 13 – код возврата каретки. Возвращает курсор ввода на начало строки. Новые символы будут затирать предыдущие.
– 32 – код пробела.
Ниже представлен текст программы, с помощью которой был подготовлен рисунок 6.1:
var
I:Integer; {Объявление счетчика цикла FOR }
C:Char;{Объявление переменной «символ»}
begin
WriteLn('Перечень символов и их кодов:');
forI:= 0to255do {Цикл перебора всех кодов символов}
begin
C:=Chr(I);{Получаем символ из его кода}
Write(I:3,':',C,' ');{Печать на экране символа и его кода}
ifImod12 = 0then {Если код символа кратный 12,}
WriteLn; {то переходим на следующую строку}
end;
end.
Значение переменной Charможно задать также с помощью оператораReadln, либо путем непосредственного присвоения отдельного символа (символьной константы), заключенного в одинарные кавычки (апострофы), например:
C:='F';
Поскольку тип Charявляется порядковым, допускается использование по отношению к нему операций сравнения, например:
if (C >= 'A') and (C <= 'Z') then
Writeln('Это символ из латинского алфавита!');
Стандартные функции языка Pascal, применимые к типуChar, представлены к таблице 6.1.
Таблица 6.1 – Стандартные функции Pascalдля работы с символами
Функция |
Назначение |
Тип аргумента |
Тип функции |
Пример |
Chr |
Получение символа по его коду |
Byte |
Char |
x := 68; y := Chr(x); {y = 'D'} y := Chr(2*x-5); {y='Г'} |
Ord |
Определение кода символа |
Char |
Byte |
x := 'G'; y := Ord(x); {y=71} |
Pred |
Возвращение предыдущего символа |
Char |
Char |
x := 'Б'; y := Pred(x); {y='A'} |
Succ |
Возвращение следующего символа |
Char |
Char |
x := 'Г'; y := Succ(x); {y='Д'} |
Upcase |
Преобразование строчной буквы в прописную |
Char |
Char |
Ch := 'd'; Y := Upcase(Ch); {Y='D'} |