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

Оператор присваивания

Общий вид - V:=A.

Здесь V - переменная, A - выражение, := - операция присваивания. Выражение А может содержать константы, переменные, названия функций, знаки операций и скобки. Например:

y:= 2*x+3*sin(sqr(x))/cos(z);

k:= a < b * m.

Для возведения в степень используется тождество ax=exlna. Поэтому при необходимости вычислить y=ax, можно записать оператор:

y:=exp(x*ln(a)).

В выражении действия выполняются слева направо с соблюдением следующего старшинства:

1) выражение в скобках;

2) not;

3) *, /, div, mod, and;

4) +, -, or;

5) =, <>, <, >, <=, >=, in.

Переменной типа integer нельзя присваивать выражения типа real.

Операторы ввода-вывода

Операторы ввода-вывода имеют вид:

- read (список ввода);

- readln (список ввода);

- write (список вывода);

- writeln (список вывода).

Операторы readln и writeln осуществляют после ввода и вывода перевод строки. В списках ввода - вывода перечисляются через запятую имена переменных. Например:

read(k,ab); writeln(y1,zk).

На печать можно выводить произвольный набор символов, заключенный в апострофы, например:

writeln(’ x1=’,x1).

Для выводимых переменных можно явно указать число позиций, например, для целой переменной

write(’k=’, k:6),

а для вещественной

write(’k=’, k:10:4),

где 10 - общее число позиций, из них 4 - под дробную часть.

Условный оператор

Общий вид –

if a then p1 else p2;

Здесь a - булевское (логическое) выражение; p1,p2 - операторы.

Булевское выражение может принимать одно из двух значений: true (истина) либо false (ложь).

Простейшими логическими выражениями являются выражения отношения:

a1 op a2.

Здесь a1, a2 - выражения, а op - операция отношения (=, <>, <, >, <=, и т.д.).

К булевским данных применимые логические операции and, or, not, xor. Булевское выражение определяет условие в операторе if, истинность которой ведет к выполнению оператора p1, а ложность - выполнение оператора p2.

Например:

if (X>5) and (Y<=10)

then

Z:=8

else

Z:= X+4;

Конструкции else р2 может отсутствовать.

Примеры выполнение задания лабораторной работы

Пример 1. Вычислить y = 2cos2x, где x=2lna; a=6,7.

Порядок работы:

Шаг 1. Вводим a.

Шаг 2. Вычисляем x = 2lna.

Шаг 3. Вычисляем y = 2cos2x.

Шаг 4. Печатаем x, y.

Шаг 5. Останов.

Блок-схема

Пример 2.Составить программу для вычисления функции

,

где b = x(arctgy + e-x+3); x = 4,2; y = 1,7.

Паскаль - программа для данного примера имеет вид

program pr2;

var x,y,a,b,c,d:real;

begin

x:=4.2; y:=1.7;

b:=x*(arctan(y)+exp(-x+3));

c:=sqrt(abs(x-1))-exp(ln(abs(b))/3);

d:=1+sqr(x)/2+sqr(sqr(y))/5;

a:=c/d;

writeln(‘ b=‘,b,’ a=‘,a)

End.

Пример 3. Треугольник задан длинами сторон. Найти радиусы вписанной и описанной окружностей.

Если стороны треугольника обозначить через а,b,c, полупериметр через р, а площадь через s, то можем записать:

.

Паскаль-программа для данного примера имеет вид

program pr3;

uses crt;

var a,b,c,p,s,rb,rm:real;

z:char;

begin clrscr;

WRITE('ВВЕДИ СТОРОНЫ ТРЕУГОЛЬНИКА: ');

readln(a,b,c);

p:=(a+b+c)/2;

s:=sqrt(p*(p-a)*(p-b)*(p-c));

rm:=s/p;

rb:=a*b*c/(4*s);

writeln(‘ a= ‘,a,‘ b= ‘,b,’ c= ‘,c);

writeln(‘ rm= ‘,rm,‘ rb= ‘,rb);

z:=readkey

end.

Пример 4. Вычислить корни квадратного уравнения

ax2 + bx + c = 0

при условии d = b2-4ac 0 по формуле

.

В противном случае, то есть при d<0, предусмотреть вывод сообщения «Действительных корней нет».

Порядок работы:

Шаг 1. Вводим a, b, c.

Шаг 2. Вычисляем d = b2-4ac.

Блок-схема

Шаг 3. Если d<0, выводим сообщения «Действительных корней нет», останов.

Шаг 4. Вычисляем

.

Шаг 5. Выводим x1, x2.

Шаг 6. Останов.

Пример 5. Дано действительное число x. Составить программу для вычисления функции f(x), если

Программа вычисления f(x) имеет вид

program pr5_1;

uses crt;

var x,y:real; k:char;

begin clrscr;

write('x ? '); readln(x);

if x<=0 then

y:=sqr(x)*x

else

if (x>0) and (x<=2) then

y:=sqr(x)+4*x+5

else

y:=sqr(x)-sin(pi*x*x/3);

writeln(' x= ',x:5:1,' y = ',y:5:1);

k:=readkey

end.

или

program pr5_2;

uses crt;

var x,y:real; k:char;

begin clrscr;

write('x ? '); readln(x);

if x<=0 then y:=sqr(x)*x;

if (x>0) and (x<=2) then y:=sqr(x)+4*x+5;

if x>2 then y:=sqr(x)-sin(pi*x*x/3);

writeln(' x= ',x:5:1,' y = ',y:5:1);

k:=readkey

end.

Пример 6. Пусть D - заштрихованная часть плоскости (рис. 1). Функция U определяется по х и y следующим образом:

Даны два числаx,y. Составить программу для вычисления значения U.

Для описания участка D составим уравнения линий, которые ограничивают часть плоскости. Получим:

1) уравнение линии 1 x=-1;

2) уравнение линии 2 x2+y2=1;

3) уравнение линии 3 определим из общего уравнения прямой. Для этого подставим к уравнению прямой y=ax+b координаты двух точек (-1;1) и (1;0). Решив полученную систему линейных уравнений, найдем уравнения линии 3: y=-0,5x+0,5.

Спланируем участок D на две подобласти: A, что лежит ниже оси OX, и B, что лежит выше оси OX. Тогда подобласть A можно описать системой неравенств:

x2+y21; y0,

а подобласть B - системой неравенств:

y 0,5x +0,5; x -1; y 0.

Участок D определится как сумма подобластей A и B. Тогда программа вычисления U приобретет вид

program pr6;

uses crt;

var x,y,u,z:real; a,b,d:boolean; k:char;

begin clrscr;

writeln(‘x,y? ‘); readln(x,y);

a:=(sqr(x)+sqr(y)<=1) and (y<=0);

b:=(x>=-1) and (y<=-0.5*x+0.5) and (y>=0);

d:=a or b;

if d then

begin

z:=(x/pi)/sqrt(1-sqr(x/pi));

u:=exp(x-y)+arctan(z)

end

else

u:=exp(sin(y)*ln(abs(x)))*ln(abs(x*sqr(y)));

writeln(‘D=’,D,’x=’,x:5:1,’y=’,y:5:1,’u=’,u:5:1);

k:=readkey

end.

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