Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии 


Стандартные процедуры обработки строк




Delete (St, Poz, N) – удаление N символов из строки St, начиная с позиции Poz.

Insert (Str1, Str2, Poz) – вставка строки Str1 в строку Str2, начиная с позиции Poz.

Str (I[:<размер>:<точность>], St) – преобразование числового значения I в строковое значение. Параметры “размер” и “точность” у числового значения имеют тот же смысл и задаются точно так же, как в операторе вывода данных. Результат преобразования данных помещается в строку St.

Val (St, I, Cod) – преобразование числового значения из строкового представления St в значение целого или вещественного типа. Результат помещается в числовую переменную I. Cod - переменная целочисленного типа, в которую заносится признак завершения операции преобразования данных. В случае успешного завершения преобразования данных переменная Cod будет содержать значение 0, в противном случае в ней будет записан номер символа строки, не соответствующий формату строкового представления числовых данных.

Стандартные функции обработки строк

Copy (St, Poz, N)– выдает подстроку, выделенную из строки St, длиной N символов начиная с позиции Poz.

Length (St) – возвращает размер в символах строки St.

Pos (Str1, Str2) – обнаруживает первое появление в строке Str2 подстроки Str1. Результатом является номер символа в строке Str2, с которого начинается подстрока Str1, или 0.

Concat (S1 [,S2, ..., Sn]) – конкатенация (сцепление) нескольких строк в одну строку.

 

Работа в среде Турбо-Паскаль

Отладка программ

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

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

Клавиша <F4> используется для выполнения программы без трассировки (выполне­ния по шагам) до положения курсора в исходном тексте программы.

Клавиша <F7> используется для выполнения одной строки (оператора) программы. При этом будет осуществляться трассировка процедур и функций, содержащихся в программе.

Клавиша <F8> используется для выполнения одной строки (оператора) про­граммы без трассировки процедур и функций.

Клавиши <Ctrl>+<F8> отмечаются строки в программе, являющиеся точками останова – прерывания процесса автоматического выполнения программы. Если в процессе выполнения программы в среде Турбо-Паска достигается точка останова, выполнение программы приостанавливается, отображается исход­ный текст и курсор останавливается на строке с точкой останова без выполнения операторов, находящихся в ней.

Клавишами <Ctrl>+<F2> прерывается процесс выполнения программы в режиме отладки.

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

Для занесения переменных и выражений в список просмотра в окне Watch используются клавиши <Ctrl>+<F7>, после чего должно быть введено имя переменной и выражение. Для автоматического добавления переменной в список просмотра в окне Watch необходимо позиционировать курсор на идентификаторе и нажать клавиши <Ctrl>+<F7>.

Задания для лабораторной работы

Написать программу, использующую стандартные процедуры и функции обработки строк и выполняющую следующие действия:

1. с помощью оператора присваивания или оператора ввода задать строко­вой переменной значение “Пензенский госу­дарственный педагогический университет имени В.Г. Белинского”;

2. выделить в этой строке 2-3 слова, являющиеся подстрокой этой строки. Например, “педагог”, “суд”, “удар”;

3. сформировать из ее подстрок 2-3 новых слова. Например, “педа­гоги”+ “к”+“а”, “Пенз”+“а”, “Г”+“осударств”+“о”.


Лабораторная работа N 5

Составной оператор. Условный оператор

 

Теоретическая часть

Составной оператор

Составной операторилипоследовательностьобъявляет некоторую последовательность операторов в виде одного оператора. Это необходимо при использовании последовательностей операторов в других управляющих операторах.

Формат составного оператора:

Begin

[<оператор>;]

end;

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

Условный оператор

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

Для задания ветвящихся алгоритмов в языке Паскаль используется условный оператор.

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

 

Полная форма условного оператора имеет формат:

if <условие> then

<оператор_1>

Else

<оператор_2>;

где <оператор_1> и <оператор_2> – простые операторы языка Паскаль. Если в качестве <оператор_1> или <оператор_2> требуется выполнить последовательности операторов, то они должны быть объявлены составными операторами.

В качестве условия может использоваться любое логическое выражение, а в ка­честве оператора – любой оператор языка Паскаль, в том числе и составной.


Например: if a > b then

w := a + c

else

begin

w := a - c;

writeln ('w = ', w);

end;

 

В этом примере в случае невыполнения условия будет выполняться со­ставной оператор, содержащий два простых оператора.

Неполная (сокращенная) форма условного оператора имеет формат:

if <условие> then

<оператор>;

Например:

if a < 0 then

writeln ('a - отрицательно');

Работа в среде Турбо-Паскаль

Подменю File (файл)

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

Пункт подменю New позволяет открыть новое окно редактора программ с именем по умол­чанию NONAMExx.PAS, где xx - число от 00 до 99.

Пункт подменю Open (<F3>) открывает диалоговое окно для выбора файла с программой на языке Паскаль и его открытия в окне редактора. Выбранный файл загружается в новое окно.

Пункт подменю Save (<F2>) сохраняет текст программы из активного окна ре­дактора, в существующий файл на диске.

Пункт подменю Save As позволяет сохранить текст программы из активного окна редактора, в файл на диске с другим именем или задать имя для нового программного файла.

Пункт подменю Save All сохраняет измененные тексты программ из всех окон редактирования в соответствующие файлы на диске.

Пункт подменю Change Dir позволяет задать текущий каталог на некотором устройстве. Текущий каталог - это каталог, который Turbo Pascal использует для поиска и сохране­ния файлов.

Пункт подменю Print позволяет печатать содержимое активного окна редактора на устройстве печати.

Пункт подменю Printer Setup используется для задания параметров принтера и печатаемого текста.

Пункт подменю DOS Shell позволяет временно выйти из среды Турбо-Паскаль в среду DOS для выполнения команд операционной системы. Для возврата в среду Турбо-Паскаль наберите команду EXIT и нажмите клавишу <Enter>.

Пункт подменю Exit(<Alt>+X) завершает работу системы программирования Турбо-Паскаль и возвращает вас в операционную систему. Если вы не сохранили ка­кие-либо изменения, то перед выходом Турбо-Паскаль запрашивает, хотите ли вы их сохранить.

 

Задания для лабораторной работы

Вариант 1

1. Даны два действительных числа X и Y. Определить, принадлежит ли точка с координатами (X,Y) окружности с радиусом R.

2. Даны три действительных числа A, B и C (A<>0). Определить, имеет ли уравнение A*X2 + B*X + C = 0 действительные корни. Если имеет, то найти их. В противном случае выдать сообщение о том, что действительных корней нет.

3. Если сумма трех попарно различных действительных чисел X, Y и Z меньше единицы, то переменной X присвоить значение полусуммы значений переменных Y и Z. В противном случае заменить меньшее из X и Y разностью двух оставшихся значений.

4. Даны два действительных числа X и Y. Определить, принадлежит ли точка с координатами (X,Y) кольцу между двумя окружностями с радиусами R1 и R2 (R1>R2>0).

5. Даны площадь круга R и площадь квадрата S. Определить, помес­тится ли квадрат в круге.

6. Даны площадь круга R и площадь квадрата S. Определить, помес­тится ли круг в квадрате.

7. Даны произвольные числа A, B и C. Выдать сообщение, можно ли по­строить треугольник с такими длинами сторон.

8. Даны произвольные числа A, B и C. Удвоить эти числа, если A>B>C, и уменьшить их на 1, если это не так.

9. Даны действительные числа X, Y и Z. Вычислить выражение

min2 (X+Y+Z/2, X*Y*Z) + 1.

10. Даны два действительных числа X и Y. Вычислить выражение min(X, Y).

11. Даны два действительных числа X и Y. Вывести первое число, если оно больше второго, и оба числа, если это не так.

12. Даны два действительных числа X и Y. Вычислить выражение max(X, Y).

13. Если значение переменной W не равно 0 и при этом котангенс от W меньше 0.5, то поменять знак у W. Если значение W не равно 0, то присвоить переменной W значение 1.

14. Даны два действительных числа X и Y. Заменить первое число нулем, если оно меньше или равно второму, и оставить числа без изменения в против­ном случае.

15. Перераспределить значения переменных X и Y так, чтобы в X оказа­лось большее из этих значений, а в Y – меньшее.

 

Вариант 2

1. Найти минимальное число в последовательности из трех произвольно за­даваемых чисел.

2. Найти максимальное число в последовательности из трех произвольно задаваемых чисел.

3. Найти сумму только положительных и только отрицательных чисел в по­следовательности из четырех произвольно задаваемых чисел.

4. Определить, сколько положительных, отрицательных и нулей среди двух произвольно задаваемых чисел.

5. В последовательности из четырех произвольно задаваемых чисел найти числа больше 4.

6. Найти минимальное по модулю число в последовательности из трех про­извольно задаваемых чисел.

7. В последовательности из трех произвольно задаваемых чисел найти та­кие, которые больше или равны “а”, но меньше “b”.

8. В ЭВМ поступают результаты соревнований по плаванию для трех спортсменов. Выбрать и напечатать лучший результат.

9. Среди трех студентов, имеющих оценки A, B и C определить количе­ство студентов, не имеющих оценки 2 и 3.

10. Найти максимальное по модулю число в последовательности из трех произвольно задаваемых чисел.

11. Составить программу, которая по введенному времени определяла бы, ночь сейчас или день (считать, что ночные часы с 23.00 до 07.00).

12. Даны три прямоугольных треугольника, катеты которых равны A1, A2, B1, B2 и C1, C2 соответственно. Определить номер треугольника с наи­большей гипотенузой.

13. Определить количество одинаковых чисел, равных первому числу в по­следовательности произвольно задаваемых четырех чисел.

14. Подсчитать произведение положительных и произведение отрицатель­ных чисел в последовательности из трех произвольно задаваемых чисел.

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


Лабораторная работа N 6

Оператор выбора

 

Теоретическая часть

Оператор выбора

Оператор выбора Caseявляется обобщением оператора if и позволяет сделать выбор из произвольного количества возможных вариантов. Он состоит из выражения, называемого селектором, и списка операторов, каждому из которых предшествует список констант выбора. Как и в операторе if, в операторе Case может присутствовать часть else (“иначе”), имеющая тот же смысл.

Форматоператора выбора:

case <выражение-селектор> of

< список_констант _1> : <оператор_1>;

< список_констант _2> : <оператор_2>;

. . .

< список_констант _N> : <оператор_N>

Else

<оператор>

end;

где <оператор_1>, <оператор_2>, …, <оператор_N> – простые операторы языка Паскаль. Если в качестве <оператор_1>, <оператор_2>, …, <оператор_N> требуется выполнить последовательности операторов, то они должны быть объявлены составными операторами.

 

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

Список констант – это набор значений с которыми сравнивается значение селектора. Список констант должен иметь тот же тип данных, что и селектор, и может состо­ять из одной константы, списка констант, разделенных запятыми, или списка констант, заданных диапазоном (интервалом).

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

readln(n);

case n of

2, 4, 6, 8: Writeln ('Четная цифра');

1, 3, 5, 7, 9: Writeln ('Нечетная цифра');

else

writeln ('Отрицательное число или больше 10')

end;

В качестве примера задания списка констант диапазоном рассмотрим сле­дующий фрагмент программы:

case Ch of

'A'..'Z', 'a'..'z': WriteLn ('Буква');

'0'..'9': WriteLn ('Цифра');

'+', '-', '*', '/': WriteLn ('Знак операции')

else

WriteLn ('Спецсимвол');

end;

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

 





Рекомендуемые страницы:


Читайте также:

Последнее изменение этой страницы: 2016-03-15; Просмотров: 364; Нарушение авторского права страницы


lektsia.com 2007 - 2019 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.018 с.) Главная | Обратная связь