- •Основные этапы решения задач на компьютере
- •Контрольные вопросы и задания
- •Язык программирования Паскаль
- •Запуск и настройка среды
- •Набор и редактирование исходного текста программы
- •Компиляция и запуск программы
- •Структура программы на Паскале
- •Арифметические операции
- •Основные стандартные функции, определенные в Паскале:
- •Логические операции
- •Типы данных
- •Операторы ввода и вывода
- •Read (список переменных) – этим оператором вводятся последовательно значения переменных из списка;
- •Readln (список переменных) – тоже что и read, но с переводом курсора на новую строку после ввода последней переменной;
- •2. Оператор вывода
- •Линейный алгоритм
- •Раздел var?
- •Разветвляющиеся вычислительные процессы
- •2.Оператор выбора case
- •Циклические вычислительные процессы
- •Операторы цикла могут быть вложены один в другой:
- •Отличие цикла for от while и repeat.
- •Массивы
- •Типовые алгоритмы обработки массивов.
- •Процедуры и функции
- •Функции
- •Строковые переменные
- •Стандартные процедуры и функции для работы со строковыми переменными
- •Множества
- •Формирование множеств
- •Отношения и операции над множествами
- •Список использованной литературы:
Строковые переменные
Cтроковые константы – это последовательность символов заключенных в апострофы.
1. CONST S='Информатика'
2. TYPESTROKA:=STRING; (256 символов) илиSTRING[n], гдеn– число символов.
VAR A, B: STROKA;
3. VAR A, B: STRING [ n ];
К любому элементу строки можно обратиться по имени строки с указанием соответствующего индекса.
Стандартные процедуры и функции для работы со строковыми переменными
STR1, STR2, STR3 – строковые переменные.
1. Удаление и вставка
DELETE (STR1, n, m);
Процедура, которая удаляет из строки STR1, подстроку длинной m, начиная с позиции n.
STR1:='Мышечка';
DELETE (STR1, 4, 2);
- Нулевой индекс при обращении с элементом строки хранит информацию о длине строки.
2. INSERT (STR1, STR2, n);
Эта процедура вставляет в строку STR1, подстроку STR2, начиная с позиции n.
STR1:='Мышка'; STR2:='еч';
INSERT (STR1, STR2, 4);
или INSERT (STR1, 'еч', 4);
Функции:
LENGTH (STR1): INTEGER;
Копирование: COPY (STR1, n, m);
Функция, которая выделяет из строки STR1, подстроку длиной m, начиная с позиции n.
CONCAT (STR1, STR2);
Конкатация – сцепление (сложение, объединение).
=STR1 + STR2
К переменным строкового типа применимы операции сравнения (=, , >, <, ...)
Сравнение строк идет по кодам их символов. Строки называются равными, если они совпадают по фактической, а не по объявленной длине и состоят из одинаковых символов.
' abc ' < 'cba'
STR (<число>, <размер>:<количество>, <строка>);- процедура, которая для заданного числа формирует представляющую его строку, указанного размера с заданным количеством знаков в дробной части, строка должна быть задана, как имя переменой, параметры, размер и количество могут отсутствовать.
Пример:
STR(19, 48: 5: 2,STR1);
Обратное преобразование осуществляется процедурой:
VAl (<строка>, <число>, <номер>);
Используя строку из цифр без пробелов, формируют число (машинное представление) или выдает номер ошибочного знака в строке.
Пример:
STR1:='1011.01';
VAL (STR1, X, N);
Множеством значений CHAR являются символы, упорядоченные согласно таблице расширенного кода. Коды с 0 по 31 – служебные. Если нужно по коду получить символ используют функцию CHR:
CHR (<код>), или # код.
Пример:
а) CHR (98) = #98 = 'b'
б) операторы вывода:
WRITELN ('MOSCOW');
WRITELN ('MO', #115#99,'OW');
WRITELN (CHR(77), CHR(111), CHR(115), CHR(99), CHR(111), CHR(119));
WRITELN (#77#111#115#99#111#119);
Выдача звукового сигнала: WRITE(#7);
Обратное преобразование осуществляется с помощью функции ORD.
ORD (символ) =код;
Для целых чисел
ORD (5) = 5;
Функция UPCASE (<символ>); возвращает символ – латинскую букву в верхнем регистре или символ, если у него нет представления в верхнем регистре или букву кириллица.
Пример: a)Дана строка символов. Необходимо подсчитать общее количество символов + - *
PROGRAM PRIMER;
CONST N=10;
VAR S: STRING [ N ];
I, M: INTEGER;
BEGIN
READLN (S); M:=0; {Строковые константы вводятся и выводятся без апострофов}
FOR I:=1 TO LENGTH (S) DO
BEGIN
IF (S [ I ]='+') OR (S [ I ]='-') OR (S [ I ]='*') THEN M:=M+1 END;
WRITELN (M);
END.
б) Дано: строка символов, группы символов в данной строке разделены пробелами (одним или несколькими) – эти группы будем называть словами. Необходимо подсчитать количество слов.
PROGRAM PR1;
TYPE STROKA:= STRING;
VAR C: STROKA;
I, K: INTEGER;
BEGIN
READLN (C); K:=0;
FOR I:=1 TO LENGTH (C) DO
BEGIN
IF C [ I ] = ' ' THEN
IF C [ I-1 ] <> ' ' THEN K:=K+1;
END;
Вопросы для закрепления:
1) Определить значение символьной переменной d после выполнения следующих операторов:
а) c:= '+'; d:=c;
б) c:= '+'; d:='c';
2) Вычислить S-сумму порядковых номеров всех букв входящих в слово SUM.
3) Напечатать заданный непустой текст,удалив из него все цифры и удвоив знаки плюс и минус.