Алгоритмы. Алгоритмизация. Алгоритмические языки


Cтроковые (литерные) выражения, значениями которых являются текcты



бет14/16
Дата15.02.2023
өлшемі171,59 Kb.
#68183
1   ...   8   9   10   11   12   13   14   15   16
Cтроковые (литерные) выражения, значениями которых являются текcты. В строковые выражения могут входить литерные и строковые константы, литерные и строковые переменные, литерные функции, разделенные знаками операции сцепки. Например, А + В означает присоединение строки В к концу строки А . Если А = "куст ", а В = "зеленый", то значение выражения А + В есть "куст зеленый".

5. Операторы (команды). Оператор — это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных. В состав опеpатоpов входят:

  • ключевые слова;

  • данные;

  • выpажения и т.д.

Операторы подpазделяются на исполняемые и неисполняемые. Неисполняемые опеpатоpы пpедназначены для описания данных и стpуктуpы пpогpаммы, а исполняемые — для выполнения pазличных действий (напpимеp, опеpатоp пpисваивания, опеpатоpы ввода и вывода, условный оператор, операторы цикла, оператор процедуры и дp.).

7.19. Что такое стандартная функция?


При решении различных задач с помощью компьютера бывает необходимо вычислить логарифм или модуль числа, синус угла и т.д.

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

Таблица стандартных функций школьного алгоритмического языка


Название и математическое обозначение функции

Указатель функции

Абсолютная величина (модуль) 

| х |

abs(x)

Корень квадратный



sqrt(x)

Натуральный логарифм 

ln x

ln(x)

Десятичный логарифм 

lg x

lg(x)

Экспонента (степень числа е ~ 2.72)

ex

exp(x)

Знак числа x ( - 1, если х<0; 0, если x = 0; 1, если x > 0) 

sign x

sign(x)

Целая часть х (т.е. максимальное целое число,не превосходящее х)


int(x)

Минимум из чисел х и y


min(x,y)

Максимум из чисел х и y


max(x,y)

Частное от деления целого х на целое y


div(x,y)

Остаток от деления целого х на целое y


mod(x,y)

Случайное число в диапазоне от 0 до х - 1


rnd(x)

Синус (угол в радианах) 

sin x

sin(x)

Косинус (угол в радианах)

cos x

cos(x)

Тангенс (угол в радианах)

tg x

tg(x)

Котангенс (угол в радианах)

ctg x

ctg(x)

Арксинус (главное значение в радианах)

arcsin x 

arcsin(x)

Арккосинус (главное значение в радианах)

arccos x

arccos(x)

Арктангенс (главное значение в радианах)

arctg x

arctg(x)

Арккотангенс (главное значение в радианах) 

arcctg x

arcctg(x)

В качестве аргументов функций можно использовать константы, переменные и выражения. Например:
 


sin ( 3.05 )
min ( a, 5)

sin ( x )
 min ( a, b )

sin ( 2 * y + t / 2 )
min ( a + b , a * b )

sin((exp(x) + 1) ** 2)
min(min(a, b), min(c, d))


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

7.20. Как записываются арифметические выражения?


Арифметические выражения записываются по следующим правилам:

  • Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.

  • Индексы элементов массивов записываются в квадратных (школьный АЯ, Pascal) или круглых (Basic) скобках.

  • Для обозначения переменных используются буквы латинского алфавита.

  • Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь — сложение и вычитание.

  • Операции одного старшинства выполняются слева направо. Однако, в школьном АЯ есть одно исключение из этого правила: операции возведения в степень выполняются справа налево. Так, выражение 2**(3**2) в школьном АЯ вычисляется как 2**(3**2) = 512. В языке QBasic аналогичное выражение 2^3^2 вычисляется как (2^3)^2 = 64. А в языке Pascal вообще не предусмотрена операция возведения в степень, в Pascal x^y записывается как exp(y*ln(x)), а x^y^z как exp(exp(z*ln(y))*ln(x)).

Примеры записи арифметических выражений


Математическая запись

Запись на школьном алгоритмическом языке



x * y / z



x / ( y * z ) или x / y / z



( a**3 + b**3 ) / ( b*c )



( a[i+1] + b[i-1] ) / ( 2*x*y )



( -b + sqrt(b*b - 4*a*c)) / ( 2*a )

(x<0)

sign(x) * abs(x) ** (1/5)



0.49 * exp(a*a - b*b) + ln(cos(a*a)) ** 3



x/(1 + x*x/(3 + (2*x)**3))

Типичные ошибки в записи выражений:
 


5x + 1
a + sin x
((a + b)/c**3

Пропущен знак умножения между 5 и х
Аргумент x функции sin x не заключен в скобки
Не хватает закрывающей скобки

7.21. Как записываются логические выражения?


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

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


Условие

Запись на школьном алгоритмическом языке

Дробная часть вещественого числа a равна нулю

int(a) = 0

Целое число a — четное

mod(a, 2) = 0

Целое число a — нечетное

mod(a, 2) = 1

Целое число k кратно семи

mod(a, 7) = 0

Каждое из чисел a, b положительно

(a>0) и (b>0)

Только одно из чисел a, b положительно

((a>0) и (b<=0)) или
((a<=0) 
и (b>0))

Хотя бы одно из чисел a, b, c является отрицательным

(a<0) или (b<0) или (c<0)

Число x удовлетворяет условию a < x < b 

(x>a) и (x

Число x имеет значение в промежутке [13]

(x>=1) и (x<=3)

Целые числа a и b имеют одинаковую четность

((mod(a, 2)=0) и (mod(b, 2)=0) или ((mod(a, 2)=1) и (mod(b, 2)=1))

Точка с координатами (x, y) лежит в круге радиуса r с центром в точке (a, b)

(x-a)**2 + (y-b)**2 < r*r

Уравнение ax^2 + bx + c = 0 не имеет действительных корней

b*b - 4*a*c < 0

Точка (x, y) принадлежит первой или третьей четверти

((x>0) и (y>0)) или
((x<0) 
и (y>0))

Точка (x, y) принадлежит внешности единичного круга с центром в начале координат или его второй четверти

(x*x + y*y > 1) или
((x*x + y*y <= 1) 
и (x<0) и (y>0))

Целые числа a и b являются взаимнопротивоположными

a = -b

Целые числа a и b являются взаимнообратными

a*b = 1

Число a больше среднего арифметического чисел b, c, d

a > (b+c+d) / 3

Число a не меньше среднего геометрического чисел b, c, d

a >= (b+c+d) ** (1/3)

Хотя бы одна из логических переменных F1 и F2 имеет значение да

F1 или F2

Обе логические переменые F1 и F2 имеют значение да

F1 и F2

Обе логические переменые F1 и F2 имеют значение нет

не F1 и не F2

Логическая переменная F1 имеет значение да, а логическая переменная F2 имеет значение нет

F1 и не F2

Только одна из логических переменных F1 и F2 имеет значение да

(F1 и не F2) или (F2 и не F1)

7.22. Упражнения


7.1. Запишите по правилам алгоритмического языка выражения:

a)



e)



б)



ж)



в)





Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   16




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет