Стандартные функции и операторы языка Паскаль. Cтандартные функции. Стандартные функции - это заранее разработанные процедуры и функции, объединенные.

Презентация:



Advertisements
Похожие презентации
Цель : Показать сходство и различие вложенных циклов в языках программирования QBasic и Turbo Pascal 7.0.
Advertisements

Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
Циклический алгоритм –это алгоритм команды которого выполняются несколько раз подряд. В языке Паскаль имеется три различных оператора цикла: 1. Оператор.
Презентация на тему: «Программирование циклических структур». Составила: учитель информатики Чура Н.А. Составила: учитель информатики Чура Н.А.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Организация программ циклической структуры. Виды циклов: Цикл с предусловием (while) Цикл с постусловием (repeat) Цикл с параметром (for)
Организация повторений в Паскале. Найди ошибки: Program new Uses crt; Var a, b, c integer Begin clrscr Readln(a,b); C:=a*a+b*b Wreteln(c); End.
Циклы на языке Pascal повторение. Циклы позволяют многократно выполнять одну или группу команд, причем в тексте программы нет необходимости записывать.
Знакомство с языком Паскаль Структура программы Ветвление на Паскале Циклические программы Пример линейной программы Пример программы с ветвлением Пример.
Операторы языка Паскаль. Операторы повтора (цикла)
Разветвляющиеся алгоритмы if Оператор условия if.
Повторение действий в turbo pascal. Циклы.
Организация циклов Компьютер может заданное число раз выполнить одни и те же действия с разными данными. Повторяющиеся действия в программировании называются.
Организация повторений в Паскале. i,1,n Действие 1 Действие 2 i,1,n Действие 1 Действие 2 FOR i:=1 TO N DO BEGIN действие 1; действие 2; END; FOR i:=1.
Алгоритмическая структура цикл Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одного и того же участка программы.
Операторы цикла. Циклический процесс, или просто цикл, – это повторение одних и тех же действий. Последовательность действий, которые повторяются в цикле,
Презентация на тему: «Программирование циклических структур». Составила: учитель информатики Чура Н.А. Составила: учитель информатики Чура Н.А.
Цикл - это специальная конструкция языка, позволяющая запрограммировать многократное выполнение определённого блока команд. Сам блок команд называется.
Арифметические выражения. Выражение - это формальное правило для вычисления некоторого значения. В зависимости от типа значения выражения можно разделить.
Циклические конструкции 1. Цикл с предусловием предусловием 2. Цикл с постусловием постусловием 3. Цикл с параметром параметром 4. Вложенные циклы Вложенные.
Транксрипт:

Стандартные функции и операторы языка Паскаль

Cтандартные функции. Стандартные функции - это заранее разработанные процедуры и функции, объединенные в стандартные модули.Ниже рассмотрены наиболее употребительные стандартные функции, состав и назначение остальных стандартных функции излагается в описании соответствующего стандартного модуля. Арифметические функции можно использовать только с величинами целого и вещественного типов: 1) abs - абсолютная величина 2)sqr -возведение в квадрат 3)sin -синус 4)cos - косинус 5)arctan -арктангенс 6)ln -натуральный логарифм 7)exp -экспонента 8)sqrt -корень квадратный 9)pi -пи=3,

для величин типа REAL определены следующие функции: 10)trunc - отбрасывание дробной части (trunc(2.78)=2); 11) round - округление (round (2.78)=3). Значение функции 1)-9) имеют тип REAL, функций 10)и 11-тип INТEGER. Заметим,что ее значение также имеет тип INТEGER.

Функции для величин порядкового типа. Для величин порядкового типа применимы функции: pred - предыдущее значение (пример :pred(6)=5; pred('d')='c'); succ - следующее значение (пример : succ(1)=2; succ(-3)=-2); 3)ord - возвращает порядковый номер значения (например, ord('+')=43). 4)odd - проверка аргумента (типа longint) на нечетность. результат равен true,если аргумент нечетный, false -если четный. При применении функции pred к первому элементу последовательности, а функции succ - к последнему элементу возникает ошибка.

Операторы языка Паскаль Оператор языка Паскаль представляет собой некоторый неделимый элемент программы, который позволяет выполнения следующего действия. b:=a+c; Отличительной чертой оператора по отношению к другим элементам программы является то, что под ним всегда подразумевается какое-либо действие. Все операторы можно разделить на: простые; структурированные.

I. Простые операторы I. К простым операторам относятся те, которые не содержат в себе другие операторы: оператор присваивания; оператор безусловного перехода; оператор обращения к функции; пустой оператор.

Общие схемы: 1) := ; идентифи выражение катар переменной или функции Вычисляется выражение в правой части присваивания, после этого переменная указанная в правой части получает вычисленное значение. При этом тип выражения должен быть совместим по присваиванию с типом переменных. Исключение: переменная- вещественный тип, выражение – целый тип.

2) оператор перехода: Этот оператор вызывает передачу управления оператору, которому предшествует метка. Goto Существует 4 безусловные функции: Break - позволяет досрочно закончить цикл Continue - позволяет начать новый этап цикла, даже если предыдущий не завершен. Exit - позволяет завершить работу текущего программного блока. Halt(n) - позволяет завершить работу программы с кодом завершения n.

3) (параметры); идентификатар переменной или функции. Summa(x,y,z); 4)Пустой оператор: ;

II Структурированные операторы: Это операторы, состоящие из других операторов.

1) составной оператор: оператор, который начинается с begin и заканчивается end; begin on 1 ; оп 2; End; Задает последовательное выполнение операторов входящих в него в порядке один за другим.

2)Условный оператор: Схема полного условного оператора if then else Выполнение сложного оператора начинается с вычисления значения логического выражения, записанного в условии. Простой условный оператор записывается из равенств и неравенств, сложный условный оператор записывается с помощью: if (x>y) and (x>z) Если условие истинно то выполняется оператор 1, в противном случае оператор 2.

Если в качестве оператора 1 и 2 используется серия операторов, то они заключаются в скобки. if then begin on 1 ; оп 2; end else begin on 1 ; оп 2; end; (перед else ; не ставится)

Пример Вывести на экран большее из двух чисел: Program primer1; var x,y: integer; begin writeln (введите 2 числа); readln (x,y); if x>y then writeln (x) else writeln (y); readln; end.

Вложенный оператор условия: Существует вложенный оператор условия. В этом случае после служебного слова then и else записывается новый условный оператор. Пример: Если a b и a c, то все числа заменить на их квадраты. Если a>b и a>c, то заменить наибольшим из них. В противном случае сменить знак каждого числа.

Оператор варианта. Этот оператор дает возможность выполнять один из нескольких операторов, в зависимости от значения выражения, он является обобщением условия. Схема: Case : ; ………………………… : ; [else ;] end;

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

Пример: Составим программу определяющую, какое число из диапазона от 2 до 5 введено, четное или нечетное, для чисел выходящих за пределы диапазона выводить соответствующее сообщение. Program pr2; var n: shortint; begin writeln(); readln(n); case n of 3,5: writeln(нечетное); 2,4: writeln(четное); else writeln( число за пределами диапазона); end; end. Кроме одиночных констант в альтернативах оператора могут быть заданы списки, т.е. диапазоны значений : ;

Правило для составления оператора варианта: 1) значения выражения переключателя, записанного после case должны принадлежать дискретному типу, для целого типа они должны лежать в диапазоне ; 2) все константы предшествующие операторам альтернатив должны иметь тип совместимый с типом выражения; 3) все константы в альтернативах должны быть уникальны в пределах оператора варианта, диапазоны не должны пересекаться и не должны содержать констант указанных в данной или другой альтернативах.

Операторы цикла.

Цикл с параметром или со счетчиком. Схема: 1) For : = A to B do ; 2)For : = A downto B do ;

A- начальное значение переменной, B- конечное значение переменной. Эти переменные могут быть представлены константами или арифметическими значениями. Оператор цикла с параметром применяется тогда, когда известно число повторений одного итого же действия.

Принцип работы сначала вычисляется значение выражения А и В, если А В, то параметр последовательно принимает значения равные А, А+1, А+2,…,В-1, В. И для каждого из этих значений выполняется тело цикла. Если А В, то тело цикла не будет выполнено ни разу. второй оператор выполняется аналогичным образом, но значение параметра выполняется с шагом -1. А, А-1, А-2,…, В. Если тело цикла состоит из нескольких операторов, то они заключаются в операторные скобки begin … end;

Пример: Найти сумму натуральных чисел от 1 до 50 и вывести на экран результат. Program pr3; var i, s: integer; begin s:=0; For i:= 1 to 50 do s:= s+i; writeln ( =,s); readln; end. В Паскале не проводится автоматическая начальная установка переменных. Поэтому необходимо s:=0;

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

Цикл с предусловием. Схема: While do ; Цикл с предусловием используется для программирования процессов, в которых число повторений оператора цикла не известно, а задается некоторое условие его окончания.

Принцип работы Выполнение цикла с предусловием начинается с проверки условия записанного после служебного слова while, если оно соблюдается, то выполняется тело цикла, а затем вновь проверяется условие, как только на очередном шаге окажется, что условие не соблюдается (ложно), то выполнение цикла прекратится. Если тело цикла состоит из нескольких операторов, то они объединяются операторными скобками begin, end. В теле цикла обязательно должен быть оператор, влияющий на соблюдение условия, в противном случае произойдет зацикливание.

Например (часть программы), x:=1; F:=1; While x<=n do begin F:=F*x; x:= x+1; end; Что выполняет этот оператор?

Пример: Дано натуральное число посчитать количество цифр данного числа. Алгоритм решения: Подсчет количества цифр начнем с последней цифры числа, увеличим счетчик цифр на 1, число уменьшим в 10 раз, тем самым мы избавляемся от последней цифры числа. Далее с полученным числом проделываем ту же последовательность действий.

Program pr4; var m,n: longint; k: integer; begin writeln(введите число); readln(n); m:=n; k:=0; while m<>0 do begin k:=k+1; m:=m div 10; { уменьшаем на последнюю цифру} end; writeln(в числе цифр-,k); readln; end.

Оператор цикла с постусловием. Схема: Repeat ; …………….. ; until ; Этот оператор так же используется для программной реализации циклических процессов с неизвестным числом повторений. Это оператор аналогичен оператору цикла с предусловием, но отличен тем, что проверка условия производится после очередного выполнения тела цикла. Это обеспечивает его выполнение хотя бы один раз.

Принцип работы: Последовательность оператора входящего в тело цикла выполняется 1 раз, после чего проверяется соблюдение условия, записанного следом за служебным словом until, если условие соблюдается(истинно), то цикл завершается, в противном случае тело цикла повторяется еще один раз, после чего снова проверяется условие.

Данный оператор предполагает в теле цикла наличие нескольких операторов, поэтому служебные слова begin, end не используются. Пример: Repeat k:= i mod j; i:=j; until j=0;

Правило: При описании цикла с постусловием необходимо следующее: перед первым выполнением цикла условие его окончания (или продолжения) должно быть определено; тело цикла должно содержать хотя бы один оператор, влияющий на условие окончания (или продолжения) иначе цикл будет бесконечным; условие окончания цикла должно быть в результате выполнимо. Любой оператор цикла с постусловием можно записать с помощью оператора цикла с предусловием или с помощью условного оператора.

Пример: Написать программу нахождения наибольшего общего делителя двух неотрицательных чисел. Алгоритм решения: Используем алгоритм Евклида, он основан на следующих свойствах: Пусть х и у одновременно не равны 0, целые неотрицательные числа, пусть х у, тогда если у=0 НОД(х,у) = х если у 0, то для чисел х, у, r (остаток от деления х у) выполняется равенство НОД(х,у)=НОД(у,r)

ху Результат mod 18 =1218x > yНОД(48,18)=НОД(12,18) 18 mod 12=612X <yНОД(12,18)=НОД(12,6) 12 mod 6 =06X >yНОД(12,6)=НОД(0,6) 06X=0НОД(0,6)=6

Program pr5; var x,y:integer; begin writeln(введите x,y); readln(x,y); repeat if x>y then x: =x mod y else y: y mod x; until (x=0) or (y=0); readln; end.

Вложенные циклы При составлении программ могут использоваться вложенные циклы, т.е. внешний и внутренний цикл. При этом внутренний и внешний циклы могут быть любыми из трех ранее рассмотренных, Только внутренний цикл должен полностью укладываться в циклическую часть внешнего цикла.

Пример: Даны натуральные числа n и k составить программу вычисления выражения 1k+2k+…+nk Алгоритм решения: Для вычисления указанной суммы используется цикл с параметром, в котором, во-первых, вычислялось бы очередное значение y=ik, во- вторых, осуществлялось накопление суммы прибавлением полученного слагаемого к сумме всех предшествующих. s:=s+y

Program pr6; var n,k,y,i,s,m:integer; begin writeln(введите n и k); s:=0; for i:=1 to n do begin y:=1; for m:=1 to k do y:=y*i; {находим степень} s:=s+y; end; writeln(s); readln; end.

Форматный вывод данных: mEp, где m-мантисса, p- порядок. Изменить стандартную форму вывода данных вещественного типа можно используя, формат. Writeln(a:n:k), где а - выводимые данные вещественного типа; n- общее поле выводимого числа, включая знак числа, целую часть, точку и дробную часть; k- поле дробной записи. Т.е. при записи этого формата число выводится с фиксированной точкой. Writeln(a:5:2); Если при выводе вещественного типа отсутствует формат, то число выводиться с плавающей точкой, с использованием мантиссы и порядка.