Полезные формулыВычисление степени числа: ax =x*ln(a)=exp()x*ln(a)); Таким образом, нельзя возвести в степень отрицательное число. Для этого можно использовать операторы циклов. Для вычисления логарифма с основанием а используем: loga(x)=ln(x)/ln(a) В Turbo Pascal определены только три тригонометрические функции: sin, cos, arctg. Для вычисления остальных тригонометрических функций необходимо использовать известные соотношения: tg(x)=sin(x)/cos(x); ctg(x)=cos(x)/sin(x); csc(x)=1*sin(x); Оператор if используется для выбора одного из двух направлений дальнейшего хода программы (последовательности инструкций, которые должны быть выполнены). Выбор последовательности инструкций осуществляется во время выполнения программы в зависимости от выполнения условия. Алгоритм программы с разветвляющей структурой может быть представлен следующим образом: Формат записи. Вариант 1. if <Условие> then begin {эти инструкции выполняются, если Условие истинно} end else begin {эти инструкции выполняются, если Условие ложно} end; Вариант 2. if <Условие> then begin {эти инструкции выполняются, если Условие истинно} end. Один оператор if может входить в состав другого оператора if. В таком случае говорят о вложенности операторов: if <условие> then if < условие > then <операнд> else < операнд >; При вложенности операторов каждое else соответствует тому then, которое не-посредственно ему предшествует. Пример: if A < B then begin writeln(A < B); D:=A*B; end else begin writeln(A>=B); D:=A/B; end; Обычно при написании программы не рекомендуется использовать многократно вложенные друг в друга условные операторы if - программа становится громоздкой и ее трудно понимать. Считается, что число уровней вложения не должно превышать двух-трех. Но как быть, если необходимо проверить достаточно много условий и в зависимости от них выполнять те или иные действия? Для этих целей существует специальный оператор выбора case. Оператор выбора case является обобщением оператора if и позволяет сделать выбор из произвольного числа имеющихся вариантов. Как и в операторе if здесь может присутствовать слово else, имеющее тот же смысл. Инструкция case имеет вид: case <выражение -селектор> of <список констант 1>: begin <Инструкции 1;> end; <список констант 2>: begin <Инструкции 2;> end; ................................. <список констант N>: begin <Инструкции N;> end else begin <Инструкции> end; end; Выполнение оператора case начинается с вычисления выражения - селектора. Инструкции между begin и end выполняются в том случае, если выражения после слова case совпадает с константой из соответствующего списка. Если это не так, то выполняются инструкции, идущие после else, расположенные между begin и end. Если else отсутствует, выполняется оператор программы, следующий за case. Обратите внимание - в конце оператора case стоит ключевое слово end, для которого нет парного слова begin. При использовании оператора варианта должны выполнятся следующие правила: значение выражения, записанного после служебного слова Case, должно принадлежать дискретному типу; для целого типа они должны лежать в диапазоне - 32768... 32767. Использование вещественного и строкового типа не допустимо. Все константы, предшествующие операторам альтернатив, должны иметь тип, совместимый с типом выражения. Все константы в альтернативах должны быть уникальны в пределах оператора варианта (то есть повторения констант в альтернативах не допускаются); диапазоны не должны пересекаться и не должны содержать констант, указанных в данной или других альтернативах. Часто при решении задач приходится многократно вычислять значения по одним и тем же зависимостям для различных значений входящих в их величины. Такие многократно повторяемые участки вычислительного процесса называются циклами.
Использование циклов позволяет существенно сократить объем схемы алгоритма и длину соответствующей ей программы. Различают циклы с заданным и неизвестным числом повторений. С заданным числом повторений - цикл со счетчиком. С неизвестным числом повторений - цикл с предусловием, цикл с постусловием. Для организации цикла необходимо выполнить следующие действия: 1. Задать перед циклом начальное значение переменной, изменяющейся в цикле. 2. Изменять переменную перед каждым новым повторением цикла. проверять условие окончания или повторения цикла. 3. Управлять циклом, т.е. переходить к его началу, если он не закончен, или выходить из него по окончанию. Алгоритм цикла с предусловием - While. Серия команд будет исполняться до тех пор, пока выполняется условие, если условие не выполняется, то цикл завершает работу и выполняется следующая за циклом команда. Следует отметить, что число повторений серии команд цикла заранее не определено и, если при первом входе в цикл условие уже не выполняется, то серия команд в цикле не будет выполнена ни одного раза. Формат записи: while Условие выполнения цикла do begin {Инструкции} end; Алгоритм цикла с постусловием - Repeat. Серия команд будет исполняться до тех пор, пока не выполнится условие, если условие выполняется, то цикл завершает работу и выполняется следующая за циклом команда. Следует отметить, что число выполнений серии команд цикла заранее не определено и если при первом входе в цикл условие уже выполняется, то серия команд в цикле будет выполняться один раз. Формат записи: repeat {Инструкции} until Условие выхода из цикла Алгоритм цикла со счетчиком - For. Цикл со счетчиком или цикл с параметром является частным случаем цикла с предусловием. Отличие состоит в том, что в цикле со счетчиком задаются границы диапазона, по которым определяется количество повторений тела цикла. Формат записи: Вариант 1 (с увеличением счетчика) for Счетчик:= НачальноеЗначение to КонечноеЗначение do begin {Инструкции} end; Вариант 2 (с уменьшением счетчика) for Счетчик:= КонечноеЗначение downto НачальноеЗначение do begin {Инструкции} end; Вложенные циклы. В цикл, называемый внешним, могут входить один или несколько вложенных циклов, называемых внутренними. Организация как внешнего, так и внутреннего цикла осуществляется по тем же правилам, что и простого цикла. Параметры внешнего и внутреннего циклов разные и изменяются не одновременно, т.е. при одном значении параметра внешнего цикла параметр внутреннего цикла принимает поочередно все значения. Все простые типы данных (целые, вещественные, символьные, логические) имеют два характерных свойства: неделимость и упорядоченность их значений. Составные, или структурные, типы данных в отличие от простых задают множества сложных значений с одним общим именем. Структурные типы определяют некоторый способ образования новых типов из уже имеющихся. Существует несколько методов структурирования, каждый из которых отличается способом обращения к отдельным компонентам и, следовательно, способом обозначения компонентов, входящих в структурные данные. По способу организации и типу компонентов в сложных типах данных выделяют следующие разновидности:
В отличие от простых типов данных данные структурированного типа характеризуются множественностью образующих этот тип элементов, т.е. переменная или константа структурированного типа всегда имеет несколько компонентов. Каждый компонент в свою очередь может принадлежать структурированному типу, т.е. возможна вложенность типов. Если работа программы связана с хранением и обработкой большого количества однотипных переменных, для их представления в программе можно использовать массивы. Массив – это совокупность конечного числа элементов одного и того же типа, в котором каждый элемент имеет номер, а все элементы общее имя. Номер элемента называется индексом. Характеристики массива: · тип - общий тип всех элементов массива; · размерность (ранг) - количество индексов максима; · диапазон изменения индекса (индексов) - определяет количество элементов в массиве. Одномерный массив (вектор) - это пример массива, в котором элементы нумеруются одним индексом. В качестве номера (индекса) элемента массива используется выражение порядкового типа (чаще integer).
|