- •Аннотация
- •Содержание
- •Интегрированная среда программирования 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 Построение заполненных сложных геометрических фигур
- •Список литературы
Условный оператор If
Оператор If изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия. Существует два варианта оператора:
-
If <условие> Then <оператор 1> Else <оператор 2>
-
If <условие> Then <оператор>
Условие может быть простым или сложным. Сложные условия образуются с помощью логических операций AND, OR, NOT. При записи условий могут использоваться все возможные операции отношения. Результат выражения всегда имеет булевский тип (истина или ложь).
В первом варианте, если условие принимает значение "Истина", выполняется оператор 1, если условие - "Ложь", выполняется оператор 2.
Например:
A:=2; B:=8;
If A>B Then WriteLn(‘A>B’) Else WriteLn(‘A<=B’);
Во втором варианте формата, если условие принимает значение "Истина", выполняется оператор, если условие - "Ложь", выполняется оператор, следующий сразу за оператором If.
Например:
A:=2; B:=8: C:=0;
If A>B Then C:=A+B;
C:=C+12;
WriteLn(‘C=’,C);
(Результат выполнения программы – 12).
Один оператор If может входить в состав другого оператора If. В таком случае говорят о вложенности операторов.
Формат:
If <условие> Then
If <условие> Then <оператор>
Else <оператор>;
Например:
If A<20 Then
If A>=15 Then WriteLn(‘А в диапазоне 15 - 20’)
Else (WriteLn(‘А в диапазоне 1 - 14’);
Конструкцию со степенью вложенности более 2 – 3 лучше избегать из-за сложности их анализа.
Примеры:
-
с простым оператором:
If A>B Then D:=A+B Else D:=A-B;
-
с составным оператором:
If A<B Then Begin
WriteLn(‘A<B’);
D:=A*B;
End
Else Begin
WriteLn(‘A>=B’);
D:=A/B;
End;
-
с использованием сложного условия:
If (A=B) And (C=D) Then Begin
WriteLn(‘Норма’);
F:=0;
End
Else Begin
WriteLn(‘Превышение нормы’);
F:=100;
End;
Примеры решения задач
-
Заданы числа X,Y, Z. Найти минимальное из трех чисел.
Var
Mi, X,Y,Z:Integer;
BEGIN
WriteLn(‘Введите три числа’);
ReadLn(X,Y,Z);
Mi:=X;
If Y<Mi Then Mi:=Y;
If Z<Mi Them Mi:=Z;
WriteLn(‘ Минимальное число=’,Mi);
END.
-
Поменять местами значения переменных A,B,C т.о., чтобы оказалось A>B>C.
Var
PP,A,B,C:Real;
BEGIN
WriteLn(‘Введите три числа’);
ReadLn(A,B,C);
If A<B Then Begin PP:=A; A:=B; B:=PP; End;
If A<C Then Begin PP:=A; A:=C; C:=PP; End;
If B<C Then Begin PP:=B; B:=C; C:=PP; End;
WriteLn(‘A>B>C’,A,B,C);
END.
-
Определить, верно ли, что при делении натурального числа A на натуральное число B получится остаток, равный числу C.
Var
A,B,S:Integer;
BEGIN
Repeat
WriteLn(‘Введите два натуральных значения’);
ReadLn(A,B);
Until (A>B) AND (B>C);
WriteLn(‘Введите остаток’);
ReadLn(S);
If A MOD B = S Then
WriteLn(‘остаток от деления А на В=’,S)
Else
WriteLn(‘остаток от деления А на В не =’,S);
END.
4. Даны положительные целые числа A, B, C. Выяснить существует ли треугольник с длинами сторон A, B, C.
USES Crt;
VAR
A, B, C: INTEGER;
BEGIN
ClrScr;
WriteLn('Введите три числа');
ReadLn(A,B,C);
IF (A+B>C) AND (A+C>B) AND (B+C>A) Then
WriteLn('Треугольник построить можно')
Else
WriteLn('Треугольник построить нельзя');
END.
5. Верно ли, что в числе N первая и последняя цифры одинаковы (100<=N<1000).
USES Crt;
LABEL M1;
VAR
N,S,D,E: Integer;
BEGIN
M1: ClrScr;
Write(‘Введите целое трехзначное число ’);
ReadLn(N);
If (N <100) OR (N>=1000) Then GoTo M1;
{Выделение цифры в числе}
S:=N Div100; {сотни}
D:=((N-S*100) Div 10; {десятки}
E:=N mod 10; {единицы}
If S=E Then
WriteLn(‘Первая и последняя цифры одинаковы’)
Else
WriteLn(‘Первая и последняя цифры не одинаковы’);
END.
Примеры для самостоятельного решения:
-
Определить является ли данное целое число R четным. Дать словесный ответ.
-
Дано целое положительное число N (10<=N<=99). Выяснить, верно ли, что N равно кубу суммы цифр числа N.
-
Заданы три числа X, Y, Z. Найти min(XYZ, X+Y+Z).
-
Даны три целых числа. Выбрать из них те, которые принадлежат интервалу [1,3]
-
Дано целое положительное число N (N<=1000). Определить сколько цифр в этом числе.
-
Вычислить max(min(a,b),max(c,d)).