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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



№ п/п Арифметические Логические Отношения Другие
    *, /, div, mod +,-   NOT аnd,shl,shr, оr, xor     <=,>=,<>,<,>,= @ адресное преобразование   in

 

Для реализации лабораторных работ необходима среда Borland Pascal версии 7.0. Ее запуск производится через файл bp.exe (BP7\BIN\bp.exe).

Пример 1. Вычислить площадь прямоугольника по размерам его сторон А и В. Обозначим площадь переменной S, тогда необходимо найти S=A*B.

Программа набирается в окне редактора и компилируется [F9]:

Program RECT; {заголовок программы с именем RECT}

const {блок описания констант}

A=2; B=3; {определение констант А и В}

var {блок описания переменных}

S:integer; {определение переменной S целым типом}

begin {начало основного блока программы}

S:=A*B; {оператор присваивания}

write('Площадь прямоугольника = ',S); {процедура вывода}

end. {конец основного блока}

В результате выполнения программы (Ctrl+F9) на экран выводится сообщение:

Площадь прямоугольника = 6.

Пример 2. Найти площадь равностороннего треугольника. Если сто­роны треугольника имеют размер А, то его площадь S = A2 sin(π/3)/2.

 

Текст программы

Program TREUG;

var

A, S: real;

Begin

writeln('Введите A'); {процедура вывода текста}

read(A); {процедура ввода}

S: = SQR (A)*sin(PI/3)/2;

writeln ('Результат: S=', S: 6: 2,' для A=', A);

readln {Задержка до нажатия клавиши <ENTER>}

End.

 

После выполнения программы на экран выводится сообщение:

Результат: S = 10.83 для А = 5.

 

Предварительно рассчитанный на калькуляторе результат для А = 5 при подготовке к лабораторной работе составил S = 10.8253, что подтверждает верность программы.

 

Задание 1 ( программа 1_1)

x1 x2 a b c Вычислить
1 2 3 4 5 6 7
      1.5   -0.7
      0.7 - 2.1
    1.5   1.2  
      4.1 -2.3 -
  -1   0.5   1.5
      0.5 1.3 -
      0.5   -
  -1   2.7 1.7 -
    π/2   0.7 0.5
      0.5 2.9 1.5
      1.5 -1.2 -
      0.5 1.7  

 

Лабораторная работа 2

Программирование разветвленных алгоритмов.

Операторы передачи управления

 

Структура условного оператора передачи управления:

IF <условие> THEN <оператор 1> ELSE <оператор 2>;

(Если) (то) (иначе) - ключевые слова,

где <условие> - это произвольное выражение логического типа, которое может принимать два значения: истина (TRUE) и ложь (FALSE);

<оператор> - любой оператор языка Паскаль.

Сокращенная форма условного оператора:

IF <условие> THEN <оператор>;

Оператор безусловной передачи управления GOTO <метка> позволяет перейти к строке с идентификатором <метка>. В языке Турбо Паскаль до­пускается использовать в качестве меток также целые числа без знака [0.. 9999].

Метка от оператора отделяется в программе двоеточием (':').

Все использованные в программе метки должны быть описаны в разде­ле описаний программы с указанием ключевого слова 'LABEL'.

Оператор выбора CASE позволяет в зависимости от значения ка­кой-либо переменной или выражения <ключа_выбора> выполнить те или иные операторы, помеченные соответствующими константами.

Структура оператора:

CASE <ключ_выбора> OF

<конст.выбора1>:<оператор1>;

<конст.выбора2>:<оператор2>;

...

<конст.выбораN>:<операторN>

ELSE <оператор>

END;

где <ключ выбора> - выражение (переменная) любого порядкового типа;

<конст.выбора> - константа того же типа, что и <ключ.выбора>;

<оператор> - произвольный оператор ТП.

Пример. Составить программу для начисления зарплаты согласно следующе -му правилу: если стаж работы сотрудника менее пяти лет, то зарплата равна 50$, при стаже работы от пяти до 15 лет - 100$, свыше 15 лет зарплата повышается с каждым годом на 10$, причем при стаже превышающем 30 лет она составляет 300$.

Для программирования решения этой задачи определим математичес­кую формулировку задачи:

50, если ST < 5;

ZP= 100, если 5 ≤ST £ 15;

100+ (ST -15)*10, если 15 < ST≤ 30;

300, если ST > 30;

где ZP - зарплата, ST - стаж работы.

 

Program zarplata;

var ST: byte; {ST - стаж (байтовый (целый) тип)}

ZP: real; {ZP - зарплата (вещественный тип)}

Begin

writeln ('введите стаж');

read(ST); ввод стажа

if ST<5 then ZP:=50 условный оператор

else if ST<15 then ZP:=100 вложенный условный оператор

else if ST>=30 then ZP:=300

else ZP:=100+(ST-15)*10;

writeln ('зарплата=',ZP:10:2,' $')

End.

 

Второй вариант реализации задачи:

Program zarplata2;

var ST: byte; {стаж (байтовый) тип)}

ZP: real; {зарплата (вещественный тип)}

begin

writeln('введите стаж');

read(ST); {ввод стажа}

case ST of {выбор из }

1..4: ZP:=50;

5..15: ZP:=100;

16..29: ZP:=100+(ST-15)*10;

else ZP:=300

end;

writeln('зарплата=',ZP:10:2,' $'); {вывод результата}

end.

Задание 1 (программа 2_1)

Вычислить значение функции в зависимости от интервала, в который попадает вводимый с клавиатуры аргумент:

1. Для t [0,3], at2lnt при 1 ,

где a=-0.5,b=2 z= 1 при t<1,

eatcosbt при t>2,

 

2. Для x [0,4], при x>2,

где а=2.3 f= х при 0.3< x £ 2,

cos(x-a) при x ,

 
 


3. Для x [0,7], (a+b)/(ex+cosx) при 0 £ x<2.3,

где a=-2.7,b=-0.27 z= (a+b)/(x+1) при 2.3£ x<5,

ex+sinx при 7 ,

 

4. Для i [7,12], ai4+bi при I< 10,

где a=2.2,b=0.3. y= tg(i+0.5) при I= 10,

e2i+ при I>10,

 

 

5. Для x [0.9,5], x2-7/x2 при x<1.3,

где a=1.5 y= ax3+7 при 1.3 £ x<3,

lg(x+7 ) при x ,

 

6. Для t [-1.4], при t<0.1,

где a=2.1,b=0.37. z= at+b при 0.1£ t< 2,

при t ,

7. Для x [0,6], a esinx+2.5 при x<0.3,

где a=1.5. y = ecosx+a при 0.3£ x<4,

(sin x)/(a+ex) при x ³ 4,

 

8. Для x [1,2], a/x+bx2-c при x ,

где a=1.8,b=-0.5, c=3.5 y= (a+bx)/ при x>1.2,

 

 

9. Для t [1,5], t при t>a,

где a=2.5 z= t sin at при t=a,

e-at cos at при t<a,

 

10. Для x [0,4], e-bx sin bx при x<2.3,

где a=1,b=3. y= сos bx при 2.3 ,

e-ax cos bx при x

 

11. Для t [0.5,3], at2-b при t<a,

где a=1.3,b=6.5 z= a-b при a

a t2/3- при t>b,

 
 


12. Для xÎ[0,2], |e-2x sin bx| при x >1,

где b=-2.9 y = cos bx при x = 1,

e-x cos bx при x < 1,

 

 

Лабораторная работа 3



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 80; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.8.110 (0.037 с.)