- •Тема I Основные понятия языка pascal 7.0
- •1.1. Алфавит и структура программы
- •Алфавит
- •Структура программы
- •I, j : integer;
- •1.2. Структура данных
- •Простые типы данных
- •Структурированные типы данных
- •Указатели
- •Процедурные типы
- •Объекты
- •Преобразование типов данных
- •1.3. Операторы языка
- •Простые операторы
- •Структурированные операторы
- •1.4. Процедуры ввода-вывода
- •Var I, j : integer;
- •Практические задания
- •Тема 2 Производящие функции и ряды
- •Var n, I: integer;
- •Var I, n, f : integer;
- •Var I, n, f, j, r, m : integer;
- •Var I, n, f, j, r, m : integer;
- •Var I, n, f, j : integer;
- •Var I, n, sum : integer;
- •Var I, n, m, к : integer;
- •If flag then
- •Var I, n, m, k, nod : integer;
- •Var I, n, m, k, nod, nok : integer;
- •Var n, r, m : integer;
- •Var n, r, м, к, I : integer;
- •If f then writeln('число', n, ' he палиндром')
- •Var X, y, z:real; I, n : integer;
- •Var X, y, z : real;
- •Var X,y. Z, е : real;
- •I: integer;
- •Var X, y, z, e : real;
- •I: integer;
- •Var X, y, z : real;
- •Практические задания
- •Тема 3 Обработка числовых последовательностей
- •Var n, X, sum, I: integer;
- •Var n, X, к, I: integer;
- •Var n, X, max, I: integer;
- •Var n, X, max, I: integer;
- •Var X, min1, min2 : integer;
- •Var old, new : real;
- •If f then
- •Var old, new : real; к : integer;
- •Var old, new, f : real;
- •Var old, new : real;
- •If f then
- •Var old, new : real;
- •If f then
- •Var poroda : string;
- •I, к, n : integer;
- •Var pol : string;
- •I, к, n : integer;
- •Практические задания
- •Тема 4 Символьные переменные и строки
- •Var I: char;
- •Var I: char;
- •Var I, l : char;
- •Var str: string;
- •If not(str[I] in m) then write(str[I])
- •Var str : string;
- •If not(str[I] in m) then write(str[I]);
- •Var str : string;
- •If (str[I] - '!') then write(V)
- •Var str : string;
- •Var str : string;
- •Тема 5 Обработка строк
- •Var str, wrd : string;
- •I, l : integer;
- •Var s1, str : string;
- •I: integer;
- •Var s1, str: string;
- •Var s1: string;
- •Var s1 : string;
- •Var s1 : string;
- •X : char;
- •Var s1 : string;
- •Var м, к, I, j : integer;
- •Var I, к : integer;
- •Var I, к : integer;
- •Var I, к : integer;
- •Var I, l : integer;
- •1234567890 Ааааааа .
- •Var I, l : integer;
- •If f then writeln('палиндром')
- •1234567890 Ааааааа .
- •Практические задания
- •Тема 6 Одномерные массивы
- •Var mas : array[1..M] of integer;
- •I, max, k, n : integer;
- •Var mas : array[1..M] of integer;
- •I, k, n : integer;
- •Var mas : array[1..M] of integer;
- •I, k, new, n : integer;
- •Var mas : array[1..M] of integer;
- •I, j, k, new, n : integer;
- •Var mas : array[1..M] of real;
- •I, n : integer;
- •Var mas : array[1..M) of real;
- •I: integer;
- •Var mas, num2, num5 : array[1..M] of integer;
- •Практические задания
- •Тема 2 Двумерные массивы
- •Var a : array[1..T, 1..S] of integer;
- •Var а : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of char;
- •Var a : array[1..T, 1..T] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Практические задания
- •Тема 8 Работа с файлами
- •Var f1, f2 : text;
- •X : char;
- •International
- •Var f1, f2 : text;
- •X : char;
- •International
- •Var Fl : text;
- •X: char;
- •International
- •Var f1 : text;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •I: integer;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Тема 9 Процедуры и функции
- •Var I, j : integer;
- •Var n, m : integer;
- •Var I, j : integer;
- •Var n, m : integer;
- •Var I, j : integer;
- •Var I, j : integer;
- •Var s : string;
- •Var I: integer;
- •Var I, j : integer;
- •Var I, j : integer;
- •Var n : longint;
- •Var s : integer;
- •Var n : longint;
- •Var s : integer;
- •Var а, в, d, к, X, y : integer;
- •Var а, в, d, к, X, y : integer;
- •Var а, в : integer;
- •Var к: integer;
- •Var I : integer;
- •Var n : longint;
- •Var s : integer;
- •Var а, в, X, d, y : integer;
- •Var а, в : integer;
- •Var к: integer;
- •Практические задания
- •Тема 10 Работа с текстом. Модуль crt
- •Var I: char;
- •Var I:integer;
- •Var X, I: integer;
- •Var I: integer;
- •Var X, y, I: integer;
- •Var X, y, I: integer;
- •Var X, y, I: integer;
- •Практические задания
- •Тема 11 Графика. Модуль Graph
- •Initgraph(driver, mode,' ');
- •Var driver, mode : integer;
- •Var driver, mode,
- •X, y : integer;
- •Var driver, mode,
- •X, y : integer;
- •Var driver, mode, X, y : integer ;
- •Var driver, mode, X, y : integer;
- •Var driver, mode, X, y : integer;
- •Var driver, mode, X, y, I: integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t, y0 : integer ;
- •Var driver, mode, X, y, I, t, xo : integer;
- •Var driver, mode, X, y, r : integer;
- •Var driver, mode, X, y, x1, y1, r : integer;
- •Var driver, mode, X, y, r, I: integer ;
- •Var driver, mode, X, y, r, rx, ry, lx, ly, I, size : integer;
- •Var driver, mode, X, y, r : integer;
- •Практические задания
- •Тема I 3 Разные задачи
- •Var f1:file of nn;
- •I:integer;
- •Var I:integer;
- •Var I, min,max:integer;
- •Var I,j:integer;
- •Var I,j:integer;
- •In_metr;
- •I,n:integer;
- •Var I:integer;
- •If I in s1 then
- •Приложение Зарезервированные слова borland pascal 7.0
- •Литература
- •Оглавление
- •1.1. Алфавит и структура программы
- •Тема 13 разные задачи
Var I, l : integer;
S1 : STRING;
BEGIN
WRITELN('BBEДИTE ТЕКСТ ДО ТОЧКИ');
READLN(S1);
L := LENGTH(S1);
FOR I := L-1 DOWNTO 1 DO
WRITE(S1[I]);
WRITELN('.')
END.
Для решения задачи:
- формируем тело программы и описываем переменные;
- вводим строку S1 и определяем ее длину;
- организуем цикл по выводу строки задом наперед.
Переменные:
I - переменная цикла;
L - длина строки;
S1 - строка текста.
ВВЕДИТЕ ТЕКСТ ДО ТОЧКИ
1234567890 Ааааааа .
ААААААА 0987654321.
ВВЕДИТЕ ТЕКСТ ДО ТОЧКИ
++++++++++++ ++++++++++++
++++++++++++ ++++++++++++
Рис. 5.6. Результат работы PRG5_12
Задача 5.13 Дана строка символов до точки. Определить, является ли она палиндромом.
PROGRAM PRG5_13;
Var I, l : integer;
S1 : STRING;
F : BOOLEAN;
BEGIN
WRITELN('BBEДИTE ТЕКСТ ДО ТОЧКИ');
READLN(S1);
L := LENGTH(S1);
F := TRUE;
FOR I := (L-1)DIV 2 DOWNTO 1 DO
IF S1[I]<>S1[L-I] THEN F := FALSE;
If f then writeln('палиндром')
ELSE WRITELN('HE ПАЛИНДРОМ');
END.
Для решения задачи:
- формируем тело программы и описываем переменные;
- вводим строку S1 и определяем ее длину;
- устанавливаем флаг F;
- организуем цикл таким образом, чтобы элементы сравнивались попарно, начиная от середины строки при движении к краям строки;
- в зависимости от значения флага выводим результат на экран.
Переменные:
I - переменная цикла;
L - длина строки;
F - флаг;
S1 - строка текста.
ВВЕДИТЕ ТЕКСТ ДО ТОЧКИ
1234567890 Ааааааа .
НЕ ПАЛИНДРОМ
ВВЕДИТЕ ТЕКСТ ДО ТОЧКИ
++++++++++++ ++++++++++++
ПАЛИНДРОМ
Рис. 5.7. Результат работы PRG5_13
Практические задания
1. Дана символьная строка. Зашифровать в ней все латинские символы с помощью циклической подстановки А = > В = > С... Y = > Z = > А
2. Дана символьная строка. Удалить из нее все кратные рядом стоящие одинаковые символы, оставив по одному. Например, ФЫЫЫЫВВВААПРО = > ФЫВАПРО
3. Дана символьная строка. Посчитать, сколько раз в ней встречается подслово АВВА. Обратите внимание: в строке АВВАВВА это подслово встречается два раза!
Тема 6 Одномерные массивы
Массив в языке PASCAL представляет собой заранее известное количество однотипных компонентов, снабженных индексами. Массив может быть одномерным или многомерным. Чтобы задать тип-массив, необходимо использовать зарезервированное слово ARRAY, тип индексов массива и тип компонентов массива.
Например, тип одномерного массива целых чисел может быть задан следующим образом:
TYPE
MAS = ARRAY[1..1O] OF INTEGER;
VAR
M1 : MAS;
Тот же самый тип массива может быть задан и при определении соответствующих переменных:
VAR
М1 : ARRAY[1..1O] OF INTEGER;
Размерность массива может быть любой, компоненты тоже, только тип индексов должен быть обязательно порядковый и не Longint. Обратите внимание: тип индексов, как правило, объявляется как диапазон.
Алгоритмы, с помощью которых обрабатывают одномерные массивы, очень похожи на обработку последовательностей (поиск, выборка и т. д.). Отличие заключается в том, что в массиве одновременно доступны все его компоненты. Такой доступ называется параллельным. Поэтому становятся возможны сортировки элементов по убыванию значений, по возрастанию или по какому-либо другому признаку. Возможны также и более сложные преобразования массивов.
Рассмотрим несколько примеров на обработку одномерных массивов.
Задача 6.1 Дан массив чисел. Найти значение максимального элемента. Если таких элементов несколько, то определить, сколько их.
Эта задача может быть решена за один просмотр элементов массива. Вначале устанавливаем текущий максимум по первому элементу массива МАХ := MAS[1] и запоминаем количество максимумов К := 1. Затем выбираем очередной элемент MAS[I] массива и сравниваем его с МАХ. В случае равенства увеличиваем значение К на единицу. Если текущий максимум меньше элемента MAS[I], то переприсваиваем его МАХ := MAS[I] и устанавливаем значение К в единицу. После окончания просмотра выводим результаты на экран. В данном случае считывание элементов массива разумно совместить с процессом обработки, но считывание можно осуществить и двумя последовательными циклами:
PROGRAM PRG6_1;
CONST M = 100;