Прочие процедуры и функции

Randomize -инициализация генератора случайных чисел.

Random : real – возвращает случайное число из интервала 0..1.

Random(N:longint) : longint – возвращает случайное число из интервала 0..N-1.

SizeOf(X): word – возвращает число байтов, занимаемых аргументом, который может быть именем переменной или именем типа.

ParamCount : word – возвращает число параметров, переданных программе в командной строке.

ParamStr(i:word) : string – возвращает указанный параметриз командной строки.

Операторы

Операторная часть определяет действия, выполняемые программой в виде последовательности операторов. В этом смысле Паскаль – язык последовательного программирования. Операторная часть заключается в Begin .. End., внутри которых операторы разделяются символом ‘;’. Операторы могут простыми и сложными.

Простые операторы

Простой оператор не содержит внутри себя никаких других операторов. К простым операторам относятся:

1. Оператор присваивания (:=).

2. Оператор обращения к процедуре (myproc(x, y)).

3. Оператор перехода (goto)

4. Пустой оператор (…;)

Пример 6.1 В программе выясняется, имеются или нет среди чисел cos(i3)×sin(i×n) (i Î 1 : n) меньшие 0,0001. Если имеются, то выводится ‘есть’, если нет – ‘нет’.

program p1;

label 1;

var i, n : integer;

begin read(n);

for i := 1 to n do

if cos(i*i*i) *sin(i*n) < 0,0001 then

Begin

write (‘есть’); goto 1

end;

write(‘нет’);

End.

В этой программе использованы оператор присваивания, оператор перехода и пустой оператор, который стоит после двоеточия перед последним end. Оператор обращения к процедуре описан в п.9

Задание 6.1

1. Запишите на Паскале следующие операторы присваивания:

а) y = 1 + x + Прочие процедуры и функции - student2.ru + Прочие процедуры и функции - student2.ru + Прочие процедуры и функции - student2.ru ;

б) f = 7,173 × 10-8 × Прочие процедуры и функции - student2.ru ;

в) b = е |x - y| + ln(1 + e) log2tg2.

2. Запишите операторы присваивания, которые переменной d присваивают:

а) среднее арифметическое чисел x, y, z;

б) расстояние между точками с координатами (x1, y1) и (x1, y1).

в) корень уравнения arctg (1 + lnx) = Прочие процедуры и функции - student2.ru .

г) площадь треугольника со сторонами a, b и c.

3. Какое значение будет иметь переменная x после выполнения операторов x := 10; x := x + 3?

4. Запишите оператор присваивания, который меняет знак у переменной t.

5. Поменяйте местами значения переменных x и y.

6. Вычислите дробную часть среднего арифметического трех заданных чисел.

7. По заданным коэффициентам и правым частям уравнений системы

Прочие процедуры и функции - student2.ru

найдите ее решение в предположении, что определитель системы не равен нулю.

8. Вычислите длину окружности, площадь круга и объем шара одного и того же радиуса.

9. Вычислите периметр и площадь прямоугольного треугольника по длинам двух катетов.

10. По координатам трех вершин некоторого треугольника найдите его площадь и периметр.

Сложные операторы

Сложные операторы – это операторы, задающие последовательное условное или циклическое выполнение операторов, а также оператор присоединения.

Составной оператор

Составной оператор (Begin .. End) – это последовательность операторов, заключенная в Begin .. End. Составной оператор можно использовать везде, где допустим простой оператор. Например,

if x > 3 then begin

a := b;

x := x * a

End

Else begin

x := y;

y := 0

end;

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

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

if <условие> then <оператор> [else <оператор>];

Пример 6.2 Вычислить значение функции y = Прочие процедуры и функции - student2.ru

program p3;

var x, a, b, y : real;

begin read (a, b, x); y := sin(x);

if (x >= a) and (x<=b) then y := y*y – 0.5E-2;

writeln(‘y=’:5, y:12:7)

End.

Задание 6.2

1. Написать программу вычисления функции

y = Прочие процедуры и функции - student2.ru

2. Написать программу выбора наибольшего из трех чисел.

3. Написать программу полного исследования совокупности корней биквадратного уравнения ax4 + bx2 + c = 0. Если корней нет, то должно быть выведено сообщение об этом, иначе должны быть выведены два или четыре корня.

Оператор выбора case

Оператор выбора caseявляется обобщением оператора if и позволяет сделать выбор из произвольного числа имеющихся вариантов. Он состоит из выражения, называемого селектором, и списка параметров, каждому из которых предшествует список констант выбора. Как и операторе if, здесь может присутствовать слово else, имеющее тот же смысл. Формат:

case <селектор> of

<const1> :<оператор>;

<const2> :<оператор>;

… … … .

[else : <оператор>;]

end;

Значение <селектора> последовательно сравнивается с указанными константами, и при совпадении выполняется заданный оператор. Допустимо использовать метку else(оператор, следующий за else, выполняется в том случае, когда значение селектора не совпало ни с одной из указанных констант). Тип селектора – произвольный скалярный тип. Тип констант в любом случае должен совпадать с типом селектора. Ниже приведены типичные формы записи оператора case.

Селектор целочисленного типа:

case i of

1 : z := i+ 10;

2 : z := i+ 100;

3 : z := i+ 1000;

end;

Селектор интервального типа:

case i of

1..10 : writeln(‘число ‘, i:4, ‘ в диапазоне 1 – 10’);

11..20 : writeln(‘число ‘, i:4, ‘ в диапазоне 11 – 20’);

21..30 : writeln(‘число ‘, i:4, ‘ в диапазоне 21 – 30’);

else writeln(‘число ‘, i:4, ‘ вне пределов контроля’)

end;

Селектор перечисляемого пользовательского типа:

varseason : (winter, spring, summer, autumn);

Begin

case season of

winter: writeln(‘winter’);

spring: writeln(‘spring’);

summer: writeln(‘summer’);

autumn: writeln(‘autumn);

end;

Пример 6.3 Программа вводит числа и печатающей сообщения: «Четная цифра» (для цифр 0, 2, 4, 6, 8), «Нечетная цифра» (для 1, 3, 5, 7, 9), «Число от 10 до 100» (для 10 -100) и «Отрицательное или больше 100» (для остальных). Программа заканчивает работу после ввода 9999.

program vybor;

var i : integer;

Begin

Repeat

readln(i); {Ввод числа}

case i of

0, 2, 4, 6, 8 : writeln(‘Четная цифра’);

1, 3, 5, 6, 9 : writeln(‘Нечетная цифра’);

10..100 : writeln(‘Число от 10 до 100’);

else writeln(‘Отрицательное или больше 100’);

end; {case}

until i = 9999;

End.

Задание 6.3

1. Программа вводит число. Если оно кратно трем, то на экране выводится сообщение «кратно трем», в противном случае – остаток от деления.

2. На диспетчерский пункт прибывают автобусы маршрутов 25, 20, 23. За один рейс они расходуют 3, 2.2, 3.4 литра бензина соответственно. Программа определяет расход горючего по прибытии автобуса соответствующего рейса. Номер автобуса – переменная целого типа, суммарный объем горючего – вещественного.

3. Программа определяет, кратно ли данное число семи. Если кратно, то на экране выводится сообщение «кратно 7», в противном случае – остаток от деления.

Наши рекомендации