Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Ввод и вывод результатов вычислений





Для ввода исходных данных и вывода результатов вычислений используются процедуры ввода и вывода.

Процедура ввода состоит из идентификатора read (читать) или readln и следующим за ним в круглых скобках списком переменных. Переменные последовательно принимают значения, вводимые с клавиатуры и отображаемые на экране дисплея. Переменные отделяются друг от друга запятой.

Read (a, b, с);

readln(x, y);

При выполнении read программа приостанавливает свою работу и ждет, пока на клавиатуре будут набраны соответствующие данные. Если вводятся числа, то они отделяются друг от друга одним или несколькими пробелами или нажатием на клавишу Enter. После нажатия Enter введенные значения присваиваются переменным, имена которых указаны в скобках в процедуре read (по порядку).

Процедура вывода состоит из идентификатора write (записать) или writeln и следующего за ним в круглых скобках списка выражений, которые отделяются друг от друга запятой, т. Е.

write(x, y);

writeln(a, b,c);

Значения переменных и констант действительного типа при выводе на экран дисплея в стандартном представлении занимают 18 позиций в форме Е, что неудобно для восприятия.

На практике для целых констант и переменных указывается только количество позиций, а для действительных – общее количество позиций, занимаемых числом, а также количество позиций под дробную часть числа (задают формат вывода). Формат отделяется от имени выводимой переменной двоеточием, например:

write(¢ x =¢, х:7:3,¢ у =¢, у:8:4);

writeln(i:3, k:5, п:7);

При использовании процедуры writeln курсор на дисплее компьютера после вывода данных переместится в начало следующей строки, в отличие от процедуры write, когда курсор остается в той же строке. При вводе данных с помощью процедуры readln необходимо нажимать клавишу Enter после ввода значений всех переменных, содержащихся в списке ввода, соответствующем этому оператору.

Общая структура программы на Turbo Pascal

 

program имя программы; {заголовок программы}
uses crt;   {подключение модулей, в данном случае стандартного модуля crt }
label const type function procedure var меток, констант, типов, функций процедур переменных,
begin P 1; P2; …; Pn end. {основной блок операторов}

 

В программе имеет смысл включать только те разделы описаний, которые в ней используются.

Для каждой переменной, входящей в программу, должен быть задан ее тип в разделе описания переменных. Для этого используется служебное слово var (variable – переменная), например:

var х, у:real;

т, n, к:integer;

где integer (целый тип), real (действительный тип).

Если константа обозначается именем, то она должна быть описана в разделе описания констант, который начинается со служебного слова const, например:

const f = –2; z = 1.5;

Раздел операторов начинается со служебного слова begin (начало) и заканчивается словом end (конец) и точкой.

В Turbo Pascal имеется возможность применения модулей (библиотек). Turbo Pascal имеет несколько стандартных модулей (crt, dos, graph и т.п. Подключают модули с помощью служебного слова uses (использовать), после которого через запятую перечисляются названия модулей, которые будут использованы в программе.

При выполнении лабораторных работ мы будем пользоваться только модулем crt.

В нем сосредоточены процедуры и функции, управляющие текстовым режимом работы экрана (очистка экрана, переме­щение курсора в произвольную позицию экрана и т. П.).

Наиболее часто используют процедуры:

 

clrscr; – очистка экрана
readkey; – задержка экрана пользователя с исходными данными и результатами вычислений

 

Пример выполнения задания 1

Вычислить значение переменной

если

Значения переменных а и b ввести с клавиатуры, для задания значений констант использовать раздел описаний const.

Вывести на экран дисплея значения вспомогательных переменных х, у и z результат с точностью до 2-х десятичных знаков. Вывод резуль­тата сопроводить пояснительным текстом, например: ' х =', ' y =', z ='.

Примечание. Сначала вычисляется значение x, так как оно зависит от переменных a, b и констант к, т, определенных в программе, затем значения y, z.

рrogram labl;

uses crt;

const k =1.5; m = 2;

var a, b, x, y, z:real;

begin clrscr;

readln (a, b);

x:=(k – l/(a – 1) + sqrt(m))/(b + sqrt(b + 1.68));

у:=(sqr(cos(x))* cos(x) + ln(a /5)/ln(2))*exp(abs(xa))/

(k *sqr(sqr(k)) + sqrt(sqrt(abs(l – x))));

z:= (exp(– k * x)+exp(m * y))*sin(a * b + x * y);

writeln (‘ x =’, x:5: 2,y =’, y:5:2,’z=’, z:5:2);

readkey;

end.

Тема 2

Логические выражения

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

Логические выражения состоят из переменных и констант логического типа, логических операций и операций отношений. Логическое выражение может принимать значения true (истина) или false (ложь).

Отношения могут состоять из двух арифметических выражений, соединенных знаком операции отношения.

Операции отношения:

 

< меньше
< = меньше или равно
> больше
> = больше или равно
= равно
<> не равно.

 

В Паскале определены три логические операции:

 

not отрицание (не)
and логическое умножение (и)
or логическое сложение (или)

 

Эти операции применимы только к логическим операндам и дают результат того же типа.

Логическое умножение (A and В) дает значение true только в том случае, если и А, и В имеют значение true. Если хотя бы один операнд (или оба) имеет значение false, то результат также имеет значение false.

Логическое сложение (A or В) дает значение false в том и только в том случае, если А и В одновременно имеют значение false. Если хотя бы один операнд (или оба) имеет значение true, то результат также име­ет значение true.

Операция отрицания (not A) дает значение false, если А имеет значение true и, наоборот, дает значение true, если false.

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

 

1. not (выполняется в первую очередь).

2. *, /, div, mod, and.

3. +, ~, or.

4. <, <=, =, <>, >, >=.

Операции, указанные в строке с одним порядковым номером, имеют одинаковый приоритет и в логическом выражении выполняются слева направо.

В логическом выражении допускается использование только круглых скобок. При наличии скобок сначала выполняются действия в них (в первую очередь, в самых внутренних), а затем вне скобок. В круглые скобки обязательно заключаются отношения, стоящие слева и справа от логических операций and и or.

Примеры:

 

(x >= a) and (x <= b)
(x < a) or (x > b)
или
not ((x >= a) and (x <= b))

 

 

Запишем выражения, зависящие от координат точки (x,y) и принимающее значение TRUE, если точка принадлежит заштрихованной области, и FALSE, если не принадлежит.

 

(x >=3) and (x <=7) and (y >=-1) and (y <=2)
 
y -2 2 x

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

В Turbo Pascal имеется две формы условного оператора: полная и сокращенная. Полный условный оператор имеет вид:

if A then S 1 else S 2;

где if (если), then (то), else (иначе) – служебные слова,

А –логическое выражение,

S 1, S 2– операторы.

Перед then и else нельзя ставить точку с запятой.

Если логическое выражение А принимает значение true, то выполняется оператор S 1, в противном случае выполняется оператор S 2. Пример:

if x > 0 then y:= ln(x) else y:=1;

Когда необходимо выполнить несколько операторов, а не один, как в определении, используется составной оператор.

Составной оператор – это последовательность операторов, взятая в операторные скобки beginend, т. е. это конструкция вида

begin S 1;

S 2;

...;

Sk

end;

где S 1, S 2,…, Sk – операторы.

Пример: if abs(x) <= abs(y) then

begin z:= x + y;

write(z:5:2)

end

else

begin z:= sqr(x) – sqr(y);

write(z:5:2)

end;

Краткий условный оператор имеет вид:

if A then S;

где А – логическое выражение,

S –оператор.

Если выполняется условие (логическое выражение принимает значение true), то выполняется оператор S, иначе управление передается оператору, следующему за данным условным оператором.

 

Пример: if у < 1 then z:= ехр(у);

Пример: if(a > b)and (x > 0) then

begin с:= аb;

у:= х + 2

end;

 

Часто в программах требуется найти максимальное или минимальное значения среди нескольких переменных.

В Turbo Pascal нет стандартных функций для их нахождения. Определяют максимум или минимум, используя условный оператор.

 

Пример 1. Найти максимальное из значений двух переменных, т. Е. х = мах(a, b).

If а > b then х:= a else х:= b;

 

Пример 2. Найти максимальное из значений трех переменных, то есть х = мах(а, b, с).

If a > b then x:= a else x:= b;

if c > x then x:= c.

Примечание. При нахождении минимального значения знак неравенства меняется на противоположный.

Пример выполнения задания 2

Даны три целых числа A, B и C. Определить значения переменных X Y, Z. Вывести их на экран монитора.

Пусть D l и D 2 – заштрихованные части плоскости (см. рис.1) и пусть U определяется как функция X и Y. Вывести на экран значение функции U. Вывод результатов оформить пояснительным текстом.

Если то

иначе

Вычислить значение функции U по правилу:

 

 

Записи (x, y) Î D l, (x, y) Î D 2

означают, что точка с координатами (х, у) принадлежит области D 1или D 2.

Рис. 1

Program lab2;

uses crt;

var u, x, y, z:real;

a, b, c:integer;

begin clrscr;

writeln (‘Введите a, b, c ¢);

readln (a, b, c);

if a + b > с then begin x:= a + b;

y:= sqrt(a * a + b * b);

z:= ln(b + c)

end

else

begin x:= aс;

y:= a * ac * c;

z:=ln(a*c)

end;

writeln (‘ x =’, x:5:2,’ y =’, y:5:2,’ z =’, z:5:2)

if (y <=2* x /3 + 2) and (y >= x * x) then и:= x * x

else

if (sqrt(sqr(x) + sqr(y)) >= 2)

and (sqrt(sqr(x) + sqr(y))<=3) and (y < 0)

then u:= x + y

else u:= 0;

writeln(‘ u =’, u:7:2);

readkey

end.


Тема 3







ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.