
- •Учебно-методический комплекс дисциплины «Информатика» Календарно-тематический план.
- •2. Тезисы лекций Тема 1. Понятие алгоритма, свойства, типы, исполнители
- •Тема 2. Система программирования TurboPascal. Исполняемые операторы. Словарь языка. Структура программы.
- •Имена, ключевые слова и знаки операций
- •Тема 3. Предопределенные типы переменных (простые), стандартные функции
- •Операции и выражения
- •Тема 4. Операторы Ввода-вывода Оператор вывода writeln
- •Тема 5. Операторы условий, выбора и безусловного перехода
- •Тема 6. Операторы циклов
- •Тема 7. Символьные типы данных. Обработка символьных данных.
- •Тема 8. Массивы
- •8.1. Одномерные массивы
- •8.2. Двумерные массивы (матрицы)
- •Обращение к компонентам массива
- •Тема 9. Строки. Строковые процедуры.
- •Неименованные константы
- •Действия с символами
- •Тема 10. Процедуры и функции Подпрограммы
- •Объявление и описание
- •Возвращаемые значения
- •Вызов подпрограмм
- •Параметр-константа
- •Функции
- •Параметр-значение
- •Тема 11. Множества (Set)
- •Тема 12. Файлы. Файловые переменные.
- •Разновидности файлов
- •Работа с текстовыми файлами
- •Тема 13. Записи
- •Описание записей
- •Задание записей константой
- •Доступ к полям
- •Оперирование несколькими полями
- •Вложенные операторы with
- •Запись с вариантной частью
- •Описание записи с вариантной частью
- •Тема 14. Построение изображений на экране Система координат
- •Управление текущим указателем
- •Отображение точки на экране
- •Отображение линий на экране
- •Построение прямоугольников на экране
- •Построение многоугольников
- •Построение дуг, эллипсов и окружностей
- •Тематика и краткое описание лабораторных и студийных работ
- •2. Связь функция-клавиатура в интегрированной среде Turbo Pascal
- •3. Команды экранного редактора:
- •3.1 Команды перемещения курсора
- •3.2 Команды вставки/удаления
- •3.3 Команды работы с блоками
- •4. Технология компиляции
- •5. Технология отладки программы
- •6. Программирование линейных алгоритмов
- •Лабораторная работа 2 программирование разветвляющихся вычислительных процессов
- •Краткие сведения из теории
- •Составить блок-схему и программу алгоритмов нахождения функции с выбором по расчетной формуле.
- •Лабораторная работа 3 программирование циклов с параметром
- •Краткие сведения из теории
- •П р о г р а м м а
- •П р о г р а м м а
- •Лабораторная работа 4
- •Лабораторная работа 5 программирование циклов с условием
- •Краткие сведения из теории
- •П р о г р а м м а
- •П р о г р а м м а
- •Лабораторная работа 6
- •Краткие сведения из теории
- •П р о г р а м м а
- •П р о г р а м м а
- •Лабораторная работа 7 работа с матрицами
- •Краткие сведения из теории
- •П р о г р а м м а
- •П р о г р а м м а
- •Лабораторная работа 8 обработка символьных строк
- •Краткие сведения из теории
- •П р о г р а м м а
- •П р о г р а м м а
- •Лабораторная работа 9 записи. Файлы
- •Краткие сведения из теории
- •Лабораторная работа 10 процедуры
- •Краткие сведения из теории
- •П р о г р а м м а
- •Лабораторная работа 11 функции
- •Краткие сведения из теории
- •П р о г р а м м а
- •П р о г р а м м а
- •Порядок работы
- •Содержание отчета
- •Лабораторная работа 12 графические средства паскаля
- •Краткие сведения из теории
- •Порядок работы
- •Лабораторная работа №14 Динамические структуры данных. Организация данных в списковые структуры
- •Кратное содержание теории
- •Краткое описание семинарских и практических занятий (планы, задания для проведения семинарских и практических занятий, срсп, срс)
- •Тема 1. Структура программы на паскале. Заголовок программы. Блок. Типы данных, их классификация. Переменные и константы. Синтаксис выражений. Порядок работы
- •Содержание отчета
- •Тема 2 конструкция операторов разветвления Порядок работы
- •Содержание отчета
- •Тема 3. Конструкция операторов цикла Порядок работы
- •Содержание отчета
- •Тема 4. Конструкция циклов с предусловием и постусловием Порядок работы
- •Содержание отчета
- •Тема 6. Составные типы данных. Создание одномерных массивов и стандартных процедур. Порядок работы
- •Содержание отчета
- •Тема 7. Создание двумерных массивов и стандартных процедур Порядок работы
- •Содержание отчета
- •Тема 8. Методы работы со строками и отдельными символами Порядок работы
- •Содержание отчета
- •Тема 9. Задачи классической комбинаторики. Записи и файлы. Порядок работы
- •Содержание отчета
- •Тема 10. Процедуры и функции Порядок работы
- •Содержание отчета
- •Тема 13. Динамические переменные. Структуры данных
- •5. Задания для самопроверки и подготовки к экзамену, в том числе тесты
- •5.1 Вопросы для самоконтроля по данному модулю/разделу (коллоквиума);
- •5.2. Контрольные работы по данному модулю/разделу;
- •Тема «Строки»
- •Тема «Множества»
- •6. Учебно-методические материалы по дисциплине
- •6.1.Список рекомендуемой литературы Основная литература
- •Дополнительная литература
Тема 7. Символьные типы данных. Обработка символьных данных.
Ранее мы уже познакомились с тремя типами переменных: Integer, Real, Boolean. Каждый такой тип характеризуется тем, что мог иметь лишь определенные значения. Так, например, только целые числа задаются единственными значениями, которые могут принимать целые числа. Было бы очень удобно, если бы мы сами могли ввести любые типы переменных с помощью, например, объявления у каждого типа списка всех возможных значений.
Паскаль дает такую возможность – с помощью типа данных Char. Возможными значениями (результатами) переменных типа char являются буквенные или цифровые символы, например, буква В или цифра 1 (символ).
Char – сокращенное от Character – символ. Char относится к стандартным типам. Стандартный тип – это такой тип, который достаточно только объявить, чтобы для транслятора компьютера была полная ясность относительно всех возможных значений, присваиваемых переменным. Таким образом, известны все возможные результаты, и не нужно заранее их объявлять.
Значениями символьного типа char являются элементы конечного и упорядоченного множества символов, зависящего от реализации. В языке Borland Pascal это множество состоит из 256 символов, пронумерованных от 0 до 255. В число этих символов входят все символы. Которые вы можете получить на экране с помощью нажатия какой-либо клавиши или комбинации клавиш, а также некоторые другие символы в том числе и невидимые. Какие именно символы являются константами данного типа, зависит от того. Какая кодовая таблица используется в момент выполнения ( а не написания) программы. То есть одна и та же программа, например, печатающая изображение всех символов кодовой таблицы, на компьютерах с различными текущими кодировками будет иметь различные результаты работы. Обычно первые 128 символов с кодами от 0 до 127 всегда соответствуют так называемым “ASCII-символам”, а остальные 128 в различных таблицах используются для кодировки букв того или иного национального алфавита, символов псевдографики и т.п. Кроме того первые 32 символа считаются управляющими, а остальные – изображаемыми, т.е. имеющими графическое изображение (пробел, имеющий код 32, относится уже к изображаемым символам). Управляющие символы должны восприниматься устройствами вывода и ввода текста как команды, например:
Таблица 2.11
Символ |
Действие |
Английское название |
7 |
Подача стандартного звукового сигнала |
Beep |
10 |
Признак конца строки текстового файла |
End Of Line (EOLn) |
13 |
Перевод строки |
Line Feed (LF) |
26 |
Признак конца файла |
End Of File (EOF) |
Компилятор с языка программирования может обрабатывать управляющие символы определенным в нем нестандартным образом. Например, в языке Delphi все первые 33 символа, включая пробел, считаются разделителями при вводе информации, т.е. практически любым из них можно отделять. Например, числа при вводе из файла или с клавиатуры.
В тексте программы константы символьного типа записываются двумя способами. Наиболее наглядный из них – это заключение любого изображаемого символа в апострофы. Например: ‘*’, ‘F’, ‘1’. Второй способ позволяет задавать любые символьные константы, в том числе и соответствующие управляющим символам, по их кодам. В этом случае обозначение константы начинается с символа «#», за которым следует десятичный код (т.е. номер от 0 до 255) соответствующего символа. Например: #13, #26, #65. Если же мы считываем значение символьной переменной с клавиатуры или из файла, то соответствующий символ должен быть набит уже без апострофов. А если считывается последовательность символов (текст), то они набиваются все подряд, без разделителей, так как пробел, и другие разделители числовых констант также являются значимыми символами.
Итак, переменным типа Char мы можем присваивать стандартные символы (буквенные или цифровые). В соответствии с правилами подобным переменным в каждом случае могут в качестве возможных значений присваиваться следующие знаки:
заглавные буквы от A до Z;
цифровые символы от 0 до 9;
пропуски (или пробелы);
знаки операций, скобки и т.д.
Исключением составляет штрих(апостроф) ‘, имеющий специальное назначение.
Если в программе имеется описание
то возможны, например, операторы присваивания
Штрих (апостроф) – ‘ – принятая в Паскале форма кавычки употребляется всякий раз, когда значение типа char явно указывается в программе. Выполнение операторов
приводит к высвечиванию на экране символа b.
Каждый символ имеет свой порядковый номер, благодаря чему в работе с символами можно использовать стандартные функции pred(x), succ(x), ord(x) и chr(x).
Пример 1. Демонстрация работы функции pred(x) и succ(x).
Пример 2. Демонстрация работы функций ord(x) и chr(x).
Для переменных типа char в качестве условий после служебных слов IF и WHILE могут употребляться отношения
а также построенные на их основе составные условия.
Пример 3. Даны символы s1,s2,… Известно, что символ s1 отличен от символа «/» и что среди s2,s3,… есть хотя бы один символ «/». Пусть s1…sn - символы данной последовательности, предшествующие первому символу «/» (n заранее не известно). Программа подсчета восклицательных знаков среди s1…sn.
Решение:
При построении условий, располагающихся после IF и WHILE, можно использовать разнообразные отношения в множестве символов. Здесь возможен не только знак «=» и комбинация «<>», но также <, <=, >, >=, т.к. все множество символов считается упорядоченным. Упорядоченность получается так: из всех символов составлен список, и из двух символов меньше тот, который встречается в списке раньше.
Поэтому, например, 'a'<'c', 'y'>'x', '3'>'1'. В остальном вопрос порядка решается по-разному на разных компьютерах.
Упорядоченность открывает возможность использования в программах операторов цикла с параметром, имеющим тип char. Параметр цикла, имеющий тип char, пробегает ряд символов в указанных границах.
Выполнение оператора цикла
где с: char, приводит к высвечиванию на экране всех малых букв латинского алфавита.
Выполнение оператора
приведет к высвечиванию этих же букв в обратном порядке.
Пример 4. Программа вывода последовательностей букв
Пример 5. Дана последовательность символов. Определить существуют ли в данной последовательности хотя бы одна латинская буква предшествующая символу «/». Если таковая имеется, выдать соответствующее сообщение на экран.
Решение: