Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MET1.doc
Скачиваний:
18
Добавлен:
16.11.2019
Размер:
1.02 Mб
Скачать

Приоритет выполнения операций

Наивысшим приоритетом (выполняются в первую очередь) обладают операции вычисления встроенных функций, которые приведены в табл. 1. Затем выполняются операции:

- унарные not;

  • мультипликативные *, /, div, mod, and;

  • аддитивные +, -, or;

  • отношения =, <>, <, >, <=, >=, in

Приоритет выполнения операций можно изменить с помощью круглых скобок. Помните, сколько скобок открылось, столько их должно закрыться.

Примеры

1. Вычислите a = 23 .

PROGRAM ST;

VAR A : REAL; BEGIN

A:=EXP (3*LN(2)) ;

WRITELN(A) ; END.

2. Определите, какое значение (TRUE или FALSE) принимает булевая переменная b:= x>5 при заданном произвольно с экрана дисплея значении переменной х.

PROGRAM PR;

VAR B:BOOLEAN;

X: REAL;

BEGIN

WRITELN(’Введите х’);

READLN(X); B:=X>5;

WRITELN(’B=’,B)

END.

3.Вычислите a = , где b = 1 + , x = 1,426 и

y = -1,22.

PROGRAM PR3;

VAR X,Y,A,B:REAL;

BEGIN

X:=1.426; Y:=-1.22;

B:= 1+SQR(SIN(Y))/(3.0/5.0+X*X*X);

A:=5*COS(X-PI/6)/(1.0/4.0+SIN(Y)*SIN(Y));

WRITELN('B=',B,' A=',A); END.

4. Задано двузначное целое число. Определите сумму его цифр.

PROGRAM SUMMA;

USES CRT;

VAR N, C1, C2, SUM: INTEGER;

BEGIN

CLRSCR;

WRITELN('Введите двузначное число');

READLN(N);

C1:=N DIV 10;

C2:= N MOD 10;

SUM:=C1+C2;

WRITELN(‘Сумма цифр =’,SUM);

END.

Введите двузначное число

25

Получим сумму цифр - 7.

В данной программе использовался стандартный библиотечный модуль CRT. Описание стандартных модулей Турбо Паскаля приведено в приложении. В данном случае из модуля CRT используется процедура CLRSCR, которая очищает экран перед выводом информации на дисплей.

Варианты заданий

Составьте программу вычислений по следующим формулам.

  1. ,

где ;  = 0, 345; y = 3,43.

, где х = 1/ sin ;  = 1,3; y = 1,8.

  1. , где ; x = 3,723; y = 25,3.

  1. , где ; а = 2,08.

  1. , где a = sin(B) + cos(2B) + 1;

B = 1,75.

  1. , где , a = 0,87; x = 2,18.

  2. , где ,  = 3,18,  = 25,1.

  3. , где ;

y = 2,17; y = 0,23.

  1. , где ; b = 0,315.

  1. ; где ;  = 1,5; z = 1,21.

  1. , где ;

 = 0,5; y = 0,425.

  1. , где ;  = 0,5; x = 0,25.

  1. , где , Z = 5;

y = -7.

  1. ,

где ; Z = 1,5;  = 3,14.

  1. , где ; x = 1,5;

G = 2,2.

  1. , где ; x = 1,2; y = 2,2.

  1. , где ; y = 1,25.

  1. , где ; y = 1,43.

  2. , где ; y = 1,34.

  1. , где ; x = 1,21.

  2. , где ; y = -0,5.

  3. b = ln | (y - (x – y/z + x2/4), где ; x = 1,5; y = -1.

  4. , где ; y = 0,5.

  5. , где ; x = 52,8.

  6. , где ; x = 1,426.

Тема № 2 Разработка и отладка программ разветвляющегося вычислительного процесса. Логический условный оператор

Тема посвящена изучению основных возможностей языка для разветвляющегося алгоритма и составление программ с использованием логического условного оператора IF.

Разветвляющийся вычислительный процесс организовывается с помощью условных операторов, которые меняют последовательность выполнения операторов программы при выполнении того или иного логического условия (выражения).

В Паскаль-программах пользуются операторами ветвления -

1) IF логическое выражение THEN оператор;

2) IF логическое выражение THEN оператор № 1 ELSE оператор № 2;

Примечание. Перед ключевым словом ELSE точка с запятой в конструкции IF не ставится.

В операторе IF означает "если", THEN  "то", ELSE  "иначе".

Для записи логических условий используют следующие знаки логических отношений: <, >, <> (для обозначения ), <=, >=, =.

Для записи сложных логических выражений используют операции AND, OR, NOT (и, или, нет), например:

4 < х < 10  (x>4) AND (x<10)

a <5 или a>10  (a<5) OR (a>10)

Если условие TRUE (истина), то выполняется оператор, следующий за словом THEN. Но если условие FALSE (ложно), то будет выполняться оператор после ELSE.

Примеры

1. Дано значение Х. Вычислите y = , если x>=0; y = x2, если x<0.

PROGRAM FUNK;

USES CRT;

VAR X:INTEGER;

Y:REAL;

BEGIN

CLRSCR; WRITELN(‘Введите X’); READ(X);

IF X>=0 THEN Y :=SQRT(X) ELSE Y:=SQR(X);

WRITELN(‘Y=’,Y:10:4);

END.

2. Даны три числа. Найдите максимальное из них.

PROGRAM MAX;

USES CRT;

VAR A,B,C:INTEGER;

BEGIN

CLRSCR;

WRITELN(‘Введите A,B,C’); READ(A, B, C);

IF (A>B) AND (A>C) THEN WRITELN(‘A-MAX=’,A);

IF (B>A) AND (B>C) THEN WRITELN(‘B-MAX=’,B);

IF (C>B) AND (C>A) THEN WRITELN(‘C-MAX=’,C);

END.

В Паскаль-программах употребляется и оператор безусловного перехода

GOTO метка ;.

Метка представляет собой целое число без знака или идентификатор (символическое имя). Метка отделяется от оператора двоеточием. Она должна быть описана в разделе описаний с помощью оператора

LABEL метка; .

Часто бывает необходимым при выполнении того или иного условия вычислить несколько операторов программы. Это легко осуществить, объединив данные операторы в блок, начинающийся со слова BEGIN и заканчивающийся словом END, например:

IF A>2 THEN BEGIN Х:=А+2; Y:=A/5 END;.

В этом случае говорят о составном операторе и операторных скобках BEGIN - END;.

3. Задано целое число X, если оно кратно 5, то напечатайте его и завершите вычисления, иначе введите другое число.

PROGRAM CHISLO;

USES CRT;

VAR X:INTEGER;

LABEL 1,2;

BEGIN

CLRSCR;

2: WRITELN(‘Введите X’);

READ(X);

IF X MOD 5=0 THEN

BEGIN

WRITELN(X); GOTO 1; {Переход на конец программы}

END

ELSE GOTO 2; {Переход к вводу нового числа}

1:END.

4. Программа-сумматор и счетчик

Вычислите сумму и произведение пяти вещественных чисел, не превышающих значения 10,5.

PROGRAM SUMMA;

LABEL 1, met;

VAR : S,X,P:REAL; I:INEGER;

BEGIN

S:=0; P:=1; I:=0;

met: WRITELN(’Введите число ’); READ(X);

IF X>10.5 THEN GOTO met ELSE

BEGIN I:=I+1; S:=S+X; P:=P*X;

IF I<=5 THEN GOTO met ELSE GOTO 1;

END;

1: WRITELN(’S=’,S:10:4,’P=’,P:10:4,’I=’,I:2);

END.

5. Протабулируйте функцию

Y= если шаг изменения х - х = 0,2.

PROGRAM TAB;

CONST DX=0.2;

LABEL MET;

VAR X,Y:REAL;

BEGIN

X:=0;

MET: IF (X>=0) AND (X<=2) THEN Y:=SQR(SIN(X*X) ELSE Y:=EXP(X*X);

WRITELN('X=', X:6:2, 'Y=', Y:12:4 );

X:=X+DX;

IF X<=4 THEN GOTO MET;

END.

В последнем примере организация цикла осуществлена с помощью операторов IF … и GOTO MET, что не рекомендуется правилами структурного программирования. В дальнейшем старайтесь использовать специальные операторы цикла.

Варианты заданий

На интервале [A, B] задана функция y = F(x). В точке С, где A < C < B , функция имеет вид

Составьте программу для вычисления (табулирования) этой функции.

  1. y =

  1. y =

  1. y =

  2. y =

  3. y =

  4. y =

  5. y =

  6. y =

  7. у =

  8. у =

  9. Y =

  1. y =

  1. y =

  2. y =

  1. y =

  2. y =

  3. y =

  1. y =

  2. y =

  3. y =

  4. y =

  1. y =

  2. y =

  3. y =

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]