Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка 2012 .doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
388.61 Кб
Скачать

Индивидуальное задание

Разработать программу на языке Паскаль, позволяющую выполнить вычисление выражения представленного в таблице 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:

      1. If <условие> then P1 else P2 (полная форма ветвления);

      2. If <условие> then P1 (не полная форма ветвления);

      3. If (<условие1>) or (<условие2>) then P1 else P2;

      4. If (<условие1>) and (<условие2>) then P1 else P2;

      5. If not<условие> then P1 else P2;

      6. 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 , а при значении 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.