Начала программирования Занятие 7. Вещественный тип данных. Вычисления по формулам. Арифметические операции. Деление целочисленное и с остатком. Общий вид цикла со счетчиком.
Опрос 1.Для чего можно использовать в программе циклы? 2.Дан цикл: нц для i от 0 до 10 кц a)Как называется переменная i? b)Сколько раз выполнится данный цикл? 3.Могут ли использоваться переменные в качестве границ «от-до» для переменной-счетчика?
Объявление переменных вещественного типа вещ а, б вещ число
Арифметические операции Операции «+», «-», «*», «/» могут применяться к переменным и константам как целого типа, так и вещественного. Операция «-» также может применяться к одному операнду – операция смены знака Если операнды одного типа, то результатом будет значение данного типа. Если операнды имеют разный тип (вещественные и целые), то результат будет вещественного типа.
Арифметические операции «div» - целочисленное деление «mod» - деление с остатком Операции «div» и «mod» могут применяться только вместе с аргументами целого типа. Результатом также является значение целого типа.
Примеры c := d := a * 3 a := 78 – b t := 2 / 0.5 count := mod(3, 2) k := div(k, 7) c := -a
Стандартные математические функции КуМир Стандартные математические функции можно посмотреть в меню «Инфо» -> «Алгоритмы», либо нажав F1. Далее стандартные алгоритмы. Вот некоторые из них: sqrt, sign, sin, cos, abs, tg, ctg и т.д.
Математическая запись: Запись на языке КуМир: (10*a-sqrt(3*x))/25.76 Арифметические выражения
Приоритет операций 1.Вычисление функций (sin, cos и т.д.) 2.Операция смены знака «-» (-а, -5) 3.*, / 4.+, - Выражение читается слева направо, в случае равенства приоритетов операций. Также как и в математике повлиять на очередность вычисления выражения можно воспользовавшись круглыми скобками. Например, (a+b)*(c-d), сложение и вычитание выполнятся раньше умножения.
Задание Вычислить значение выражений: 1.div(20, 6) = 3 2.mod(28, 3) * 7 – 15 = – 8 3.div(5, 2) / 2 + mod(4, 3) = 2
Задание Написать программу вычисляющую значение выражений (значения переменных задаются с клавиатуры): 1. 2.
Решение алг нач цел a, b, c { объявление переменных } ввод a, b, c { ввод данных с клавиатуры } вывод (a + b) / c + c / (a * b) { вывод результата на экран } кон
Решение алг нач цел a, b, c { объявление переменных } ввод a, b, c { ввод данных с клавиатуры } вывод (-b – sqrt(b * b – 4 * a * c)) / (-2 * a) { вывод результата на экран } кон
Общий вид цикла со счетчиком
Для цикла со счетчиком мы можем изменить значение, на которое меняется переменная-счетчик на каждом шаге цикла. Полная запись цикла со счетчиком: нц для I от first до last шаг step кц
Общий вид цикла со счетчиком В этом случае значение также меняется в пределах от first до last включительно, однако переменная счетчик меняется на каждом шаге не на 1 (i := i+1), а на значение step (i := i + step). step может принимать любые целые значения как положительные, так и отрицательные и даже 0.
Общий вид цикла со счетчиком Если step равно положительному числу, то переменная-счетчик увеличивается, в противном случае уменьшается, что приводит нас к тому, что значение first не всегда должно быть больше или равно значения last для того, чтобы цикл выполнился хотя бы 1 раз, это верно только для значение step > 0.
Общий вид цикла со счетчиком В случае step < 0 значение first должно быть больше или равно значению last. При step = 0 мы приходим к понятию бесконечный цикл, то есть такой цикл, который выполняется неограниченное число раз.
Пример Вывести на экран «столбиком» все целые числа от а до б включительно (а > б). алг нач цел i, а, б ввод а, б нц для i от 20 до 30 шаг 2 вывод i, нс кц кон
Рекуррентные формулы Рекуррентная формула формула вида a i = f(a i-1, a i-2,…, a i-k ) i > k, выражающая каждый член последовательности a i через k предыдущих членов. Примеры: арифметическая (a i = a i-1 + k) и геометрическая (a i = k*a i-1 ) прогрессии.
Сумма ряда S = … + n-1 + n S = 1 S = S + 2 S = S + 3 … S = S + n S = 0 S = S + 1 Таким образом S i = S i-1 + i, где i = 1…n
Реализация алг нач цел i, s s := 0 нц для i от 1 до 10 s := s + i кц вывод s кон
Задание Написать программу для подсчета произведения ряда от а до б (значения а и б задаются пользователем с клавиатуры).
Решение алг нач цел i, s, а, б { объявление переменных } ввод а, б { ввод данных с клавиатуры } s := 1 { присваиваем стартовое значение переменной, в } { которую присваивается значение произведения } нц для i от а до б { цикл для подсчета произведения} s := s * i { на каждом шаге накопленное произведение} { увеличиваем в i раз (текущее число)} кц вывод s { вывод результата } кон