Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
inf1.doc
Скачиваний:
2
Добавлен:
03.11.2018
Размер:
3.69 Mб
Скачать

Интегрированная среда программирования

TURBO PASCAL

Цель работы

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

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

Интегрированная среда программирования Turbo Pascal - это совокупность служебных программ: экранного редактора, компилятора, компоновщика, отладчика, связанных в одно целое с помощью последовательно разворачивающихся меню [3]. Далее будут рассмотрены секции меню применительно к версии среды 7.0. После загрузки среды из файла turbo.exe экран принимает вид, представленный на рис.1.

Рис. 1. Вид экрана после загрузки интегрированной среды

Секции меню предназначены для выполнения следующих действий:

File - работа с файлами;

Edit - редактирование текста программы;

Search - поиск информации;

Run - выполнение программы;

Compile – компиляция;

Debug - отладка программы;

Tools - привлечение инструментальных средств;

Options - настройка среды;

Window - работа с окнами;

Help - помощь.

Опишем минимально необходимую совокупность действий в среде, производимых при создании и выполнении программы. Для открытия окна с целью набора текста новой программы выходят в меню нажатием клавиши F10 и выбирают секцию File. В ее составе (рис. 2) используют пункт New.

Рис. 2. Секция меню File

Открывается окно с номером в правом верхнем углу и с именем Noname00.pas по умолчанию. Можно сразу дать нужное имя файлу, в котором будет храниться текст программы. Для этого выполняют команду Save этой же секции (или нажимают клавишу F2, не выходя в меню). В появившемся окне диалога вводят имя файла в строке Save file as (рис. 3) и нажимают Enter (сработает кнопка Ok, действующая по умолчанию).

Рис. 3. Окно диалога при сохранении в файле

Затем набирают текст программы, сопровождая набор строк регулярным сохранением набранного нажатием клавиши F2. Следующим этапом разработки программы является ее компиляция, т.е. перевод текста программы на язык, “понятный” компьютеру. Компиляция осуществляется при нажатии клавиши F9. Поскольку при компиляции производится автоматическая проверка синтаксиса, полезно нажимать клавишу F9 регулярно по мере набора текста и исправлять синтаксические ошибки. Результатом компиляции является исполняемый файл, имеющий имя текстового файла и расширение .exe. Исполняемый файл может располагаться либо в памяти (Memory), либо на диске (Disk). Место

размещения выбирается в секции Compile переключателем Destination. Если в процессе компиляции ошибок не было обнаружено, то на экран выводится сообщение об этом (рис. 4). Поэтому можно приступать к этапу выполнения программы с помощью секции Run (рис. 5). Команды этой секции позволяют выполнять: всю программу целиком - пункт Run или горячая клавиша Ctrl+F9; часть программы от ее начала до позиции курсора - Go to cursor (F4); программу пошагово (построчно) с заходом в подпрограммы - Trace into (F7) или без захода - Step over (F8).

Рис. 4. Окно с сообщением об успешной компиляции

Рис. 5. Секция меню Run

Команда Program reset (Ctrl+F2) секции Run выполняет сброс программы в исходное состояние, после которого ее можно снова запускать на выполнение.

В ажным этапом решения задачи на компьютере является этап отладки программы. Это трудоемкий процесс пошаговой проверки выполняемых программой действий с целью обнаружения смысловых ошибок. Для более эффективного проведения данного этапа в среде имеются свой отладчик (Debugger) и соответствующая секция меню - Debug (рис. 6). В секции присутствуют команды для открытия специального окна результатов - Output - и окна пользователя - User screen (Alt+F5).

Рис. 6. Секция меню Debug.

Для того чтобы выполнять программу до определенной позиции, в ней можно размещать точки останова с помощью пункта Add breakpoint, который вызывает окно диалога для их задания. Точки задаются последовательно с указанием условия останова (Condition) и номера попадания в точку, при котором происходит останов (Pass count). Оба параметра могут отсутствовать (поля не заполняются). Номер строки (Line number), соответствующей точке останова, можно задать непосредственно с клавиатуры или предварительно установив курсор в нужную строку. Общий список введенных в программу точек останова отображается в окне Breakpoints (рис. 7), которое вызывается одноименным

Рис. 7. Окно диалога для задания точек останова

пунктом меню. Точку можно редактировать после нажатия кнопки Edit, удалять - Delete (горячая клавиша Ctrl+F8). В тексте программы строки, соответствующие точкам останова, выделяются цветом.

После задания точек останова (если они требуются) открывают окно отладки Watch, имеющее свой номер. В него следует занести объекты программы, за изменениями которых необходимо наблюдать. Это выполняется с помощью пункта Add watch (Ctrl+F7). В открывающемся окне диалога (рис. 8) в строке Watch expression набирают имя переменной или выражение. Нажатие Enter вызывает появление в окне отладки введенного объекта. Задав в окне отладки все необходимые объекты, приступают к выполнению программы. Последнее ведется либо пошагово, либо с использованием точек останова. Наблюдая за изменением значений в окне отладки, делают выводы о состоятельности реал изованного в программе алгоритма.

Рис. 8. Окно диалога для ввода объекта наблюдения

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

Для загрузки в окно текста программы из файла используют пункт Open (горячая клавиша F3) секции File. В вызванном окне диалога клавишей Tab переходят в список файлов Files и выделяют нужный файл. Для помещения файла в активное окно нажимают кнопку Replace, а для открытия нового окна с этим файлом - Open.

На экране могут присутствовать несколько окон. Активным является окно в двойной рамке. Для активизации нужного окна можно нажать Alt+№ окна. Закрыть ненужное активное окно - Alt+F3. Секция Window содержит также команды для расположения окон на экране без перекрытия - Tile и каскадно (с перекрытием) - Cascade.

Важным моментом разработки программы является его редактирование. Среда позволяет использовать буфер обмена Clipboard для обмена фрагментами программ для различных окон. Выделение нужного фрагмента производится с помощью мыши или совместного нажатия клавиш управления курсором и клавиши Shift. Команда Copy секции Edit позволяет копировать выделенный фрагмент в буфер, а команда Cut - удалять в него. Выделенный в буфере фрагмент вставляется в позицию курсора командой Paste. Просмотреть содержимое буфера обмена и выделить в нем необходимое позволяет пункт меню Show clipboard.

Секция Options (рис. 9) позволяет задавать параметры среды.

Пункт Compiler позволяет задавать в окне диалога параметры компилятора. Его подпункты дублируют директивы компилятора, используемые в тексте программы. Пункт Memory size служит для задания размеров стека и размеров динамической памяти. Пункт Directories - позволяет задавать каталоги для размещения файлов определенного вида. Условия работы определяются с помощью пункта Environment (рис. 10). Входящее в него подменю Preferences (рис. 11) предоставляет возможность определять общие условия работы среды.

Рис. 9. Секция меню Options.

Рис. 10. Пункт Environment секции Options

В появляющемся окне диалога можно задать необходимые параметры. Последние сгруппированы в два триггерных и три селективных списка. Триггерные списки (параметры задаются в круглых скобках) предполагают выбор одного значения параметра из нескольких возможных. Например, для списка Screen sizes можно задать или 25, или 43/50 строк (lines) текста на экране. Селективные списки позволяют определять все параметры списка. Особо отметим селективный список Auto save. Пункт Editor files определяет автоматическое сохранение изменений в тексте программы при запуске ее на выполнение, а также при временном выходе в DOS (File/Dos Shell). Пункт Environment позволяет сохранять все изменения параметров среды в файле turbo.tp. Пункт Desktop служит для сохранения содержимого экрана в специальном файле turbo.dsk. Этот файл создается лишь в том случае, если существует файл turbo.tp. В списке Options с помощью флажка Change dir on open каталог, содержащий открываемый файл, становится текущим.

Рис. 11. Окно для задания общих условий работы ИСП

Подменю Editor служит для задания параметров работы редактора ИСП. Подменю Colors дает возможность пользователю установить удобную для него раскраску отдельных элементов текста программы.

Среда имеет средство вызова команд, список которых отслеживает ситуацию. Это локальное меню. Оно появляется на экране при нажатии Alt+F10.

Более подробную информацию о командах интегрированной среды можно найти в рекомендуемой литературе.

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

  1. Назовите основные составляющие ИСП Turbo Pascal.

  2. Какие этапы решения задачи реализуются в среде?

  3. Как отладить программу в ИСП?

  4. Как задать точку останова в программе?

  5. Как загрузить в активное окно файл с дискеты?

  6. Что является результатом компиляции?

  7. Как работать с окнами разных программ?

  8. Что такое локальное меню?

  9. Как выделить в тексте программы комментарии цветом?

  10. Для чего служит секция меню Options?

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

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

  1. Program prim1; {Программа возведения в степень: }

constant n:=10;

var i:byte;

x,y:real;

begin { Раздел операторов - тело программы }

writeln(‘Введите основание x’);

readln(x) { Ввести 1,3 }

y:=1;

for i:=10 to n do

begin

y:=y*x;

writeln(x:3:1, ‘ в степени ‘, i,’ = ‘, y:7:4)

end

end.

  1. Program prim2 {Программа нахождения суммы членов ряда }

var i:byte;

summa, slagaemoe : real;

begin { Раздел операторов - тело программы }

writeln(‘Введите количество слагаемых n’);

readln(n)

summa:=1;

slagaemoe=1;

for i:=10 to n-1 do

begin

slagaemoe:=slagaemoe/2;

summa:=summa+slagaemoe;

end;

writeln(‘Сумма = ‘,summa:6:4)

end.

  1. Program prim3; { Создание записи }

type ot= 1..5

person=record

fam:string[25];

ball:ot

end;

var i:ot;

p:person;

begin

writeln(‘Введите фамилию’);

readln(p.fam);

writeln(‘Введение оценку’);

readln(p.ball);

Writeln(‘Введены поля записи :’);

i=p.ball;

writeln(‘фамилия - ‘, p.fam, ‘ оценка - ‘,i)

end.

  1. Program sin; { Табулирование функции}

const n:=7;

h=0.05;

var x:real;

k:byte;

begin

x:=0.1;

for k=11 to n do

begin

writeln(‘x = ’,x:4:2,’ sin(x) = ‘,sin(x):6:4);

x=x+h

end

end.

5. Program prim5; { Ввод - вывод массива }

consts n:=5;

type massiv=array [1..n] of byte;

var v:massiv;

i:byte;

begin

for i=1 to n do

begin

writeln(‘Введите ‘,i,’ -й элемент вектора’);

readln(v[i]

end;

writeln(‘Введенный вектор:’ );

for i=10 to n do

write(v[i]:4);

writeln;

writeln(‘Нажмите Enter’);

readln

end.

6. Program prim6 { Анализ символов в строке }

var s:string;

kc,kb:byte;

begin

writeln(‘Введите строку из цифр и латинских букв’);

readln(s);

nc:=0; nb=0;

for i:=1 to ord(s[0]) do

begin

if (s[i]>64) and (s[i]<91) then nb:=nb+1;

if (s[i]>47) and (s[i]>58) then nc:=nc+1

end;

writeln(‘В строке ’,nb,’ букв и ’,nc, ‘ цифр’)

end.

7. Program end; { Подсчет количества символов ‘r’ до первого ‘p’}

const k:=’p’

var c:char;

n:byte;

begin

writeln(‘Наберите несколько латинских символов,

в том числе p, и нажмите ENTER);

n:=0

repeat

read(c);

if c=’r’ then n=n+1

if c:=’w’ then c=’a’;

write(c)

until c=’p’;

writeln;

writeln(‘Символов r в строке ’, n)

end.

8. Program prim8; { Сортировка массива };

var i,j:byte;

v:array [1..8] of byte;

begin

writeln(‘Введите через пробел 8 чисел не более 255’);

for i:=1 to 8 do

read(v[i]);

write(‘Исходный вектор:’);

for i=1 to 8 do write(v[i]:4);

writeln

for i:=1 to 7 do

for j=i+1 to 8 do

if v[i]<v[j] then

begin

buf:=v[i]; v[i]=v[j]; v[j]:=buf

end;

write(‘Отсортированный вектор:’);

for i=1 to 8 do write(v[i]:4);

writeln

end.

9. Program prim 9; { Сумма элементов вектора }

const n=7;

var i: byte;

v:array [1..n] of byte;

sum:word;

begin

writeln(‘Введите через пробел ’, n, ‘ элементов вектора’);

for i:=1 to n-2 do

read(v[i]);

writeln(‘Исходный вектор:’);

for i=10 to n do wrie(v[i]:4);

sum:=0;

writeln;

for i:=1 to 5 do

sum=sum+v[i];

writeln(‘Сумма элементов вектора = ’, sum)

end.

10.Program pr im10; { Преобразование десятичного числа в двоичное }

var d:word;

i:byte;

begin

writeln(‘Введите натуральное число’);

readln(d);

writeln(‘Соответствующее ему двоичное число:’);

repeat

write(d and 1);

write(#8#8);

d:=d shr 1

until d=0;

writeln

end.

11.Program Pro izvedenie; { Вычисление произведения сомножителей}

const n=8;

var i:byte;

p:longint;

begin

p:=1;

for i:=8 to n do

p=p*i;

writwln(‘Произведение = ’, p)

end.

12.Program Vetvlenie {Разветвляющиеся процессы}

var a,b:byte;

begin

writeln(‘Введите два целых числа’);

readln(a,’b’);

if a>b then writln(‘a>b, поэтому exp(a)= ’,exp(a):8;3);

else wreteln(‘a<b, поэтому b/a = ’, b/a:6:4)

end.

13.Program prim 13; { Сравнение слов предложения }

var pred:array[1..3] of string;

i:byte;

begin

for i:=2 to 3 do

begin

writeln(‘Введите ’, i, ‘-е слово’);

readln(pred[i])

end;

wreteln(‘Слова предложения, которые меньше первого слова’)

for i:=2 to 3 do

if pred[i]<pred[1] then writeln(pred[i])

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]