![](/user_photo/2706_HbeT2.jpg)
- •Программирование в системе Pascal abc
- •Введение
- •1. Система программирования pascal abc
- •1.1. Структура меню среды
- •1.2. Команды редактора Pascal abc
- •Команды удаления и вставки
- •1.3. Правила оформления программ
- •1.4. Компиляция и исправление синтаксических ошибок
- •1.5. Этапы подготовки и решения задач на компьютере
- •1.6. Словарь основных терминов
- •2. Начальные сведения о языке pascal abc
- •2.1. Алфавит языка
- •2.2. Константы
- •2.3. Идентификаторы и типы данных
- •2.4. Переменные и именованные константы
- •2.5. Структура простой программы и комментарий
- •3. Оператор присваивания и числовые данные
- •3.1. Арифметические выражения
- •Приоритеты операций в выражении
- •3.2. Оператор присваивания
- •3.3. Процедуры ввода-вывода
- •3.4. Стандартные функции Pascal abc
- •3.5. Целые типы в Pascal abc
- •3.6. Вещественные типы
- •Переменные комплексного типа
- •3.7. Примеры и задания к самостоятельному выполнению
- •4. Программирование разветвленных алгоритмов
- •4.1. Логические выражения
- •4.2. Условный оператор if
- •4.3. Составной и пустой операторы
- •4.4. Оператор безусловного перехода
- •4.5. Пример и задания с оператором if
- •4.6. Оператор выбора варианта case
- •4.7. Примеры и задания с оператором case
- •5. Программирование алгоритмов циклической структуры
- •5.1. Оператор счётного цикла
- •5.2. Примеры и задания для оператора цикла со счётчиком
- •Задания к самостоятельному выполнению
- •5.3. Оператор цикла с предусловием
- •5.4. Пример и задания для оператора цикла с предусловием
- •5.5. Оператор цикла с постусловием
- •5.6. Процедуры прерываний циклов
- •5.7. Примеры и задания для циклов с постусловием
- •Задания для самостоятельного выполнения
- •6. Структурированные типы данных
- •6.1. Массивы данных
- •Типизированные константы-массивы
- •6.2. Пример и задания для одномерных массивов
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •6.3. Ограниченный тип (диапазон)
- •6.4. Пример и задания для двумерных массивов
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •Задание 3
- •7. Структурное программирование
- •7.1. Структура сложной программы
- •7.2. Подпрограммы. Процедуры и функции
- •7.3. Структура подпрограммы-функции
- •7.4. Примеры и задания с подпрограммой-функцией
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •7.5. Структура подпрограммы-процедуры
- •7.6. Передача в подпрограмму массивов и строк
- •7.7. Рекурсия в программе
- •7.8. Вложенные подпрограммы
- •7.9. Процедуры exit и halt
- •7.10. Пример и задания с подпрограммой-процедурой
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •8. Обработка символьных данных
- •8.1. Символьный тип
- •8.2. Задания для символьных данных
- •9. Обработка строк текста
- •9.1. Строковый тип
- •9.2. Встроенные функции и процедуры для обработки строк
- •9.3. Пример и задания для обработки строк
- •Задания для самостоятельного выполнения
- •10. Файлы
- •10.1. Процедура связывания файлов
- •10.2. Процедуры и функции для работы с файлами
- •10.3. Типизированные файлы
- •10.4. Текстовые файлы
- •10.5. Процедуры ввода
- •10.6. Процедуры вывода
- •10.7. Примеры и задания для работы с файлами
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •11. Комбинированный тип – записи
- •11.1. Структура данных типа записи
- •11.2. Обработка полей записей
- •11.3. Задания с обработкой записей Задание 1
- •Задание 2
- •12. Процедурные типы
- •Библиографический список
- •Обозначения графические в схемах алгоритмов (гост 19.701-90)
- •Содержание
8.2. Задания для символьных данных
1. Дана строка из 20 символов. Вывести из нее на печать только строчные буквы латинского алфавита.
2. Вывести на печать все строчные, а затем все прописные буквы русского и латинского алфавитов.
3. В заданной строке подсчитать частоту появления букв «a», «b».
4. Дан текст из 60 литер. Напечатать только строчные русские буквы, входящие в этот текст.
5. Дана последовательность символов, содержащая символ «я». Определить порядковый номер символа «я» в последовательности.
6. Дана последовательность символов. Определить в ней символ, который по алфавиту предшествует другим.
7. Напечатать в алфавитном порядке все различные строчные буквы, входящие в заданный текст из 100 литер.
8. Определить, является ли заданная последовательность символов в строке симметричной: читается одинаково слева направо и справа налево.
9. Напечатать текст, образованный символами с порядковыми номерами 56, 89, 84 и 69, и текст с изменением регистра.
10. Даны две строки с1 и с2, содержащие до 5 цифр каждая. Преобразовать их к данным целого типа, используя процедуру VAL, вычислить арифметическое выражение с3 = (с1-с2)/(с1+с2).
11. Вычислить суммы кодов всех букв, входящих в слова SUM и ALFA. Сравнить слова и определить, какое из них больше.
12. Напечатать заданный текст с удалением из него всех букв b, непосредственно перед которыми находится буква с.
13. Имеется символьная переменная d, присвоить логической переменной T значение true, если значение d – цифра, и значение false в противном случае.
14. Если в заданный текст входит каждая из букв слова key, тогда напечатать «yes» , иначе – «no».
15. Написать программу, которая предварительно запрашивает ваше имя, а затем приветствует вас по имени.
16. Ввести вещественное число, преобразовать его в строку. Подсчитать количество разрядов в целой и дробной частях. Найти представление числа в виде мантиссы (по модулю меньшее единицы) и порядка.
17. Ввести строку, состоящую из нулей, единиц и десятичной точки. Преобразовать ее в десятичное число.
9. Обработка строк текста
9.1. Строковый тип
Строковый тип (String) используется для обработки текстовой информации. Строка-константа это произвольная последовательность символов, заключённая в апострофы. Отдельный символ совместим по типу с элементом типа CHAR.
Для обработки текстовой информации используется тип динамических строк. Строка представляет собой цепочку символов. В программе строковая переменная может быть описана в блоках Type или Var. Например:
CONST N=16; {N255}
TYPE stroka: string[100];
VAR st: string; {строка может содержать не более 255 символов}
str: string[10]; {строка может содержать не более 10 символов} st1: string[N]; {строка может содержать не более N =16 символов} st2: stroka; {строка может содержать не более 100 символов}
Максимальная длина строки 255 символов. Строка имеет структуру, подобную одномерному массиву. Поэтому строка st1 трактуется как
st1: array[0..N] of char.
Отличие между строкой типа string и массивом состоит в том, что строка имеет переменную длину (количество символов) и нулевой элемент строки st[0] содержит информацию о длине строки. Длина строки может быть изменена путем заполнения строки новым элементом или путем изменения ее нулевого элемента. Текущая длина строки может быть определена значением ORD(st[0]).
Строки можно присваивать и сравнивать. Операции отношения >, <, =, >=, <=, <> для строк выполняются посимвольно слева направо с учетом внутренней кодировки символов. Строки считаются одинаковыми, если они имеют одинаковую длину и одинаковые символы. Например:
'abcd' = ‘abcd'
'abcd' <> 'abcde'
'abcd' > ' abc'
'abcd' < ' ABC'.
К строкам применима операция сцепления (+) или конкатенации, например:
st := 'AB' + 'BC';
st := st + 'CD'; {st содержит 'ABBCCD'}
Если количество символов превышает максимально допустимую длину, то "лишние" символы справа отбрасываются.
Отдельный элемент строки совместим с типом char.
Пример:
Var
stt: string[2]; c: char;
Begin
stt := '123'; c := 'a';
writeln(stt); {stt = '12' , излишек отсекается }
stt[2] := c ; {stt = '1a' }
End.