- •Основы программирования на языке паскаль
- •1. Простейшие программы Структура Паскаль-программы
- •Данные и тип данных
- •Стандартные функции
- •Выражения
- •Организация простейших программ
- •Модуль crt
- •Задания для самостоятельной работы
- •2. Ветвления
- •Задания для самостоятельной работы
- •3. Циклы
- •Оператор цикла с постусловием используется, когда известно условие, при котором цикл будет прекращать свою. Формат оператора:
- •Задания для самостоятельной работы
- •4. Массивы
- •Сортировка
- •Задания для самостоятельной работы
- •5. Строки
- •Задания для самостоятельной работы
- •6. Процедуры и функции
- •Параметры
- •Локальные и глобальные переменные
- •Функции
- •Задания для самостоятельной работы
- •7. Записи
- •Задания для самостоятельной работы
- •8. Множества
- •Операции над множествами
- •Задания для самостоятельной работы
- •9. Файлы
- •Стандартные процедуры и функции для работы с файлами всех типов
- •Стандартные процедуры и функции для работы с типизированными файлами
- •Задания для самостоятельной работы
- •10. Модуль graph
- •Процедуры и функции модуля graph
- •Задания для самостоятельной работы
- •11. Модули, определяемые пользователем
- •Задания для самостоятельной работы
- •12. Линейные однонаправленные списки Указатели
- •Линейные однонаправленные списки
- •Задания для самостоятельной работы
- •13. Двунаправленные списки.
- •Задания для самостоятельной работы
- •14. Кольцевые списки
- •Задания для самостоятельной работы
- •15. Стеки и очереди
- •Задания для самостоятельной работы
- •16. Деревья
- •Задания для самостоятельной работы
- •Простейшие программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- •Бадмаева Энгельсина Сергеевна, Тонхоноева Антонида Антоновна
- •670000, Г. Улан-Удэ, ул. Смолина, 24-а.
5. Строки
Строка – это конечная последовательность символов. Описание типа строка имеет следующий вид: String [<макс. длина>]; где <макс. длина> - максимальное количество символов, которое может храниться в строке (по умолчанию – 255). Длина строки – количество символов, содержащихся в строке в данный момент. Длина может изменяться в процессе выполнения программы от нуля до заданной максимальной длины. Пустая строка (имеет длину, равную нулю) обозначается ‘’.
Для обработки строк могут быть использованы следующие операции:
операция присваивания;
стандартные процедуры ввода и вывода (Readln, Read, Writeln, Write);
операция склейки: +;
выделение символа строки: <имя строки>[<номер символа>];
операции сравнения, которые выполняются посимвольно. Строка, в которой обнаружится символ, больший по коду соответствующего символа другой строки, или которая является продолжением другой строки, считается большей.
Кроме этого, существует ряд специальных стандартных процедур и функций для работы со строками.
Процедуры:
Delete (S, Poz, N); - удаление N символов из строки S, начиная с позиции Poz;
Insert (S1, S, N); - вставка строки S1 в строку S, начиная с позиции N;
Str (X, S); - преобразование числового значения X в строку S;
Val (S,V, Error); - преобразование строкового значения S в числовое значение V, где Error равно позиции первого по порядку неправильного символа в S, если преобразование не произошло, или равно 0 в случае успешного преобразования.
Функции:
Length (S) – длина строки S;
Copy (S, Poz, N) – подстрока длиной N из строки S, начиная с позиции Poz;
Pos (S1, S) – первая по порядку позиция символа строки S, начиная с которого строка S1 входит в строку S, или 0, если S1 не входит в S.
Пример 9. Дан массив из 10 слов. Выполнить для исходного массива следующие действия:
подсчитать количество слов, содержащих в себе ровно три буквы “о”;
заменить в словах сочетание “ку” на “ма”;
упорядочить слова по алфавиту.
Program Example_9;
Const N=10;
Var S, S1: Array [1..N] of String [20]; i, j, Kol,K: Byte; St: String[20];
Begin {ввод массива}
For i:=1 to N do
Readln (S[i]);
S1:=S; {делаем копию исходного массива}
{1 задание}
Kol:=0;
For i:=1 to N do
Begin
K:=0;
For j:=1 to Length (S[i]) do
If S[i][j] = ‘o’ Then
Inc (K);
If K=3 Then
Inc (Kol)
End;
Writeln (‘Количество слов с тремя буквами “o” равно ’,Kol); Writeln;
{2 задание}
Writeln (‘Слова после замены всех ”ку” на “ма”:’);
For i:=1 to N do
Begin
K:=Pos (‘ку’, S[i]);
While (K>0) do {пока сочетание ‘ку’ встречается в слове S[i]}
Begin
Delete(S[i], K, 2);
Insert (‘ма’, S[i], K);
K:= Pos (‘ку’, S[i])
End;
Write (S[i],’ ‘)
End; Writeln; Writeln;
S:=S1;
{3 задание} {Используем для сортировки метод обмена}
For i:=1 to (N-1) do
For j:=1 to (N-i) do
If S[j] > S[j+1] Then
Begin
St:=S[j]; S[j]:=S[j+1]; S[j+1]:=St
End;
Writeln (‘Слова, упорядоченные по алфавиту:’);
For i:=1 to N do
Write (S[i],’ ‘);
Writeln
End.
