Хелпикс

Главная

Контакты

Случайная статья





Задание № 1. Программирование линейных вычислительных процессов.



1 Задание № 1. Программирование линейных вычислительных процессов.

Цель: -закрепить понятия«синтаксис языка», «семантика языка», «структура программы», «тип данного»;

- сформировать умения и навыки программирования линейных вычислительных процессов;

- сформировать навыки изображения алгоритма программы в виде схемы.

 

     Основы теории

Алфавит языка Паскаль

– заглавные и строчные латинские буквы (A – Z и a-z);

– символ подчеркивания (_ ), считающийся в языке буквой;

– арабские цифры от 0 до 9;

– специальные символы: +- * . =. , ; : @ ‘ ( ) [ ] { } # $ ^,

которые используются для построения лексем.

 

Лексемой является минимальная смысловая единица языка программирования.

В Паскале различаются следующие классы лексем:

– зарезервированные (ключевые) слова, смысл которых в языке строго фиксирован;

– идентификаторы:

1.  стандартные (предопределенные), являющиеся директивами, типами и встроенными процедурами и функциями;

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

3. изображения (числа, символьные строки и т.д.);

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

5. разделители, используемые для наглядности текстов программ и специальные символы ( * ; = ( ) и другие).

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

 

                     СТРУКТУРА ПРОГРАММЫ.

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

 

Основной принцип : все именованные объекты (данные, процедуры, функции и др.), на которые имеются ссылки в программе должны быть предварительно объявлены.

Программа на языке Паскаль состоит из двух частей: заголовка и блока операторов.

Общая структура программы

 

PROGRAM <имя>;         заголовок программы

 

USES <список модулей>; указание используемых модулей

 

LABEL <список меток>; определение меток

 

CONST A1=<выражение>;

A2: <> = <выражение>; задание констант

 

TYPE T1 =<вид типа>; введение нестандартных типов данных

 

VAR <список переменных >:<тип>; описание переменных

 

PROCEDURE             описание процедур и функций

FUNCTION

 

 BEGIN                           основная программа , в которой   

                                         Процедуры и функции должны   

                                         вызываться

 <операторы>

END.

 

 

ЦЕЛЫЕ ТИПЫ ПАСКАЛЯ

 

Название типа Идентификатор Память(в байтах) Диапазон значений
Короткое целое без знака Byte 0-255
Короткое целое со знаком Shortint -128 -127
Целое без знака Word 0- 65535
Целое со знаком Integer -32768 -32767
Длинное целое со знаком Longint -2147483648- 2147483647

 

Над целочисленными значениями определены основные операции:

 + , - , *, div , mod, /

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

 

С целыми значениями можно производить операции сравнения:

>, <, >=, <=, < >

ВЕЩЕСТВЕННЫЕ ТИПЫ

Название типа Идентификатор Типа  Диапазон значений  Значащие цифры мантиссы  Размер памяти (байт)  
Вещественное одинарной точности Single 1.5*10-45 -3.4*1038 7.. 8
Вещественное Real 2.9* 10 -39– 1.7 * 1038 11..12
Вещественное двойной точности Double 3.4*10 -324– 1.7 * 10308 15..16
Вещественное повышенной точности Extended 3.4*10-4932- 1.1* 104932 19..20
Целое в формате вещественного Comp -263+1 – 263-1 19..20

 

С вещественными типами используются четыре арифметических операции: +, -, *, /, выдающие результат вещественного типа

 

Вычисление XY рекомендуется производить следующим образом:

– Если Y – целое число, то через умножение, т.е. XY= X*X*...*X;

– Если Y – вещественное значение, то XY = e Y* ln (x ) , т.е. на языке Паскаль: Exp( Y* Ln(X));

 

Логический тип данных описывается ключевым словом boolean, например:

Const a=true;

///////////

Const cil:Boolean=false;

/////////////////////////////////

Var t:boolean;

//////////////////////////

First_1:Boolean:

Переменная логического типа может принимать значения: либо логического выражения, либо логической переменной, либо значения false или true.

 

Символьный (литерный ) тип данных.

Переменные этого типа принимают значения из определенной упорядоченной последовательности символов, обозначающих алфавит компьютера. Список символов содержится в таблице ASCII кодов(АСКИ – код- американский стандартный код для обмена информацией). Номер, который имеет символ в таблице, называется кодом этого символа. Символ в памяти занимает 1 байт.

Кодовая таблица ASCII содержит 256 символов и делится на две части: основную и альтернативную. Первая часть содержит символы с кодами 0-127.

В эту группу входят:

§ Управляющие символы (коды 0-31), получающиеся при нажатии клави CTRL+<латинская буква>;

§ Пробел (код 32);

§ Арабские цифры(коды 48-59);

§ Прописные латинские буквы(коды 65 -90);

§ Строчные латинские буквы (коды 97-122);

§ Арифметические операции и специальные символы из алфавит Турбо Паскаля.

Для задания литерных констант наряду с классической формой (символ в апострофах) используется представление #<код>. Так запись ‘A’ эквивалентна #65, а ‘T’- #49.

Для распознавания символов могут пригодиться следующие неравентсва:

‘0’<=C<=’9’-символ С –цифра;

‘a’<=C<=’z’-символ С- строчная буква латинского алфавита;

‘A’<=C<=’Z’- символ С – прописная буква латинского алфавита.

С литерными значениями работают функции: Succ(C), Pred(C) и три функции преобразования   Ord(c),Chr(код),Upcase( c).

Например, Ord(‘0’)=48; Chr(49)=’0’;Ord(‘A’)=65, Chr(65)=’A’, pred(‘b’)=’a’, pred(‘9’)=’8’, succ(‘8’)=’9’, upcase(‘y’)=’Y’(аналогично и для любого другого символа, отличного от строчной латинской буквы).

                                                                        

Объявление переменных символьного типа:

Var c1,c2,sim: char;

Const s=’A’; (или равносильно const s=#65)

 

    НЕКОТОРЫЕ СТАНДАРТНЫЕ ФУНКЦИИ ЯЗЫКА ПАСКАЛЬ

Вызов функции Тип аргумента Тип результата
 sqr (x) Целые или вещ. Совпадает с типом аргум.
 abs (x) - “ - - “ -
 Sqrt (x) -“ - Real
Sin (x) - “ - - “ -
Cos(x) - “ - - “ -
Arctan(x) - “ - - “ -
Ln (x) - “ - - “ -
Exp (x) - “ - - “ -
Trunc (x) Веществ.типы Longint
Round (x) - “ - Longint
Frac (x) - “ - Real
Int (x) - “ - - “ -
Pi - “ - - “ -
Random - “ - - “ -
Random(x) Word Word
Odd (x) Целые типы Boolean
Succ(x) Любой порядковый Совпадает с типом аргумента
Pred (x) - “ - - “ -
Low (x) - “ - - “ -
High (x) - “ - - “ -
Ord (x) Литерный, булевский или перечислимый Byte
Chr (x) Char Литерный
Upcase (x) Char Char
     

Алгоритм - это точное предписание, задающее вычислительный процесс, направленный на получение результатов соответствующих определенным входным данным.

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

 

 

 

Алгоритм линейной структуры- алгоритм, в котором блоки выполняются последовательно друг за другом, в порядке, заданном схемой. Такой порядок выполнения называется естественным.

Пример: Вычислить площадь треугольника со сторонами a,b,c по формуле Герона



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.