Вопрос 14.doc

  • doc
  • 13.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Вопрос 14.doc

Вопрос 14.

Базовые конструкции для записи алгоритмов: следование, развилка, цикл.

Алгоритм – это понятное и точное указание исполнителю совершить последовательность действий, направленных на решение поставленной задачи.

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

 

Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно, без пропусков и повторений. Такую алгоритмическую структуру  иногда называют «следование».

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

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

 

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

В 1968–1971 гг. швейцарский ученый Никлаус Вирт в Цюрихском Институте информатики разработал язык программирования Паскаль. Он стремился создать средство, с помощью которого можно было бы эффективно обучать программированию.

Поднять ремесло программирования до уровня если не науки, то сложной инженерной деятельности - вот что входило в замысел создателя Паскаля. Язык должен определенным образом формировать мышление программистов, помогать им почувствовать законы программирования. Не случайно было выбрано и название: в честь выдающегося французского математика Блеза Паскаля (1623–1662), построившего первую вычислительную машину (1642).

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

Работа на Паскале связана с большими затратами времени и мыслительных усилий, но это вознаграждается отточенностью и надежностью получаемого программного изделия. Паскаль дает средство для разработки больших и сложных программ с известной гарантией их надежности и безошибочности. Описание языка Паскаль было сделано в 1971 году, а в 1973 году появился  первый транслятор с этого языка. Транслятор (переводчик) с языка высокого уровня на язык машины бывает двух видов: интерпретатор и компилятор. При работе на Паскале используется транслятор - компилятор, который переводит на язык машинных кодов набранную программу (исходный модуль) целиком при условии, что в программе нет синтаксических ошибок. Исходный модуль (программа) набирается в текстовом редакторе, встроенном в Турбо Паскаль. Откомпилированная программа называется объектным модулем, который исполняется с определенным набором входных данных. Различают язык Паскаль и интегрированную среду Турбо Паскаль.

Интегрированная среда Паскаль (версии 6.0, 7.0, разработанные фирмой Borland) – это набор ряда системных программ, обеспечивающих все действия, необходимые для прохождения программы на языке Паскаль через ЭВМ. Среда содержит универсальный текстовый редактор, компилятор входного языка, редактор связей и встроенный символьный отладчик. Многооконный интерфейс с развитой системой меню обеспечивает высокую производительность труда программиста.

Освоив Паскаль, относительно легко можно перейти к изучению любого другого языка: Модула, Си, Ада и т.д.

Простейшие типы данных: целый, вещественный, символьный, логический. Их представление в ЭВМ.

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

В языке Турбо Паскаль используются следующие типы данных:

– простые типы;

– структурированные типы;

– указатели;

– процедурные типы;

– объекты.

Среди простых типов есть стандартные (предопределенные): целый, вещественный, логический, символьный и нестандартные (определяемые программистом): перечисляемый, диапазонный (ограниченный).

 

Стандартные простые типы данных.

Целые типы. Имеется пять целых типов, различающихся допустимым диапазоном значений и размером занимаемой оперативной памяти. Характеристики целых типов приведены в таблице.

Целые  типы

Размер в байтах

Название

типа

Диапазон

значений

1

byte              (байт)

0...255

1

shortint         (ше(о)тинт)

-128...127

2

word            (ве(о)д)

0...65535

2

integer          (интэджэ)

-32768...32767

4

longint          (лонгинт)

-2147483648...2147483647

 

Константа целого типа представляется как последовательность цифр, перед которой может стоять знак (+) или (–).

Переменная целого типа имеет своим значением константу целого типа.

Над данными целого типа допустимы операции: + сложение, – вычитание, * умножение, div деление  нацело (25 div 6 = 4), mod нахождение остатка от целочисленного деления (19 mod 4 = 3).

Замечание. Результатом операции деления целого числа на целое является вещественное число.

Вещественные типы. Имеется пять стандартных вещественных типов, характеристики которых даны в таблице.

Вещественные  типы

Размер

 в

байтах

Название типа

Диапазон десятичного порядка

Мантисса,

значащих цифр

6

real            (риал)

-39...+38

11...12

4

single         (сингл)

-45...+38

 7...8

8

double        (дабл)

-324...+308

15...16

10

extended    (экстэндид)

-4951...+4932

19...20

8

comp          (комп)

-263  +1...+263  -1

19...20

 

Константы вещественного типа – числа, представленные в форме с фиксированной (0.000525) или с плавающей (0.525Е–3)точкой. Десятичный порядок числа записывается латинской буквой Е.

Переменные вещественного типа имеют своими значениями константы вещественного или целого типа.

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

Над данными вещественного типа допустимы операции: +, –, *, /.

Логический тип. Стандартный  логический  тип  Boolean (буулин), размер - 1 байт, представляет собой тип данных, любой элемент которого может принимать  лишь два значения: True (труу) и False (фоолс). Значению True (истина) соответствует число 1, записанное в его байт, значению False (ложь) – 0.

Над данными логического типа определены  операции: not (отрицание, НЕ), or (сложение, ИЛИ), and (умножение, И), shl (сдвиг влево), shr (сдвиг вправо), xor (исключительное ИЛИ).

 

Таблица истинности логических операций

X

Y

NOT X

X AND Y

X OR Y

X XOR Y

False

False

True

False

False

False

True

False

False

False

True

True

False

True

True

False

True

True

True

True

False

True

True

False

 

Символьный тип. Стандартный символьный тип Char (кэар), размер – 1 байт, представляет собой тип данных, значением которых может быть только один символ из множества ASCII.

Примеры констант символьного типа: '4', '+', 'R'.

Примеры переменных символьного типа: D='4', T='R'.

Над данными символьного типа определены операции сравнения: <,  <=, =, <>, >=, >. Сравниваются величины символьного типа по своим кодам.

Стандартные типы: целые, логический, символьный называются также порядковыми типами, т.к. их значения всегда можно сопоставить с рядом целых чисел.

 

Стандартные процедуры и функции.

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

 

Таблицы стандартных функций

 

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

Функция

Тип параметра

Тип результата

Примечания

abs(x)

вещ

вещ

модуль аргумента

sqr(x)

вещ

вещ

квадрат аргумента

sqrt(x)

вещ

вещ

квадратный корень из аргумента, х>0

exp(x)

вещ

вещ

экспонента

ln(x)

вещ

вещ

натуральный логарифм, x>0

sin(x)

вещ

вещ

синус, угол в радианах

cos(x)

вещ

вещ

косинус, угол в радианах

arctan(x)

вещ

вещ

арктангенс (радианы)

int(x)

вещ (целый)

вещ (целый)

целая часть числа

frac(x)

вещ

вещ

дробная часть числа

pi

-

вещ

Рi=3.141592653...


При вычислении значений функций, не определенных как стандартные в Турбо Паскале, можно использовать формулы:

 

где a – радианная мера угла, b – градусная;


Примеры:

int(13.8) = 13;     int(-7.62) = -7;

frac(13.8) = 0.8;  frac(-7.62) = -0.62

 

Функции преобразования

Функция

Тип параметра

Тип результата

Примечания

trunc(x)

вещ

вещ или целый

получение целой части числа

round(x)

вещ

вещ или целый

округление числа до целого

ord(x)

порядковый

целый

преобразование любого порядкового типа в целый тип

chr(x)

целый

символьный

преобразует ASCII–код в символ

pred(x)

порядковый

порядковый

определение предыдущего значения величины х

succ(x)

порядковый

порядковый

определение последующего значения величины х

 

Замечание. При применении функции pred(x) к первому элементу последовательности и функции succ(x) к последнему элементу последовательности возникает ошибка.

Примеры:

trunc(26.7) = 26; round(26.7) = 27; round(7.12) = 7;

trunc(-19.99) = -19; round(-19.99) = -20; round(-7.12) = -7;

ord('5') = 53;  ord('A') = 65;    ord('?') = 63;

chr(53) = '5';  chr(65) = 'A';    chr(63) = '?';

pred(8) = 7;    pred('M') = 'L';  pred(0) = -1;

succ(8) = 9;    succ('M') = 'N';  succ(-2) = -1

 

Логические функции

Функция

Тип параметра

Тип результата

Примечания

odd(x)

целый

логический

true, если х – нечетное и false, если х–четное

eoln(f)

файловый

логический

true, если достигнут конец строки, иначе – false

eof(f)

файловый

логический

true, если достигнут конец файла, иначе – false

 

Примеры:

odd(43) = true;    odd(4) = false

 

2.3. Выражения

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

Приоритет выполнения операций следующий:

1. Вычисления в круглых скобках.

2. Вычисления значений функций.

3. Унарные операции: унарный +, унарный –, not.

4. Операции типа  умножения (мультипликативные):

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

5. Операции типа сложения (аддитивные):

+, –, or, xor.

6. Операции отношения: <, <=, =, <>, >=, >, in.

Примеры записи выражений на языке Паскаль.


а) алгебраические выражения:

 

б) логические  выражения:

(а>3) and (b=a+6) or not (c=4),

(b+7<10) or (b>8) and (a*a+1=b).