Научно - Информационный портал



  Меню
  


Смотрите также:



 Главная   »  
страница 1 страница 2 | страница 3
Методические указания 

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

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




страница 1 страница 2 | страница 3

Смотрите также: