- •Тема 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 str : string;
К, L, I : INTEGER;
F : BOOLEAN;
BEGIN
WRITELN('BBEДИTE ТЕКСТ ДО ТОЧКИ');
READLN(STR);
L := LENGTH(STR);
F := FALSE; I := 1; К := 0;
REPEAT
IF (STR[I]<>' ')AND(NOT F) THEN F := TRUE;
IF (STR[I] = ' ')AND(F) THEN
BEGIN
F := FALSE; К := K+1
END;
I := 1+1
UNTIL (STR[I] = '.')OR (I>L);
IF STR[I-1]<>' 'THEN К := K+1;
WRITELN('KOЛИЧECTBO СЛОВ К = ', К)
END.
Для решения задачи:
- формируем тело программы и описываем переменные;
- устанавливаем начальные значения переменных, флаг F опущен;
- цикл REPEAT... UNTIL (STR[I] = '.')or (I>L) осуществляет просмотр строки до первой точки или конца строки;
- если найдено начало очередного слова (STR[I]<>')AND(NOT F), то поднимаем флаг;
- если обнаружен конец слова (STR[I] = ' ')AND(F), то увеличиваем значение счетчика слов на единицу и сбрасываем флаг;
- по выходе из цикла обрабатываем последнее слово в тексте. Если между концом этого слова и точкой не было пробелов, то значение счетчика К не учитывает это слово и К := К+1;
- выводим значение счетчика К на экран.
Переменные:
I - переменная цикла;
L - длина строки;
К - счетчик слов;
STR - строка текста;
F - логический флаг.
ВВЕДИТЕ ТЕКСТ ДО ТОЧКИ
DFGRA AA BNC . FDFDFD
КОЛИЧЕСТВО СЛОВ К = 3
ВВЕДИТЕ ТЕКСТ ДО ТОЧКИ
DFGR FFFFFF GGGGG К, ;;;; BNC.
КОЛИЧЕСТВО СЛОВ К = 6
Рис. 4.3. Результат работы PRG4_8
Практические задания
1. Дана символьная строка. Определить длину самой длинной подстроки из подряд стоящих букв "а",
2. Дана строка символов. Определить, сколько в ней слов, начинающихся и кончающихся на одну и ту же букву.
3. Вывести на экран следующий текст в виде ромба:
О
ООО
ХХХХХ
ООООООО
ХХХХХ
ООО
о
4. Дана строка символов. Удалить из нее последний знак препинания.
5. Дана строка символов. Удалить из нее каждое слово нечетной длины. Слова отделяются друг от друга одним пробелом.
6. Дана строка символов. Удалить из нее каждое слово нечетной длины. Слова отделяются друг от друга группой пробелов.
7. Дана строка символов. Определить длину самого длинного и самого короткого слова.
Тема 5 Обработка строк
Для работы со строками в PASCAL встроены специальные функции и процедуры:
CONCAT - объединение строк;
COPY - копирование подстроки;
LENGTH - длина строки;
POS - поиск подстроки в строке;
DELETE - удаление подстроки из строки;
INSERT - вставка подстроки в строку;
STR - преобразование числа в строковую переменную;
VAL - преобразование символьного представления числа в двоичное представление.
Формат этих функций и процедур представлен в табл. 5.1.
Таблица 5.1
Функция |
Назначение и формат |
|
CONCAT |
Возвращает объединение строк CONCAT(STR1, STR2) STR1, STR2 - конкатенируемые строки |
|
COPY |
Возвращает копию подстроки из J символов, которые располагаются в строке STR начиная с позиции I COPY(STR, I, J) |
|
LENGTH |
Возвращает длину строки STR LENGTH(STR) |
|
POS |
Возвращает номер позиции, начиная с которой располагается подстрока CONTEXT в строке STR POS(CONTEXT, STR) |
|
DELETE |
Удаляет из строки STRJ символов начиная с позиции I DELETE (STR, I, J) |
|
INSERT |
Вставляет подстроку CONTEXT в строку STR начиная с позиции I INSERT(CONTEXT, STR, I) |
|
STR |
Преобразует число N в строковую переменную STR STR(N, STR) |
|
VAL |
Преобразует строку STR в двоичное число X, где CODE - код неправильного символа VAL(STR, X, CODE) |
Рассмотрим несколько примеров.
Задача 5.1 Дана строка символов. Дано слово. Удалить из строки это слово.
Основная сложность при решении данной задачи состоит в разделении понятий "слово" и "подслово". В тексте АПРОЛ МИТ слова ИТ нет, а есть подслово ИТ. Для того, чтобы четко разделить эти понятия, при просмотре допишем перед словом WRD и перед STR - пробел
WRD := CONCAT(' ', WRD);
STR:= ' '+STR;
После слова делать этого не следует, т. к. нам следует отличать знаки препинания от значимых слов.
PROGRAM PRG5_1;