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