Структура программы Программа имеет вид: Описание переменных имеет вид: Описание переменных;

advertisement
Структура программы
Программа имеет вид:
Описание переменных;
Begin
Ввод исходных данных;
Вычисления;
Вывод результатов
End.
Описание переменных имеет вид:
Var <список переменных>: <тип списка переменных>;
Основные типы переменных:
Integer – целый
Real – вещественный
Boolean – логический (булевский)
Пример1.
Var x, y, z, time : real;
n : integer;
b1, b2 : boolean;
Оператор ввода:
Read( <список вводимых с экрана значений переменных>);
Или:
Readln( <список вводимых с экрана значений переменных>);
Во втором случае курсор устанавливается на начало следующей строки
экрана.
Пример2.
Read(x,y,z);
Оператор вывода:
Write(<список выводимых объектов>);
Или:
1
Writeln(<список выводимых объектов>);
Объектами могут быть переменные, выражения.
Строковые выражения заключаются в ‘ ’.
Пример3.
Writeln(‘площадь фигуры равна ’,s);
Writeln(‘площадь прямоугольника равна ’,a*b,’ периметр=’,2*(a+b));
Оператор присваивания имеет вид:
<переменная>:=<выражение>
Арифметическое выражение состоит их чисел, переменных,
знаков арифметических операций: +, -, *(умножить), / (разделить),
круглых скобок и указателей стандартных функций: sin, cos, ln (натуральный
логарифм), abs (абсолютная величина), sqr (возведение в квадрат),
sqrt(извлечение корня квадратного), arctan, exp(x) – e x .
Пример4.
Формула y 
ab
x cd
на паскале имеет вид:
Y:=(a+b)/(x*sqrt(abs(c*d)))
Пример5.
Написать программу вычисления площади s и периметра p прямоугольника,
если заданы длины двух его сторон a и b.
Var a,b,s,p:real;
Begin
Writeln(‘задайте длины сторон прямоугольника’);
Readln(a,b);
S:=a*b;
P:=2*(a+b);
Writeln(‘s=’,s,’ p=’,p)
End.
Выполните программу при различных значениях входных данных.
2
Линейные программы
1 Записать программы для вычислении значений по следующим формулам.
Вывести результаты.
a) y=
ab c

;
c ab
г) abc=
1 x2 ;
б) z=
x  y a2
;
.
a1 x  y
в) w= (1  x) 2 ;
д) rez= cos 2 x 3 ;
е) rez1= tgx ;
2 Как записать на Паскале величину основания натуральных логарифмов
(число е), если Вы забыли цифры этого числа? Как записать число  в
подобной ситуации? Запишите программу для вывода чисел е и  .
3 Записать программу, содержащую операторы присваивания, которые
переменной d присваивают
а) среднее арифметическое чисел x, y, z;
б) расстояние между точками с координатами ( x1 , y1 ) и ( x2 , y2 ) ;
в) площадь треугольника со сторонами a, b, c.
4 Записать программу, содержащую оператор присваивания, который меняет
знак у значения переменной z. Вывести z до и после перемены знака.
5 Записать программу, в которой меняются местами значения переменных x
и y. Вывести x и y до и после обмена значениями.
6 Поменять местами значения переменных x, y и z так, чтобы в x оказалось
значение переменной y, в у – значение переменной z, а в z – прежнее
значение переменной x. Вывести x, y и z до и после обмена значениями.
3
ОПЕРАТОРЫ: УСЛОВНЫЙ, СОСТАВНОЙ
Условный оператор служит для выбора одного из возможных
вариантов выполнения программы
if <логическое выражение > then
<оператор 1>
else
<оператор2>;
Логическое выражение возвращает тип boolean - логический тип, т.е.
результатом будет одно из логических значений: true (истина) или
false
(ложь). Если проверка логического выражения даёт результат true, то
выполняется оператор1, если нет – оператор2.
Сокращённая форма условного оператора
if <логическое выражение > then
<оператор 1>.
Если логическое выражение равно true, то оператор1 будет выполнен. Если
же логическое выражение равно false, то будет выполнен следующий за if
оператор.
Простое логическое выражение использует знаки операций: =, >=, >, <=, <,
<> (не равно).
Пример6.
Z=1/x
Программа:
Var x:intrger;
z:real;
Begin
Writeln(‘x=?’);
Readln(x);
If x<>0 then
Writeln(‘z=’,1/x)
Else
Writeln(‘знаменатель равен нулю’)
End.
Выполните программу при различных значениях входных данных.
4
Пример7.
y8
 y, если
 2
z   y , если y  8
 y 3 , если y  8

Программа:
Var z,y : real;
Begin
Writeln(‘введите y’);
Readln(y);
If y<8 then
z:=y
else
if y=8 then
Z:=y*y
else
Z:=y*y*y;
Writeln(‘z=’,z:9:4)
End.
Выполните программу при различных значениях входных данных:
Y=7, y=8, y=10
Обратите внимание на то, что очень распространённой ошибкой при
написании
программ,
имеющих
тройное
разветвление,
использование приведённого ниже фрагмента для вычисления z:
If y<8 then
z:=y;
If y=8 then
Z:=y*y
else
Z:=y*y*y;
Что здесь не так? Проследите, какое значение получит z, если y<8?
5
является
Если <оператор1>и (или)
<оператор2> содержит более одного
оператора, то нужно использовать составной оператор.
Рассмотрим
пример: даны два числа a и b, большее из них поместить в переменную a,
меньшее – в переменную b.
Program two;
Var a,b,c : real;
Begin
Writeln(‘введите два числа’);
Readln(a,b);
If b>a then
Begin
c:=a; a: =b; b:=c //составной оператор
End;
Writeln(‘большее =’,a:7:2,’ меньшее=’,b:7:2)
End.
Составной оператор – это последовательность операторов , разделенных
символом ; и заключенных в begin и end/
ЗАДАНИЯ
1 y=max{a,b};
2 y=max{a,b,c};
3 z
4 w
x2
x  x2
2
1
 sin x
xz
5 y  ax 2  bx  c 
1
ax  bx  c
2
6 w={min{x,max{y,z}}
x yt
, x  y  t}
3
7 z
xt t
1  min 2 {
, x  y  t}
3
min{
6
 x 2  5 x  6,
8 y  
1
2
 x  5 x  6 ,
x2
x2
7
Related documents
Download