Операторы ввода-вывода
Операторы ввода-вывода имеют вид: - 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 Все права принадлежат авторам размещенных материалов.
|