
- •Министерство образования и науки российской федерации
- •Предисловие
- •Общие понятия и правила программирования на языке Турбо Паскаль
- •Структура программы на языке Паскаль
- •Основная программа
- •1. Ввод исходных данных
- •2. Расчет
- •Стандартные математические функции
- •Запись математических выражений на языке Паскаль
- •Запись математических выражений на языке Паскаль
- •Вывод результатов
- •Технология программирования
- •Практическое задание 1 Работа компьютера в режиме калькулятора (вычисления)
- •Контрольные вопросы
- •Лабораторная работа № 2 Линейное программирование. Решение математических выражений.
- •Практическое задание 2
- •Индивидуальное задание
- •Лабораторная работа № 3 Базовая структура ветвление. Условный оператор If ..Then
- •Основные теоретические положения
- •Практическое задание 3
- •Индивидуальное задание
- •Список рекомендуемой литературы
- •Порядок выполнения лабораторных работ
- •Обозначения графические в схемах алгоритмов (гост 19.701-90)
- •Главное меню среды Турбо Паскаль
- •Функции клавиш
- •Содержание
- •Издательство
- •625000, Г. Тюмень, ул. Володарского, 38
- •625 039, Г. Тюмень, ул. Киевская, 52
Индивидуальное задание
Разработать программу на языке Паскаль, позволяющую выполнить вычисление выражения представленного в таблице 5. Оформить задание согласно варианту, соблюдая все этапы технологии программирования.
Таблица 5
№ |
x1 |
x2 |
a |
b |
c |
Вычислить |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
1 |
1 |
2 |
1.5 |
2 |
-0.7 |
|
2 |
1 |
2 |
0.7 |
- |
2.1 |
|
3 |
0 |
1.5 |
2 |
1.2 |
1 |
|
4 |
1 |
2 |
4.1 |
-2.3 |
- |
|
5 |
-1 |
1 |
0.5 |
2 |
1.5 |
|
6 |
2 |
4 |
0.5 |
1.3 |
- |
|
7 |
0 |
2 |
0.5 |
1 |
- |
|
8 |
-1 |
1 |
2.7 |
1.7 |
- |
|
9 |
0 |
π/2 |
2 |
0.7 |
0.5 |
|
10 |
1 |
0 |
0.5 |
2.9 |
1.5 |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|||
11 |
1 |
2 |
1.5 |
-1.2 |
- |
|
|||
12 |
1 |
2 |
0.5 |
1.7 |
2 |
|
|||
13 |
-1 |
1 |
0.5 |
1.2 |
- |
|
|||
14 |
1 |
2 |
0.5 |
3.1 |
- |
|
|||
15 |
1 |
2 |
0.5 |
3.2 |
- |
|
|||
16 |
0 |
1 |
1 |
2 |
4 |
|
|||
17 |
0 |
1 |
1 |
3 |
- |
|
|||
18 |
-1 |
2 |
1 |
2 |
- |
|
|||
19 |
1 |
2 |
2 |
3 |
1 |
|
|||
20 |
-1 |
1 |
2 |
π/6 |
0,5 |
|
Лабораторная работа № 3 Базовая структура ветвление. Условный оператор If ..Then
Цель: Приобрести теоретические знания и практические навыки при работе с условным оператором, блок-схемами, изображающими такие операторы. На частных примерах научиться составлять блок-схемы и программы; вводить и выполнять программы, используя компилятор Turbo Pascal.
Основные теоретические положения
Условный оператор предназначен для ветвления программы на два направления.
Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие.
Рассмотрим четыре варианта записи оператора IF:
If <условие> then P1 else P2 (полная форма ветвления);
If <условие> then P1 (не полная форма ветвления);
If (<условие1>) or (<условие2>) then P1 else P2;
If (<условие1>) and (<условие2>) then P1 else P2;
If not<условие> then P1 else P2;
If not<условие> then P1.
где
<условие>,<условие1>, <условие2> - переменные логического типа;
Р1, Р2 - простые или составные операторы.
В первом случае если условие истинно, то выполняется оператор P1, если ложно – то P2.
Во втором варианте записана краткая форма оператора.
В третьем и четвертом вариантах два условия объединены служебными словами or (или) и and (и). В результате объединения получается новая логическая переменная, истинность которой определяется согласно следующей таблицы 6.
Таблица 6
Таблица истинности сложных условий
И - истинно,
Л - ложно
(<условие1>) |
И |
И |
Л |
Л |
(<условие2>) |
И |
Л |
И |
Л |
(<условие1>) or (<условие2>) |
И |
И |
И |
Л |
(<условие1>) and (<условие2>) |
И |
Л |
Л |
Л |
Таким образом при применении логической связки:
And - истинно, когда истинны все составляющие логические выражение
Пример: ((x>=0) and (x<=5)) истинно для x из интервала [0;5] и ложно при x=6
Or - истинно, когда истинно хотя бы одно из логических выражений
Пример: ((a<5) or (a>9)) истинно для a=2 и ложно для a=6
В пятом и шестом вариантах применена логический оператор not(не). При применении Not - истинно, когда ложно исходное логическое выражение.
Пример: not(x>=0) истинно для x=-5 и ложно для x=6
Примечание:
Перед оператором else точка с запятой не ставится;
В операторах then и else могут быть использованы операторные скобки: begin ... end;, где записывается еще одна группа операторов;
Блок-схемы, изображающие условный оператор:
Алгоритм программы программы можно изображать геометрическими фигурами – блоками (приложение 2). Такая конструкция называется блок-схемой.
Условный оператор принято изображать ромбом. Так как существуют две формы ветвления: полная и не полная, то алгоритм записи этих форм будет различен (рис. 2).
Рис. 2 Графическое представление структуры ветвления.
а) полная форма ветвления; б) не полная форма ветвления
Пример 1
Постановка задачи
|
Написать программу для решения квадратного уравнения a∙x2+b∙x+c=0. |
Математическое описание
|
где
|
Блок-схема
|
|
Программа на языке Паскаль
|
Program P3; Uses crt; Var a,b,c,d,x1,x2:real; Begin a:=1; b:=3; c:=5; {другой способ ввода коэффициентов: write('Введите коэффициенты a,b,c :'); readln(a,b,c);} D:=sqr(b)-4*a*c; If D>=0 then Begin X1:=(-b+sqrt(D))/2/a; X2:=(-b-sqrt(D))/2/a; Writeln(x1,x2); End { перед else ; не ставится} Else Writeln(‘Действ.корней нет’); readkey; End. |
Отладка и получение результатов |
При значении коэффициентов: a:=1; b:=3; c:=5; при решении квадратного уравнения: Действ.корней нет |
Пример 2
Постановка задачи
|
Вычислить значение
у, если при значении x<0
|
Математическое описание
|
|
Блок-схема
|
|
Программа на языке Паскаль
|
Program Primer; Uses crt; var x: integer; Begin ClrScr; write('Введите значение x=') ; readln(x); if x<0 then write(' Y=',1/(x-1)) else write(' Y - не существует по условию'); if (x>=0) and (x<>5) then write(' Y=',1/(x-5)) else write(' Y - не существует по условию'); readkey; End. |
Отладка и получение результатов |
При х=-3 Y=-0,25; При х=5 y не существует по условию; При х=4 у=-1. |