Составление блок-схем и простых программ
Работа добавлена: 2016-06-25





Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Дальневосточный государственный университет путей сообщения»

Кафедра ИТИС

ЛАБОРАТОРНАЯ РАБОТА

«Простые программы»

.

2013 г.

ПРОСТЫЕ ПРОГРАММЫ

 

Цель работы: составление блок-схем и простых программ.

 

Отчет по лабораторной работе должен содержать:

 

1.  Титульный лист.

2.  Постановка  задачи по варианту.

3.  Блок-схема.

4. Текст программы на языке Turbo Pascal.

5.  Результаты работы программы.

 

Задание

Составить блок-схему и программу вычисления функцииУпри заданных значенияхa, b, x.

 

Таблица1 - Индивидуальные варианты

 № варианта

Функция У(Х)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

КРАТКАЯ ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Алгоритмический языкПаскаль был разработан в 1973 г. швейцарским математиком Никлаусом Виртом для обучения студентов структурному программированию. Язык получил свое название в честь французского математика Блеза Паскаля (1623-1662 гг.). В 1984 г. бывший студент Никлаус Вирт, французский математик Филипп Кан, разработал среду программирования Turbo-Pascal для ПК.

Обычно все файлы, относящиеся к Турбо-Паскалю, хранятся на диске в каталоге под произвольным именем: Pascal, T_Pascal, TP55,TP7 и т.п.

Чтобы инициировать работу ТурбоПаскаля, надо запустить программу из файлаTurbo.exe на выполнение.

Для компиляции и выполнения программы можно либо с помощью меню  системы Turbo Pascal командыRun , либо нажатьклавиши  Ctrl+F9.

Текст программы набирается в редакторе, а ввод данных и результат отражается в окне  пользователя,которое закрывается окном редактора. Чтобы иметь возможность детально ознакомиться с результатами работы программы, нажимаемAlt/F5. Повторное нажатиеAlt/F5 вернет на экран текст программы.

ОСНОВНЫЕ СИМВОЛЫ

1)26 латинских букв:

ОтA доz(Паскаль не различает заглавные и малые буквы);

2)10 цифр:0 1 2 3 4 5 6 7 8 9.

3)Специальные символы:

 :=  ;  ,  .  ()  []  {}  :        .. (* *)_ подчеркивание;

4) Арифметические операции

+         сложения, унарный плюс;

-          вычитания, унарный минус;    

*         умножения;     

/ деления. 

5) Знаки соотношений

=         Логическое равенство      

<>      Логическое неравенство 

< >     Отношения «меньше чем» и «больше чем»     

<=      >=     Отношения «меньше или равно» и «больше или равно»

6)спецификаторы:^ # $

7) Служебные (зарезервированные)  слова, такие как  begin, end, var, file, case и другие. Их нельзя  использовать  в  программе  в  качестве имен, введенных программистом.

8) русские буквы – используются только для комментариев и строковых константах.

В набор основных символов входитпробел. Пробелы нельзя использовать внутри сдвоенных символов и зарезервированных слов.

В языке ПАСКАЛЬ можно также применятьлогические операции:

NOT – логическое отрицание

AND – логическое  И

OR – логическое ИЛИ

XOR – исключающее «ИЛИ».

ЭЛЕМЕНТАРНЫЕ КОНСТРУКЦИИ

КОНСТАНТЫ

Константы могут бытьчисловымиистроковыми.

Числовые константы

В языке ПАСКАЛЬ числа обычно записываются в десятичной системе счисления.

Они могут быть:

 -целыми

- действительными (или вещественными).

целые – записываются как набор цифр, перед которыми ставится знак «+» или «-», например, 217   -45    8954    +483.

действительные – записываются в форме с естественной и плавающей запятой.

Вестественной форме целую часть от дробной отделяет точка (4.7,  13.13).

Форма с плавающей запятой используется для записи очень больших или очень маленьких чисел. Числа записываются в форме с использованием десятичного порядка, который изображается буквойЕ (экспоненциальная форма).

Например, число

4.05Е9=4.05*109=4050000000.

73.1Е-9=73.1*10-9=0.0000000731,

где 4.05 и 73.1 называются мантиссой, а 9 и -9 – порядком.

Строковые константы

Это последовательность символов, записанная между апострофами.

Если в строке в качестве содержательного символа необходимо употребить сам апостроф, то следует записать два апострофа. Число символов в строке не может превышать 255 символов.

        Примеры строк:

'СТРОКА'    'STRING'    'АД''ЮТАНТ'.

ПЕРЕМЕННЫЕ

Переменная –это именованная область в оперативной памяти компьютера.

Для  хранения  данных  выделяется  ячейка  оперативной  памяти, которой присваивается имя, затем в нее помещается значение переменной.

Значение  переменной  может  изменяться  в  ходе  выполнения  программы.

ИМЕНА (идентификаторы) называют элементы языка – константы, метки, типы, переменные, процедуры, функции, модули, объекты.

Имя (илиидентификатор) переменной подчиняется следующим трем правилам:

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

2. Рекомендуемое правило. Имя переменной (как и имя файла) отражает ее значение.

3. Правило вкуса. Длина имени не превышает 8 символов.

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

1) в имени могут использоваться только латинские буквы, цифры и знак подчеркивания;

3) первым символом не может быть цифра;

2) знак пробела недопустим;

4) имя не может совпадать с зарезервированными  ключевыми словами  Паскаля,  входящими  в  состав  языка.

Числовая переменная –это переменная, значением которой является число.

Строковая переменная –это переменная, значением которой является строка.

Логическая переменная –это переменная, значением которой является ложь (false) или истина (true).

СТАНДАРТНЫЕ ФУНКЦИИ

В языке Паскаля существуют стандартные (встроенные) функции, которые вызываются по следующим правилам:

- указывается название функции,

- аргумент функции заключается в круглые скобки.

Таблица 2 - Основные встроенные (стандартные) функции

Функция

Вычисления

SIN(X)

 sin Х (аргумент задается в радианах)

COS(X)

 cos Х (аргумент задается в радианах)

ARCTAN(X)

 arctg Х (аргумент задается в радианах)

LN(X)

 натуральный логарифм Х

EXP(X)

 ex

SQR(X)

 Х2

SQRT(X)

 квадратный корень Х

ABS(X)

 модуль Х;

TRUNC(X)

 целая часть числа Х, результат - integer

INT(X)

 целая часть числа Х, результат - real

FRAC(X)

 дробная часть числа Х, результат - real

ROUND(X)

 округление до ближайшего целого, результат - integer

PI

 число 3.1415926535897932385

Odd(X)

 проверка четности целого числа "X" - функция выдает значение TRUE (истина), если число нечетное, FALSE (ложь) - если число четное.

 

ВЫРАЖЕНИЯ

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

Правила:

1.   В выражении можно использовать только перечисленные выше символы.

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

4*А*Х

3. При записи выражения можно использовать только круглые скобки.

4. Два арифметических знака не должны стоять рядом  А*(-Х).

 5. Если числитель и знаменатель дроби многочлены, то они заключаются в круглые скобки. Например, (4*А*Х-В)/(2-D)

6. Порядок вычисления операций.

Приоритет:

- действия в скобках;

- стандартные функции;

- унарная операция not, унарный минус -, взятие адреса @;

 - операции типа умножения * / div mod and;

 - операции типа сложения + - or xor;

 - операции отношения = <> < > <= >=.

Запись функций

Xn = EXP(N*LN(X));

 

tg(X) = SIN(X)/COS(X);

 

ctg(X) = COS(X)/SIN(X);

 

arcsin(X)= ARCTAN(X/SQRT(1-SQR(X)));

 

arccos(X)=ARCTAN(SQRT(1-SQR(X))/X).

ТИПЫ ДАННЫХ

 

В языке ПАСКАЛЬ существует правило:тип явно задается в описании переменной или функции, которое предшествует их использованию.

Тип данных определяет:

возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;

-внутреннюю форму представления данных в ЭВМ;

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

КЛАССИФИКАЦИЯ ТИПОВ

В языке ПАСКАЛЬ существуютскалярные иструктурированные типы данных.

Кскалярным типам относятсястандартные типы и типы,определяемые пользователем.

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

Типы,определяемые пользователем:

 -перечисляемый;

- интервальный.

Структурированные типы:  массивы, множества, записи и файлы.

Стандартные типы данных

ЦЕЛЫЕ типы

Целочисленные типы

Тип

Диапазон

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

Короткое целое (Shorting)

-128..127

1

Целое (Integer)

-32768..32767

2

Длинное целое (Longint)

-2147483648..2147483647

4

Целое длиной в байт (Byte)

0..255

1

Целое длиной в слово (Word)

0..65535

2

Над целыми операндами можно выполнять следующие арифметические операции:+   -   *   div   mod.

Результат выполнения операции деления целых величин (div) есть целая часть частного.

Например:

17 div  2 = 8,     3 div  5 = 0.

Результат выполнения операции получения остатка от деления (mod)  - остаток от деления целых.

Например:

17 mod  2 = 1,    3 mod  5 = 3.

ДЕЙСТВИТЕЛЬНЫЕ (вещественные) типы данных

 

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

Тип

Диапазон

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

Вещественный (Real)

2.9Е-39..1.7Е38

6

С одинарной точностью (Single)

1.5Е-45..3.4Е38

4

С двойной точностью (Double)

5.0Е-324..1.7Е308

8

С повышенной точностью (Extended)

3.4Е-4932..1.1Е4932

10

Комплексный (Comp)

-9.2Е18..9.2Е18

8

ЛОГИЧЕСКИЙ тип (Boolean) определяет те данные, которые могут принимать логические значенияTRUE иFALSE.

СИМВОЛЬНЫЙ тип (Char)

 Значение символьной переменной или константы- это один символ из допустимого набора, заключенного в апастроф.  Например:'A' 'a' 'Ю' 'ю'.

СТРОКОВЫЙтип (String)

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

Например:

‘результат=‘   ‘ABS

Строковыепеременные- это одномерные упакованные массивы символов, для описания которых в TURBO PASCAL введен типString.

Например, если строка содержит до 30 символов, ее тип будет определен какString[30].

Если количество символов не указано, то по умолчанию оно равно255 символам.

АДРЕСНЫЙ тип (Pointer) определяет переменные, которые могут содержать значенияадресов данных или фрагментов программы.

Для хранения адреса требуютсядва слова (4 байта), одно из них определяетсегмент, второе-смещение.

Для получения значения адреса какой-либо переменной введена унарная операция@.

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

Общий вид программы:

ProgramИмя программы

Раздел описаний

Begin

Раздел операторов

End.

Такая структура обязательна.

Любой объект, используемый в программе, должен быть учтен вразделе описаний.

Раздел операторов- это основная часть программы, здесь содержатся команды, составляющие программу.

Раздел описаний может содержать следующие объекты:

Uses Список используемых модулей;

Например, UsesPrinter;

Label Список меток из основного блока программы;

Например,Label10,metca;

ConstОпределение констант программы;

Например,ConstA=10;

Type Описание типов;

Например, Type

Diapason = 1..20;

Letters = ’a’..’z’;

Name = Word;

Matriza = array [1..20,1..20] of integer.

VarОписаниепеременных;

Например, Var P,Q,R: Integer;

             A,B: Char;

     F1,F2: Boolean.

ProcedureТекст процедуры;

Function Текст функции.

ОПЕРАТОРЫ ЯЗЫКА ТУРБО ПАСКАЛЬ

1.ОПЕРАТОР ПРИСВАИВАНИЯ.

В Паскале знак присваивания:=.

Например

 A:=5; Y:=X*Ln(X)*R;А:=В.

2.КОММЕНТАРИИ– это невыполняемый оператор для пояснений.

Например:

(* Ввод данных*);

{Вычисление функции}.

ОПЕРАТОРЫ ВВОДА

(с клавиатуры)

1)Read(A1,A2,...AK) реализует чтение значений данных и присваивание этих значений переменным А1, А2, ..., АК и послевыполнения этого оператора курсор остается в этой же строке.

2.ReadLn(A1,A2,...AK) реализует чтение данных, присваивание считанных значений переменным А1, А2, ..., АК ипереход курсора  на новую строку после выполнения этого оператора.

3.ReadLn реализуетзадержку окна пользователя до нажатия клавишиENTER.

При вводе значения исходных данных могут отделяться друг от друга

пробелами;

нажатиемклавиши табуляции;

 Enter.

ОПЕРАТОРЫ ВЫВОДА

1. Write(A1,A2,...AK) реализует вывод значений переменных А1, А2,...,АК в строку экрана и курсоростается на этой же строке.

2.  WriteLn(A1,A2,...AK) реализует вывод значений переменных А1, А2, ..., АК ипереход на следующую строку.

3.  WriteLn(lst,A1,A2,...AK)реализует вывод значений переменныхна печать.

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

4.WriteLn реализуетпропуск строки и переход к началу следующей строки.

Форма представления значений в поле вывода соответствует типу переменных.

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

Оператор вывода позволяет задать ширину поля вывода для каждого элемента списка вывода.

Для величин целого типа и строки список вывода имеет видА:К, гдеА- переменная или строка,К- ширина поля вывода.

Например,Writeln(A:3).

Если выводимое значение занимает в поле вывода меньше позиций, чемК, то перед этим значением располагаются пробелы.

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

Для величин действительного типа элемент списка вывода может иметь видА:К:М,

гдеА- переменная действительного типа,К- ширина поля выводавсего числа,М- число цифрдробной части выводимого значения.

Например,Writeln(A:7:3).

В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой.

ПРИМЕР ПРОСТОЙ ПРОГРАММЫ

Составить блок-схему и программу вычисления функцииy=a*sinx/b при заданных значенияхx,a,b.

ProgramPrimer;

{Раздел описания}

Vara,b,x,y:real; {Описание переменныхa,b,x,y}

Begin

Writeln(‘Введитеa,b,x’);{Вывод на экран подсказки ‘Введитеa,b,x’}

Readln(a,b,x);{Ввод переменныхa,b,x }

Y:=a*sin(x)/b;{Вычисление выражения и присваивание этого значения переменной У}

Writeln(‘y=’,y:7:3);{Вывод значения У с тремя знаками после запятой}

Readln;{ Задержка экрана пользователя до нажатияrл.Enter}

End.

 

 

 




Возможно эти работы будут Вам интересны.

1. Составление программ, использующие структуры

2. Составление программ с использованием условного оператора

3. Графическое представление алгоритма. Блок-схема алгоритма и ее элементы. Основные правила составления блок-схемы алгоритма

4. Простые проценты. Формула простых процентов

5. Средства разработки программ. Компилятор, средства разработки и отладки программ

6. Регулируемый двухполярный блок питания

7. Блок цилиндров дизеля тепловоза ТЭМ-2

8. Блок-секция поворотная 9-ти этажная на 36 квартир в п. Октябрьский

9. ДОСЛІДЖЕННЯ СХЕМ НЕКЕРОВАНИХ ВИПРЯМЛЯЧІВ

10. Основные этапы изготовления простых тетрадей. Технология сталкивания листов и факторы, влияющие на точность и производительность сталкивания