русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Правила записи стандартных функций.


Дата добавления: 2014-11-27; просмотров: 1107; Нарушение авторских прав


1. Имя функции записывается латинскими буквами.

2. Аргумент функции записывается в круглых скобках после имени функции.

3. Аргументом функции может быть : константа, переменная или арифметическое выражение.

Например :

 

ax2 + bx + c записывают так a*x*x +b*x + c

 

записывают так sqrt(b*b – 4*a*c)

записывают так (a + c – 2*b)/(3-x)

 

Рассмотрим примеры использования арифметических действий :

Правильно :

VAR a,b : integer;

r,s : integer;

............................

r:=a div b; {r=3 при a=7, b=2}

r:= a mod b; {r=1 при a=7,b=2}

s:=a*b;

s:=a div b;

Неправильно :

VAR a,b : integer;

r : integer;

r:=a/b; {если результат объявлен как целочисленный, нельзя использовать наклонную черту деления}

VAR a,b : real;

r : integer;

.................

r:=a div b; { нельзя использовать операцию div для вещественных чисел}

r:=a mod b; { операция mod используется только по отношению к целым числам}

 

VAR a,b : integer;

r : real;

....................

r:=a div b; {r должно быть целым}

Слева по отношению к оператору присваивания должен стоять более широкий тип.

VAR a : integer;

b : real;

c : real;

...........

c:=a+b {правильно}

a:=c+b; {неправильно}

 

Примеры: 23 div 5 = 4 23 mod 5 = 3

 

16 div 4 = 4 16 mod 4 = 0

5 div 8 = 0 5 mod 8 = 5

37 div 10 = 3 37 mod 10 = 7

Определить количество слив, если их делили на 5 человек:

write (‘Кол-во слив = ');

readln (a);

b:= a mod 5;

writeln(‘Осталось ‘,b,’ слив’);

Определить сколько попугаев уберется на удаве, если длина удава b, а длина попугая а.

write ('a='); readln (a);

write ('b='); readln (b);

c:= b div a;

writeln ('Поместится', с, ‘попугаев');

В любом выражении, если один или более операндов имеют вещественный тип, то результат будет так же вещественного типа. Операнды операторов div и mod всегда должны быть целого типа.



При вычислении выражений принят следующий приоритет: 1) *, /, div, mod; 2) +, -. порядок выполнения операций регулируется с помощью скобок. В Turbo Pascal нет операции возведения в степень.

Задание: Внести в программу составленную ранее необходимые изменения для высчитывания целой части от деления и остатка от деления первого числа на второе и вывода этих результатов на экран. а так же вывода на экран информации вида: a=b*c +r, где a – первое число, b – второе число, c – частное, r – остаток.

Целочисленное деление.

Задачи:

1. Дано расстояние в сантиметрах. Найти число полных метров в нем.

2. Дана масса в килограммах. Найти число полных тонн в ней.

3. Дан прямоугольник с размерами 543×130 мм. Сколько квадратов со стороной 130 мм можно отрезать от него.

4. С клавиатуры вводится двухзначное число, вычислить сумму его цифр.

5. С клавиатуры вводятся трехзначное (четырехзначное, пятизначное, шестизначное) число, вычислить сумму его цифр.

6. С клавиатуры вводится трехзначное число, необходимо получить новое число приписав к исходному справа число 45.

7. С клавиатуры вводится четырехзначное число, необходимо получить новое число приписав к нему слева цифру 9. Найти остаток от деления полученного числа на 3.

8. Дано трехзначное число. В нем зачеркнули первую слева цифру и приписали ее в начале. Найти полученное число.

9. Дано трехзначное число. Найти число, полученное при перестановке второй и третьей цифр заданного числа.

10. Дано число а1а2а3а4а5а6. Получить новое число следующего вида: а6а4а2а1. для полученного числа найти целую часть от деления на 8 и остаток от деления на 111.

11. Даны трехзначное и четырехзначные числа: а1а2а3 и b1b2b3b4. Получить новое число вида: b1a1b2a2b3a3b4. У нового числа найти целую часть и остаток от деления на число 35.

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

< - меньше;

> - больше;

= - равно;

<> - не равно;

>= - больше или равно;

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

Функции:

Арифметические функции:

 

abs (x) – модуль числа х, тип результата совпадает с типом аргумента;

sqr (x) – квадрат числа х, тип результата совпадает с типом аргумента;

sqrt (x) – квадратный корень из числа х, аргумент и результат должны иметь вещественный тип;

Пример: вычислить гипотенузу прямоугольного треугольника, если длина катетов a и b.

write ('a='); readln (a);

write ('b='); readln (b);

c:= sqrt (sqr(a) + sqr(b) );

writeln ('c=', с:5:2);

Вычислить модуль разности чисел a и b.

write ('a='); readln (a);

write ('b='); readln (b);

c:= abs (a - b);

writeln ('модуль=', с);

Тригонометрические функции:

 

sin (x) – синус числа х, выраженного в радианах, аргумент и результат должны иметь вещественный тип;

cos (x) – косинус числа х, выраженного в радианах, аргумент и результат должны иметь вещественный тип;

arctan (x) – арктангенс числа х, результат будет выражен в радианах, аргумент должен быть вещественного типа;

Пример: вычислить синус, косинус, тангенс и котангенс угла 30°.

a:=Pi/180*30;

s:=sin(a); c:=cos(a);

t:=s/c; ct:=c/s;

Экспонента и логарифм:

 

exp (x) – ех, аргумент и результат должны иметь вещественный тип;

ln (x) – натуральный логарифм числа х, аргумент и результат должны иметь вещественный тип;

exp (b*ln(a)) – степень числа, где а основание, а b показатель степени, т.е. ab.

Примеры вычисления степени:

(x-3)7 exp(7*ln(x-3))

2x exp(x*ln2)

exp(1/3*ln(x))

Преобразование типов:

Round (x) – перевод дробного числа в целое с округлением;

Tranc (х) – перевод дробного числа в целое отбрасыванием дробной части.

Примеры преобразования типов:

a1:=Round(2.34); а1=2

a2:=Trunc(2.34); а2=2

b1:=Round(8.51); b1=9

b2:=Trunc(8.51); b1=8

c1:=Round(-3.7); c1=-4

 

int (x) – целая часть числа х, аргумент и результат должны иметь вещественный тип;

frac (x) – дробная часть числа х, аргумент и результат должны иметь вещественный тип;

Изменение аргумента:

inc (x) – увеличение числа х на единицу, аргумент и результат должны быть целого типа;

inc (x, a) – увеличение числа х на число а, оба аргумента и результат должны быть целого типа;

dec (x) – уменьшение числа х на единицу, аргумент и результат должны быть целого типа;

dec (x, a) – уменьшение числа х на число а, оба аргумента и результат должны быть целого типа.

Генерация случайных чисел:

Randomize – установка датчика случайных чисел в исходное состояние;

Random - формирование случайного дробного числа из диапазона от 0 до 1.

Примеры получения дробных случайных чисел:

a:=Random; 0<a<1

x:=Random+10; 10<x<11

y:=5*Random; 0<y<5

c:=10*Random-5; -5<c<5

b:=7*Random-3;

-3<b<4

Random (n) – формирование случайного целого числа из диапазона от 0 до n-1, где n – натуральное число.

Примеры получения целых случайных чисел:

a:=Random(3); 0, 1, 2

x:=Random(10); 0, 1, 2,…,9

y:=Random(5)+3; 3, 4, 5,…,7

c:=Random(8)-5; -5, -4,…,2

Смоделировать 5-кратное бросание игрального кубика:

randomize;

for i=1 to 5 do begin

x:=random(6)+1;

writeln(i,‘ бросок: ',x,’очков’);

 

end;

Смоделировать 10-кратное бросание монеты:

randomize;

for i=1 to 10 do

if random(2)=0

then writeln(’орел’)

 

else writeln(’решка’);

Приоритетность выполнения действий:

1.Выражение в скобках

2.Функции

3.Знак числа (+,-), not, @

 

4.*, /, div, mod, and, shl, shr

 

5.+, -, or, xor

6.=, <>, <, >, <=, >=, in

 

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

 

a) y = 7a2 – 3a + 6;

b) ;

c) y = a3 – 2,5ab + 1,78a2 – 12,5b + 1;

d) y = 3,56(a + b)3 – 5,8b2 + 3,8a – 1,5;

e) ;

f) ;

g) .

Вывод на экран организовать в следующем виде: у1(1.22, 0.45)=…и т.д.



<== предыдущая лекция | следующая лекция ==>
Первая программа. | Контрольная работа № 1 по теме: «Линейные алгоритмы. Деление нацело».


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.692 сек.