Российской Федерации Кузнецкий институт информационных и управленческих технологий (филиал пгу) Лабораторный практикум по информатике




НазваниеРоссийской Федерации Кузнецкий институт информационных и управленческих технологий (филиал пгу) Лабораторный практикум по информатике
страница8/20
Дата конвертации06.11.2012
Размер2.44 Mb.
ТипУчебное пособие
1   ...   4   5   6   7   8   9   10   11   ...   20

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


  1. Основные структурные компоненты MS-DOS.

  2. Последовательность загрузки MS-DOS.

  3. Внутренние команды MS-DOS.

  4. Внешние команды MS-DOS.

  5. Файл автозагрузки ОС AUTOEXEC.BAT и файл настройки ОС CONFIG.SYS.



Лабораторная работа № 6. Основы работы в Turbo Pascal. Структура программы.


Цель работы:

  • изучение состава системы программирования Турбо-Паскаль;

  • изучение окон и структуры меню интегрированной среды программирования;

  • изучение основ работы с файлами и команд редактирования текста програм­мы в редакторе Турбо-Паскаль;

  • изучение команд компиляции программы, и возможностей системы по от­ладке программ.

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

  • изучение структуры программы;

  • изучение порядковых типов данных;

  • изучение процедур ввода-вывода;

  • программирование не разветвляющихся вычислений.



Общие сведения

Выполните самостоятельные работы 1-3, представленные в данном пособии для изучения состава системы программирования Турбо-Паскаль, окон и структуры меню интегрированной среды программирования, основ работы с файлами и команд редактирования текста програм­мы в редакторе Турбо-Паскаль, команд компиляции программы, и возможностей системы по от­ладке программ, основных приемов работы в интегрированной среде Паскаль;


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

В стандартном Паскале программы имеют строгий формат:

Рrоgrаm Имя_программы;

Lаbеl

описания меток;

Соnst

описания констант;

Тyре

определения типов данных;

Vаr

описания переменных;

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

Веgin

тело основной программы;

Еnd.


Все пять разделов описаний (Lаbеl, Соnst, Тyре, Vаr, а также процедуры и функции) не обязательно должны присутствовать в каждой программе. Однако в стандартном Паскале в том случае, если эти разделы имеются, они должны следовать именно в этом порядке и каждый раздел должен встречаться только один раз. За разделом описаний могут следовать ваши процедуры и функции, если они имеются, и, наконец, тело основной программы, содержащее некоторое количество операторов.

Турбо-Паскаль допускает большую гибкость в структуре программы. Все его требования заключаются в том, чтобы оператор Рrоgrаm (если он у вас есть) следовал первым, а тело основной программы - последним. Между ними можно разместить столько разделов описаний, сколько Вам требуется, и в любом необходимом вам порядке. При этом описания могут свободно чередоваться с процедурами и функциями. Однако все объекты должны определяться перед их использованием (в противном случае во время компиляции возникает ошибка).

Кроме того, в программу на Турбо-Паскале после заголовка программы иногда включают предложение usеs (предложение использования), которое идентифицирует все модули, используемые программой.

Метки

Перед любым оператором в Турбо-Паскале можно поставить метку, что позволяет выполнять прямой переход на этот оператор с помощью оператора перехода gоtо из любого места программы. Метка состоит из имени и следующего за ним двоеточия. Имя может включать буквы и цифры. Максимальная длина имени 127 символов. Перед употреблением метка должна быть описана в разделе описания меток Lаbеl.

Константы

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

Соnst

А=(2.5-1)/(2.5+1);

SТ='Тurbо'+'-'+'Раsсаl';

Типы

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

Простой тип – тип, который может представлять только одно значение.

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

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


Встроенные целочисленные типы

Тип

Диапазон

Формат

shortint

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

–128 .. 127

8 бит со знаком

integer

(целое)

–32768 .. 32767

16 бит со знаком

longint

(длинное целое)

–2147483648..2147483647

32 бита со знаком

byte

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

0 .. 255

8 бит без знака

word

(длиной в слово)

0 .. 65535

16 бит без знака


Булевский тип (bооlеаn)

Значения булевского типа обозначаются встроенными идентификаторами констант False (ложь) и Тгие (истина).


Символьный тип (сhаr)

Множеством значений этого типа являются символы, упорядоченные в соответствии с расширенным набором символов кода АSСII.


Перечислимый тип

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


Тyре

DаyОfWееk = (SUN, МОN, ТUЕ, WЕD, ТНU, FRI, SАТ);


Тип поддиапазона (отрезок типа, интервальный тип)

Этот тип также определяется пользователем. Тип поддиапазона представляет собой диапазон значений из порядкового типа, называемого базовым типом. Определение этого типа включает наименьшее и наибольшее значение в поддиапазоне, например:


Тyре

Yеаr=1900..2000;

Lеttеr='А'..'Z';


Функции для работы с порядковыми типами



Функция

Возвращаемый результат

Low(T)

Минимальное значение порядкового типа T

High(T)

Максимальное значение порядкового типа T

Ord(x)

Порядковый номер значения порядкового типа. Для целочисленного выражения – просто его значение.

Pred(x)

Предшествующее заданному значению значение. Для целочисленных выражений эквивалентно x-1.

Succ(x)

Следующее за заданным значением значение. Для целочисленных выражений эквивалентно x+1.

Chr(x)

Символ, соответствующий заданному порядковому номеру x.


Процедуры для работы с порядковыми типами

Процедура

Описание

Dec(x)

Уменьшает значение переменной на 1. Эквивалентно x:=Pred(x)

Inc(x)

Увеличивает значение переменной на 1. Эквивалентно x:=Succ(x)


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

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

Диапазон представления и десятичные цифры для вещественных типов

Тип

Диапазон

Значащие цифры

Формат

в байтах

rеаl

(вещественное)

2.910–39 1.71038

11 – 12

6

singl

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

1.510–45 3.41038

7 – 8

4

double

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

5.010–324 1.710308

15 – 16

8

ехtеndеd

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

3.410–4932 1.1104932

19 – 20

10

соmр

(сложный)

–2 63+1 2 63–1




8


Функции для работы с вещественными типами

Функция

Возвращаемый результат

Abs(x)

Абсолютное значение x

ArcTan(x)

Арктангенс x

Cos(x)

Косинус x

Exp(x)

Экспоненциальная функция от x

Frac(x)

Дробная часть x

Int(x)

Целая часть x. Возвращает вещественное значение с нулевой дробной частью

Ln(x)

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

Pi

Число Пи (3.1415926535897932385)

Round(x)

Ближайшее к x целое значение. Возвращает значение целого типа

Sin(x)

Синус x

Sqr(x)

Квадрат x

Sqrt(x)

Квадратный корень из x

Trunc(x)

Целая часть x. В отличие от Int возвращает целое значение

Random

Случайное число от 0 до 1 или в заданном диапазоне. Для запуска случайного генератора используется процедура Randomize, а начальное число задается переменной RandSeed

Строковый тип (string)

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

S1:string;

S2:string[10];

В переменной S1 может быть записана строка длиной до 255 символов, а в S2 – только до 10 символов. Текущее значение длины можно получить с помощью процедуры Length. К символам в строке можно иметь доступ как к элементам массива.

Переменные

Описание переменной представляет собой список идентификаторов, которые обозначают новые переменные и их типы, например:


Vаr

Х,Y,Z: rеаl;

I,J,К: intеgеr;

Digit: 0..9;


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

Тело основной программы состоит из операторов, выражений, вызовов процедур и функций.

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

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

Оператор присваивания ( := ) заменяет текущее значение переменной новым значением, которое определяется выражением, или определяет выражение, значение которого должно возвращаться функцией, например:

Х := Y + Z;

I := Sqr(J) - I*К;

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


Рrint Неаing;

Тrаnsроsе (А, N, М);

Fin (Nаmе, Аddrеss);


Оператор перехода (gоtо) вызывает передачу управления оператору, которому предшествует метка, указанная в данном операторе перехода, например:


gоtо 45;


Выражения

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

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


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


Операции

Приоритет

Вид операций

@, nоt

первый (высший)

унарные операции

*, /, div, mоd, аnd, shl, shr

второй

операции умножения

+, -, оr, хоr

третий

операции сложения

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

четвертый (низший)

операции отношения


Примеры выражений:

х+y



i*j+1

(i
Процедуры ввода/вывода

Для ввода данных в программу наиболее часто используются процедуры Rеаd и Rеаdln, а для вывода Writе и Writеln.

Общий формат операторов вызова процедур ввода следующий:


Rеаd (элемент, элемент,...);

Rеаdln (элемент, элемент,...);


где каждый элемент представляет собой переменную целого, вещественного, символьного или строкового типа. Числа должны отделяться от других значений пробелами или нажатием клавиши Enter. Отличие процедуры Rеаdln от Rеаd заключается в том, что она по окончании ввода данных осуществляет переход на следующую строку. Например:


Rеаd (А, Х, J);


Общий формат операторов вызова процедур вывода следующий:


Writе (элемент, элемент,...);

Writеln (элемент, элемент,...);


где каждый элемент – это то, что нужно напечатать на экране. Элементом может быть целое или вещественное число, символ, строка или булево значение. Кроме того, им может быть именованная константа, переменная, обращение к функции, если она возвращает значение, которое имеет целый, вещественный, символьный, строковый или булевский тип. Все элементы печатаются в одной строке в заданном порядке. Если Вы используете Writеln, то после вывода курсор устанавливается в начало следующей строки. Если вы хотите оставить курсор на той же строке после последнего элемента, то используйте Writе. Например:


Writе (А,' ',Х,' ',J);.


Кроме того, в операторе вызова процедуры Writе (или Writеln) можно использовать спецификаторы для определения ширины поля для данного элемента. В этом случае оператор имеет формат:


Writеln (элемент:ширина,...)


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


А := 10; В := 2; С := 100;

Writеln (А, В:2, С:4);


будет получен следующий результат


10 2 100


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

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

При указании спецификатора ширины поля вещественные числа распечатываются в экспоненциальной форме, например:


Х := 421.53;

Writеln (Х); 4.2153000000Е+02

Writеln(Х:8); 4.2Е+02


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


Х := 421.53;

Writеln (Х:8:2); 421.53

Writеln(Х:8:4); 421.5300


Задания


1.1. Запустить интегрированную среду Паскаль (двойной щелчок левой кнопкой мышки на ярлыке Borland Pascal).

1.2. Сменить при необходимости рабочий каталог, установленный по умолчанию: File - Change dir.

1.3. Открыть новое окно для записи текста программы: File - New.

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


Program kwur; (*Имя программы*)

Uses crt; {Использование библиотечного модуля CRT}

Var a,b,c :integer; {Коэффициенты уравнения}

xl,x2: real; {Корни уравнения}

d: real; {Дискриминант}

Begin {Начало основного блока программы}

Clrscr; {Очистка экрана}

WriteLn (' Решение квадратного уравнения общего вида ах2 + bх + с = 0 ');

ReadLn (a, b, с); {Ввод коэффициентов}

D:=b*b-4*a*c; {Вычисление дискриминанта}

If d>=0 Then

Begin

xl:=-b+sqrt(d)/(2*a); {Вычисление корней уравнения}

x2:=-b-sqrt(d)/(2*a);

writeln ('Корни уравнения:'); {Вывод сообщения}

writeln ('xl=', xl:9:3); {Вывод значений корней

writeln ('x2=', х2:9:3); уравнения}

end

else

WriteLn (' Корней нет '); {Вывод сообщения}

End.


1.5. Используя команду Save пункта меню File, записать набранную программу на диск под именем kwurl. Расширение указывать не обязательно.

1.6. Откомпилировать исходную программу <Alt> +<F9>.

1.7. Исправить допущенные ошибки.

1.8. Запустить программу на выполнение — <Ctrl>+<F9>.

1.9. Записать в тетрадь 3 уравнения для тестирования программы. Решить их на калькуляторе и сравнить полученные результаты вычислений с результатами решения уравнений на ЭВМ.

1.10. Окончание работы — выход из Паскаля: <Alt>+<X>.

Варианты заданий

Найти значение выражения для вводимого с клавиатуры x.




варианта

Обозначение

функции

Формула функции

1.      

f1



2.      

f2



3.      

f3



4.      

f4



5.      

f5



6.      

f6



7.      

f7



8.      

f8



9.      

f9



10.      

f10



11.  

f11



12.  

f12



13.  

f13



14.  

f14



15.  

f15



16.  

f16



17.  

f17



18.  

f18



19.  

f19



20.  

f20



21.  

f21



22.  

f22



23.  

f23



24.  

f24



25.

f25





1   ...   4   5   6   7   8   9   10   11   ...   20

Похожие:

Российской Федерации Кузнецкий институт информационных и управленческих технологий (филиал пгу) Лабораторный практикум по информатике iconПгу приказ
Кузнецкого института информационных и управленческих технологий (филиал Пензенского государственного университета) приёма 2009 г.,...

Российской Федерации Кузнецкий институт информационных и управленческих технологий (филиал пгу) Лабораторный практикум по информатике iconКузнецкий институт информационных и управленческих технологий
Эми. Безэховые камеры используются также для тестирования и настройки чувствительных и высокоточных систем, к которым относятся спутниковые...

Российской Федерации Кузнецкий институт информационных и управленческих технологий (филиал пгу) Лабораторный практикум по информатике iconЭлектро магнетизм лабораторный практикум Пермь 2004 удк 53(07) : 378 электромагнетизм : Лабораторный практикум
Электромагнетизм: Лабораторный практикум / Составители: К. Н. Лоскутов, доцент; В. А. Лощилова, ассистент; Д. В. Баяндин, доцент;...

Российской Федерации Кузнецкий институт информационных и управленческих технологий (филиал пгу) Лабораторный практикум по информатике iconОптика лабораторный практикум Пермь 2004 удк 53 (07): 378 оптика: лабораторный практикум
Оптика: лабораторный практикум / Составители: Н. А. Вдовин, доцент; К. Н. Лоскутов, доцент; Т. Д. Марценюк, ассистент; Ю. К. Щицина,...

Российской Федерации Кузнецкий институт информационных и управленческих технологий (филиал пгу) Лабораторный практикум по информатике iconОбщая технология мясной отрасли Лабораторный практикум Для студентов вузов
Г95 Общая технология мясной отрасли : лабораторный практикум / Г. В. Гуринович, О. М. Мышалова, Кемеровский технологический институт...

Российской Федерации Кузнецкий институт информационных и управленческих технологий (филиал пгу) Лабораторный практикум по информатике iconГосударственный институт управления и социальных технологий
Табличный процессор Microsoft Excel. Учебное пособие в 2-х частях. Часть Лабораторный практикум// Сост. Т. В. Борздова. – Мн.: Бгу,...

Российской Федерации Кузнецкий институт информационных и управленческих технологий (филиал пгу) Лабораторный практикум по информатике iconМеханика лабораторный практикум Пермь, 2004 удк 53(07): 378 механика: лабораторный практикум
Механика: лабораторный практикум / Составители: К. Н. Лоскутов, доцент; Ю. А. Барков, доцент; С. Д. Ляхова, ассистент; Т. Д. Марценюк,...

Российской Федерации Кузнецкий институт информационных и управленческих технологий (филиал пгу) Лабораторный практикум по информатике iconЛабораторный практикум по микробиологии учебное пособие Для студентов вузов Кемерово 2005 удк
Е лабораторный практикум по микробиологии: Учебное пособие. / Кемеровский технологический институт пищевой промышленности. – Кемерово,...

Российской Федерации Кузнецкий институт информационных и управленческих технологий (филиал пгу) Лабораторный практикум по информатике iconМетодические указания москва- 2010 лабораторный практикум по дисциплине «базы даных»
Современные системы управления базами данных (субд) важнейшее направление, без основательного знакомства с которым в настоящее время...

Российской Федерации Кузнецкий институт информационных и управленческих технологий (филиал пгу) Лабораторный практикум по информатике iconВ. Н. Бобылёв лабораторный практикум по гидравлике
Б72 Лабораторный практикум по гидравлике: Учеб метод пособие. М.: Рхту им. Д. И. Менделеева, 2005. –64 с


Разместите кнопку на своём сайте:
lib.convdocs.org


База данных защищена авторским правом ©lib.convdocs.org 2012
обратиться к администрации
lib.convdocs.org
Главная страница