Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Документ'
«Трудно понять, но как где скажут «Алтай», так вздрогнешь, сердце лизнет до боли мгновенное горячее чувство…. Когда буду помирать, если буду в сознани...полностью>>
'Документ'
Организаторы – Научный журнал «Педагогические науки» и крупнейшее научное издательство «Спутник +» (г. Москва). Конференция проводится для аспирантов...полностью>>
'Документ'
Налоговая проверка имеет конец. Даже если длится почти год, если охватывает десятки партнёров в значительной части страны. И не только одной страны. ...полностью>>
'Документ'
1. В Древнем Египте (3 тыс. лет до н. э.) Сократ, одним из первых, дал характеристику управления, как особой сфере деятельности. Плато (428-348) дал ...полностью>>

Задачи работы Научиться создавать программы на языке Turbo Pascal с использованием стандартных функций.  

Главная > Публичный отчет
Сохрани ссылку в одной из сетей:

Методические указания 

к лабораторной работе

Turbo-Pascal

Часть 1

 

 

1 Цель работы

Знакомство со средой программирования Turbo Pascal. Изучение структуры программы, стандартных функций, оператора присваивания и процедур ввода-вывода.

 

 

2 Задачи работы

Научиться создавать программы на языке Turbo Pascal с использованием стандартных функций.

 

 

3 Порядок выполнения работы

3.1 Загрузить среду программирования Turbo Pascal. Ознакомиться с назначением основных пунктов меню, содержанием строки состояния и работой в справочной системе.

3.2 Составить и отладить программу, включающую в себя:

-    сообщение о вводе двух чисел;

-    ввод значений двух вещественных чисел;

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

3.3 Составить и отладить программу вычисления функции y=f(x) c использованием стандартных функций языка Turbo Pascal в соответствии с заданным преподавателем вариантом (см. приложение А).

3.4  Провести расчеты для х=0.1, х=0.2, х=0.3, х=0.4 и х=0.5.

3.5  Записать полученные значения в отчете в виде таблицы.

 

 

4 Требование к отчету

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

–     название и цель работы;

–     номер варианта для выполнения задания и условие своего варианта;

–     блок-схемы решения задач;

–     тексты программ;

–     полученные при расчетах численные результаты;

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

 

 

5 Теоретические положения

5.1 Элементы языка

5.1.1 Алфавит языка

При записи программ разрешены символы:

-     буквы латинского алфавита А-Z (в любом регистре), а также знак подчеркивания _;

-     буквы русского алфавита А-Я;

-     цифры 0-9;

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

-     пары символов (их нельзя разделять пробелами) < > <= >= := (* *) (. .)

-     пробелы (рассматриваются как ограничители идентификаторов, констант, чисел, зарезервированных слов).

 

5.1.2 Идентификаторы

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

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

name

WorkPhone

_SUM1

 

5.1.3. Константы

В качестве констант могут использоваться числа, логические константы, символы и строки символов.

Целые числа записываются со знаком или без него по обычным правилам и могут иметь значение от –2147483648 до +2147483647.

Вещественные числа записываются со знаком или без него с использованием десятичной точки и/или экспоненциальной части. Экспоненциальная часть начинается символом е или Е, за которым могут следовать знаки «+» или «-» и десятичный порядок. Символ е (Е) означает десятичный порядок и смысл «умножить на 10 в степени». Например, запись 3.14Е5 означает 3,14 × 105 ,а запись -17е-2 – это -17× 10-2.

Логическая константа – это либо слово FALSE (ложь) либо слово TRUE (истина). 

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

'z' – символ z;

'ф' – символ ф.

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

' Это - строка символов ';

' That''s string'.

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

 

5.1.4  Выражения

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

Действия в выражении выполняются слева направо с соблюдением старшинства (в порядке убывания):

1)  Not (логическое отрицание);

2)  * (умножение), / (деление), div (целочисленное деление), mod (целочисленное деление с остатком по модулю), and (логическая операция “И”);

3)  + (сложение), - (вычитание), or (логическая операция “ИЛИ”);

4)  операции отношений: = (равно), <> (не равно), < (меньше), > (больше), < = (меньше или равно) , > = (больше или равно).

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

Все составные части выражения записываются в одну строку, например, выражение запишется в виде (a+b*x)/(c+d) .

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

ABS(x) – модуль х ( | x | );

SQR(x) – квадрат числа x (x 2) ;

SQRT(x) – квадратный корень из x ( );

LN(x) – натуральный логарифм от х ( ln x );

EXP(x) – е в степени х (ех );

SIN(x) – синус х (sin x);

COS(x) – косинус х (cos x);

ARCTAN(x) – арктангенс х (arctg x).

Аргумент этих функций может быть как вещественным, так и целым. Результат – всегда вещественный.

 

 

5.2  Типы данных

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

К простым (скалярным) типам относятся, например:

INTEGER - данные этого типа могут принимать только целые значения (положительные, отрицательные, 0) в диапазоне от –32768 до +32767;

REAL - величины этого типа могут принимать только вещественные значения (числа с дробной частью, целая часть от дробной отделяется точкой);

BOOLEAN - логический тип, принимает два значения TRUE (истина) и FALSE (ложь);

CHAR – символ.

Примером составного (структурированного типа) может служить тип STRING - строка символов. Этот тип широко используется для обработки текстов.

 

 

5.3 Структура программы

Структура программы должна быть такой:

<Заголовок программы>

{Блок описаний}

BEGIN

{Раздел исполняемых операторов}

END.

 

5.3.1 Заголовок программы

В заголовке указывается имя программы. Общий вид заголовка:

program n;

здесь n –имя программы.

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

5.3.2 Блок описаний

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

1) раздел меток (label);

2)       раздел констант (const);

3)       раздел типов (type);

4)       раздел переменных (var);

5)       раздел процедур и функций.

5.3.2.1 Раздел меток (label)

Любой выполняемый оператор может быть снабжен меткой – положительной константой, содержащей не более 4-х цифр. Метка отделяется от оператора двоеточием. Все метки, встречающиеся в программе, должны быть описаны в разделе label. Общий вид:

label l1, l2, l3…;

здесь l1, l2, l3… - метки.

 

Пример.

label 20;

Пусть оператор а:=b; имеет метку 20. Тогда этот оператор выглядит так:

20: а:=b ;

 

5.3.2.2      Раздел констант (const)

Если в программе используются константы, имеющие достаточно громоздкую запись (например, число p с 8-ю знаками), либо сменные константы (например, для задания варианта программы), то такие константы обычно обозначаются какими-либо именами и описываются в разделе const. Это делает программу более наглядной и удобной при отладке и внесении изменений.

Общий вид:

const а1 = с1; а2 = с2; …

Здесь а1, а2, … – имя константы, с1, с2, … – значение константы.

 

Пример.

сonst pi=3.14; c=2.7531;

 

5.3.2.3      Раздел типов (type)

Если в программе вводится тип, отличный от стандартного, то этот тип описывается в разделе type:

type t1=<вид типа>;

t2=<вид типа>;

. . . . . . .

где t1 и t2 – идентификаторы вводимых типов.

 

Пример.

Type color=(red, yellow, green, blue);

 

Здесь описан тип color, задаваемый перечислением значений.

 

5.3.2.4      Раздел переменных (var)

В разделе var вводится имя каждой переменной и указывается, к какому типу эта переменная принадлежит:

var v11, v12, …: type1;

v21, v22, …: type2; …

Здесь v11, v12, …- имена переменных; type1 – тип переменных v11, v12, …; type2 - тип переменных v21, v22, …

 

Пример.

var k,i,j:integer; a,b:real;

 

5.3.2.5      Раздел процедур и функций

Те алгоритмы, которые оформляются как подпрограммы (процедуры и функции) помещаются в главной программе после раздела var и перед begin программы.

 

5.3.3    Раздел действий (операторов).

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

 

 

5.4  Комментарии

Комментарий – это произвольная последовательность любых символов, поясняющая текст программы. Комментарий разрешается вставлять в любое место программы, где по смыслу может стоять пробел. В качестве ограничителей комментария используются фигурные скобки « { » и« } », а также пары символов: « (* » - слева от комментария и « *) » - справа от него:

 

{ Это комментарий }

(* Это тоже комментарий *)

 

 

5.5  Оператор присваивания

Под операторами в языке Паскаль подразумевают описание действий. Операторы отделяются друг от друга точкой с запятой. Если оператор стоит перед end, until или else, то в этом случае точка с запятой не ставятся.

Общий вид оператора присваивания:

 

v:=a;

здесь v – переменная, а – выражение, := - операция присваивания. Выражение а может содержать константы, переменные, названия функций, знаки операций и скобки. В операторе v:=a переменная v и выражение а должны иметь один и тот тип.

Примеры.

f:=3*c+2*sin(x);

х:=х+1;

Замечание. Разрешается присваивать переменной типа real выражение типа integer. Но нельзя присваивать переменной типа integer выражение типа real.

 

 

5.6  Процедура ввода информации

Общий вид:

Read (v1, v2, …,vn);

или

Readln (v1, v2, …,vn);

здесь v1, v2, …,vn – идентификаторы переменных.

Значения переменных вводятся с клавиатуры и должны соответствовать типам переменных. В случае использования процедуры readln, после ввода происходит переход на следующую строку.

 

 

5.7  Процедура вывода информации на печать

Общий вид оператора:

write(p1, p2, …, pn);

или

writeln(p1, p2, …, pn);

Здесь p1, p2, …, pn - список выражений, значения которых выводятся на печать.

Оператор write оставляет курсор в конце выведенной строки текста.

В случае использования процедуры writeln, после печати происходит переход на следующую строку.

Кроме значений выражений, на печать можно выводить и произвольный набор символов, заключенный в апострофы, например

 

writeln(’p=’,p);

 

Этот оператор выполняется так: сначала выводятся символы, заключенные в апострофы. Затем выводится значение переменной р, например 13.5. На экране в результате работы оператора появится:

р=13.5

 

Пример 1. Вычислить длину окружности радиуса 5,785.

program t10;

(* Программа вычисления длины окружности*)

const r=5.785;

var l:real;

begin

l:=2*3.1416*r;

writeln(' l=',l);

end.

либо

program t11;

var r:real;

begin

readln(r);

writeln(' l=',2*3.1416*r);

end.

Имеется возможность задать ширину поля (число позиций) М для выводимой величины Р:

Write (P1:M1, P2:M2, …PN:MN);

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

Например,

Write (P:10:2);

Здесь под Р отводится 10 позиций, 2 из них под дробную часть.

 

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

Program Input_Output;

{Программа вводит два целых числа

и выводит частное от деления 1-го на 2-е}

Var

n1,n2:Integer; {n1 и n2 - вводимые целые}

x:real; {x - результат}

Begin

Write('n1='); {Сообщение о вводе n1}

ReadLn(n1); {Ввод n1}

Write('n2='); {Сообщение о вводе n2}

ReadLn(n2); {Ввод n2}

Х:=n1/n2; {Вычисление результата}

WriteLn('---------------------------'); {Печать таблицы}

WriteLn('| n1 | n2 | Частное |');

WriteLn('---------------------------');

WriteLn(n1:8,n2:8,x:8:4);{Вывод n1, n2 и x}

WriteLn('-------------------------');

End.

 

 

6  Методические рекомендации

6.1 Запуск программы Turbo Pascal выполняется любым из стандартных способов запуска, предусмотренных в OC Windows (например, с помощью ярлыка на рабочем столе).

Для перехода к выбору команд главного меню используется клавиша F10. Для возврата в режим редактирования нужно нажать клавишу ESC.

Для получения справки используются клавиши:

F1 – получение контекстно-зависимой справки;

SHIFT+F1 – выбор справки из списка доступных справочных сообщений;

CTRL+F1 – получение справки о нужной стандартной процедуре, функции, о стандартной константе или переменной.

6.2 При решении задач можно воспользоваться примерами программ из п.5.7. Текст программы набирается в текстовом редакторе среды Turbo Pascal. 

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

Наиболее часто используемые команды редактора Turbo Pascal:

- смещение курсора

Page Up – на страницу вверх;

Page Down – на страницу вниз;

Home – в начало текущей строки;

End – в конец текущей строки;

Сtrl+ Page Up – в начало текста;

Сtrl+ Page Down – в конец текста.

- команды редактирования

Backspase – стирает символ слева от курсора;

Delete - стирает символ, на который указывает курсор;

Ctrl+Y – стирает строку, в которой расположен курсор;

Enter – вставляет новую строку, разрезает старую;

Сtrl+Q L – восстанавливает измененную строку (действует, если курсор не покидал строку после ее изменения).

- работа с блоками

Ctrl+K B – начинает выделение блока;

Ctrl+K K – заканчивает выделение блока (кроме того, блок можно выделить с помощью мыши);

Ctrl+K Y – уничтожает выделенный блок;

Ctrl+K С – копирует блок;

Ctrl+K V – перемещает блок на новое место;

Ctrl+K W – записывает блок в файл;

Ctrl+K R – читает блок из файла;

Ctrl+K P – печатает блок.

Набранный текст программы запишите в файл. Клавишей F2 вызывается окно диалога, в котором следует задать имя файла.

После подготовки текста программы нужно попытаться исполнить ее, т.е. откомпилировать программу, связать ее (если это необходимо) с библиотекой стандартных программ и функций, загрузить в оперативную память и передать ей управление. Эта последовательность действий – прогон программы – осуществляется после нажатия клавиш CTRL+F9.

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

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

По оператору read (или readln) вызывается встроенная процедура ввода данных и программа останавливается в ожидании ввода. Необходимо набрать на клавиатуре нужные данные и нажать клавишу ENTER.

С помощью клавиш ALT+F5 в любой момент можно просмотреть данные, выданные на экран в результате прогона программы.

 

 

7  Контрольные вопросы

7.1 Как в программе на языке Turbo Pascal описываются переменные?

7.2 Какие бывают типы переменных?

7.3 Какой вид имеет оператор присваивания?

7.4 Каким символом отделяются друг от друга операторы в программе?

7.5 В каких случаях после оператора не ставятся точка с запятой?

7.6 Какая процедура служит для вывода информации на печать?

7.7 Какая процедура служит для ввода значений с клавиатуры?

7.8 Какие функции служат для вычисления квадрата, квадратного корня, модуля, экспоненты числа или числового выражения?

7.9            Какие стандартные тригонометрические функции существуют в языке Turbo Pascal?

7.10        Как в среде Turbo Pascal запустить программу на выполнение? 

 

 

ПРИЛОЖЕНИЕ А

 

Номер варианта

Функция

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

 

 

ПРИЛОЖЕНИЕ Б

 

Сообщения об ошибках.

2 Identifier expected (Не указан идентификатор).

В этом месте должен находится идентификатор.

3 Unknown identifier (Неизвестный идентификатор)

Этот идентификатор не был описан.

4             Duplicate identifier (Двойной идентификатор).

Попытка дважды описать один и тот же идентификатор.

5             Syntax error (Синтаксическая ошибка).

В исходном тексте найден недопустимый символ. 

10 Unexpected end of file (Не найден конец файла).

Причины этого сообщения могут быть следующие:

§исходный файл закончился перед последним END основного раздела операторов; вероятно в программе неодинаковое количество операторов BEGIN и END;

§не закончен комментарий.

11 Line too long (Слишком длинная строка).

Максимальная длина строки, обрабатываемая компилятором, равна 126 символам.

12 Type identifier expected (Здесь нужен идентификатор типа).

Не указан тип идентификатора.

16        Disk full (Диск заполнен).

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

20 Variable identifier expected (Отсутствует идентификатор переменной).

На этом месте должен быть идентификатор переменной.

21 Error in type (Ошибка в объявлении типа).

Объявление типа не может начинаться с этого символа.

26 Type mismatch (Несоответствие типа).

Это сообщение может быть вызвано следующими причинами:

§    несовместимые типы переменной и выражения в операторе присваивания;

§    тип выражения не совместим с типом индекса при объявлении массива;

§    несовместимые типы операндов в выражении.

33 Labеl identifier expected (Нужен идентификатор метки)

Метка не обозначена с помощью идентификатора, как это требуется из контекста программы.

36 BEGIN expected (Нужен BEGIN)

37 END expected (Нужен END)

38 Integer expression expected (Нужно выражение типа Integer).

41 Operand types do not match operator (Типы операндов не соответствуют операции).

Данная операция не может быть применена к указанным операндам.

42 Error in expression (Ошибка в выражении)

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

50 DO expected (Нужен оператор DO)

57 THEN expected (Требуется THEN)

58 TO or DOWNTO expected (Требуется TO или DOWNTO)

62 Division by zero (Деление на ноль)

Предшествующая операция пытается выполнить деление на ноль.

64 Cannot Read or Write variables of this type (Нет возможности считать или записать переменные данного типа).

Нарушены следующие ограничения: 

§    процедуры READ и READLN могут считывать переменные символьного, целого, действительного и строкового типов;

§    процедуры WRITE и WRITELN могут выводить переменные символьного, целого, действительного, логического и строкового типов.

76 Constant out of range (Константа нарушает границы).

Возможные причины сообщения:

§          попытка указать индекс массива, выходящий за его границы;

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

79 Integer or real expression expected (Нужно выражение вещественного или целого типа).

81 Label already defined (Метка уже определена).

Данная метка уже помечает оператор.

85 «;» expected (Нужно указать «;»).

97 Invalid FOR control variable (Неправильный параметр цикла оператора FOR).

98 Integer variable expected (Нужна переменная целого типа).

Предшествующая переменная должна иметь целый тип.

103 Integer or real variable expected (Нужна переменная типа INTEGER or REAL).

113 Error in statement (Ошибка в операторе).

Данный символ не может быть первым символом в операторе.

207 Invalid floating point operation (Недопустимая операция с плавающей запятой) .

Возможные причины сообщения:

§        отрицательный аргумент функции SQRT;

§        аргумент функции LN равен нулю или имеет отрицательное значение.



Скачать документ

Похожие документы:

  1. Программа алгоритм, записанный на языке программирования, служащий для выполнения каких-либо действий. Транслятор

    Программа
    Допустим, что написана программа решения задачи на каком-то языке программирования, но компьютер понимает только команды, переведенные в двоичный код.
  2. Учебно-методический комплекс учебной дисциплины ен. В. 01 по выбору (информатика) «Программирование на turbo pascal» подготовки бакалавра по направлению 050200 «Физико-математическое образование»

    Учебно-методический комплекс
    Курс "Программирования на Turbo Pascal", сохраняя структуру инвариантного курса "Программирование", содержит дополнительные разделы.
  3. Основы Pascal. Типы данных. Структура программы на языке Pascal

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

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

    Программа
    Паскаль - это один из самых простых языков, но далеко не один из самых слабых. Изучать мы с вами будем Turbo Pascal 7.0 - так вот на нем можно написать любую программу, которая придет в голову.

Другие похожие документы..