Здавалка
Главная | Обратная связь

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



 

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

- 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+y2£1; y£0,

а подобласть 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.

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.