- •Аннотация
- •Содержание
- •Интегрированная среда программирования Turbo Pascal 7.0
- •Основные понятия языка Turbo Pascal 7.0
- •Алфавит языка
- •Структура программы
- •Раздел объявления меток
- •Раздел объявления констант
- •Строковые и символьные константы
- •Простые типы данных
- •Выражения Арифметические выражения
- •Математические функции
- •Условные выражения и операции отношения
- •Логические выражения и операции
- •Процедуры ввода – вывода информации Процедуры ввода информации Read, ReadLn
- •Процедуры записи Write, WriteLn
- •Форматы процедуры вывода Write
- •Простые операторы
- •Оператор присваивания
- •Примеры решения задач
- •Оператор безусловного перехода Goto
- •Структурированные операторы
- •Составной оператор
- •Условный оператор If
- •Примеры решения задач
- •Условный оператор Case
- •Примеры решения задач
- •Оператор цикла For
- •Особенности выполнения оператора For
- •Примеры решения задач
- •Оператор цикла Repeat…Until
- •Особенности выполнения оператора Repeat
- •Примеры решения задач
- •Оператор повтора While
- •Особенности выполнения оператора While
- •Примеры решения задач
- •Вложенные циклы
- •Массивы
- •Одномерные массивы Основные понятия
- •Описание массива
- •Заполнение массива
- •6.1.4 Примеры решения задач
- •1. Алгоритмы поиска и присвоения значений элементам массива
- •2. Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива
- •3. Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса
- •6.2 Двумерные массивы
- •6.2.1 Основные понятия
- •6.2.2 Описание массива
- •6.1.3 Заполнение и вывод элементов двумерного массива
- •6.1.4 Примеры решения задач
- •1. Алгоритмы действий над элементами двумерного массива
- •2 Алгоритмы формирования одномерного массива
- •3 Алгоритмы нахождения наибольшего и наименьшего элементов двумерного массива
- •7. Множества
- •7. 1 Операции над множествами
- •7.2 Примеры решения задач
- •8. Строки
- •8.1 Строковые выражения
- •8.2 Стандартные процедуры и функции для обработки строковых данных
- •Обнаруживает первое появление в строке St2 подстроки St1. Результат равен номеру той позиции, где находится первый символ подстроки St1.
- •8.3 Примеры решения задач
- •1.Задачи на подсчет символов.
- •2. Задачи на замену символов.
- •3. Задачи на удаление символов.
- •4. Задачи на вставку символов.
- •9. Процедуры и функции, определенные пользователем
- •9.1 Процедуры пользователя
- •1 Вариант
- •2 Вариант
- •9.2 Функции пользователя Формат описания функции:
- •9.3 Параметры
- •9.3.1 Параметры – значения
- •9.3.2 Параметры - переменные
- •10 Модуль crt. Процедуры и функции модуля crt
- •11 Модуль Graph
- •11.1 Классификация типов драйверов и видеорежимов
- •11.2 Инициализация графики
- •11.3 Переключение между текстовым и графическим режимами
- •11.4 Система координат
- •Отображение строк
- •11.5 Управление текущим указателем
- •11.6 Отображение точки на экране
- •11.7 Определение параметров пикселов
- •11.8 Отображение отрезков прямых линий
- •11.9 Вычерчивание линий различных стилей
- •11.10 Построение прямоугольников
- •11.10.1 Построение прямоугольника на плоскости
- •11.10.2 Построение закрашенного прямоугольника
- •11.11 Установка стиля заполнения
- •11.13 Построение заполненных областей изображения
- •11.13.1 Построение заполненного сектора эллипса
- •11.13.2 Построение заполненного эллипса
- •11.13.3 Построение заполненных сложных геометрических фигур
- •Список литературы
4. Задачи на вставку символов.
1. В тексте исправить ошибки в словах длиный и Генадьевич.
Var
St: Sring[255];
I,P: Byte;
Begin
WriteLn(‘Введите строку символов ‘);
ReadLn(St);
I:=1;
While I<=Length(St) Do Begin
If Copy(St,I,8)=’ длиный ‘ Then Insert(‘н’,St,I+4);
If Copy(St,I,12)=’ Генадьевич ‘ Then Insert(‘н’,St,I+3);
I:=I+1;
End;
2. В заданном тексте проверить наличие запятой перед каждым союзом «но». При отсутствии – вставить.
Var
St: Sring[255];
I,K: Byte;
Begin
WriteLn(‘Введите текст ‘);
ReadLn(St);
S:=’, но ’;
I:=1;
While I<=Length(St) Do Begin
If (Copy(St,I,4)=’ но ’) and (St[I-1]<>’,’) Then Begin
Delete(St,I,4);
Insert(S,St,I);
I:=I+4;
End;
I:=I+1;
End;
WriteLn(St);
End.
3. В текст вставить символ пробел после каждого имеющегося символа пробел.
USES Crt;
VAR
A : STRING [255]; I: INTEGER;
BEGIN
ClrScr;
WriteLn('Введите текст'); ReadLn(A);
I:=1;
While (I<=Length(A)) DO Begin
IF A[I]=' ' THEN Begin Insert (' ',A,I); I:=I+1; End;
I:=I+1;
End;
WriteLn(‘Измененный текст:’); WriteLn(A);
END.
Примеры для самостоятельного решения:
-
Исправить ошибки в тексте: в словах «рож», «мыш», «доч», в конце поставить «ь».
-
В тексте в последнем предложении после слова «мама» вставить «и папа».
-
В тексте после слов «например» поставить «,».
-
В тексте во втором предложении после слов «Ура» поставить «!!!».
9. Процедуры и функции, определенные пользователем
Подпрограммой называется именованная логически законченная группа операторов языка, которую можно вызвать для выполнения по имени любое количество раз из различных мест программы. В языке Pascal для организации подпрограмм используются процедуры и функции.
Процедура – это независимая поименованная часть программы. Она состоит из заголовка и тела. После однократного описания процедуру можно вызвать по имени из последующих частей программы. Имя процедуры не может находиться в выражении в качестве операнда.
Функция аналогична процедуре, но имеет два отличия:
-
функция передает в точку вызова скалярное значение (результат своей работы);
-
имя функции может входить в выражение как операнд.
Все процедуры и функции языка Pascal подразделяются на две группы:
-
встроенные (стандартные).
-
определенные пользователем.
Встроенные процедуры и функции являются частью языка и вызываются по имени.
Использование процедур и функций дает ряд преимуществ:
-
организовать работу нескольких программистов над одной программой с последующим объединением отдельно отлаженных и относительно независимых блоков в единое целое;
-
проводить отладку отдельных блоков и только после этого программы в целом;
-
значительно экономить память, т.к. многократно используемый участок заносится в память только один раз;
-
упростить внесение изменений в программу, т.к. исправление ошибки в одном блоке не вызывает корректировку других блоков.