Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal.DOC
Скачиваний:
23
Добавлен:
21.03.2015
Размер:
1.77 Mб
Скачать

Практическое задание n 1. 42

1. Создать "бегущую строку". Строку выводить в окне, размером n+1 (n - число символов).

2. Создать "бегущую строку". Выводить одновременно две надписи одинаковой длины в разных строках одного окна.

Примечание: цвет окна и символов изменять после каждого вывода строки. Режим монитора TextMode(1);

1. 14. 4. Работа со строковыми переменными

В программе "Бегущая строка" можно использовать переменные типа String. Для этого достаточно описать переменную "cha" типом String.

Для строковых переменных допускаются операции сложения, например, если s1:='Hello!', s2:='Привет!', то переменной s3:=s1+'_'+s2; присвоится значение: "Hello! Привет!" .

Сравнение строковых переменных происходит по символам, начиная с первого. Для приведенного выше примера выражение ( s1<>s2 ) верно.

Если код первого символа в первой строке больше, чем во второй, то первая строковая переменная считается больше второй. В данном примере выражение s1<s2 верно, т. к. значение кода "Н" меньше, чем "П".

Строковую переменную можно рассматривать как массив символов, например: s1[1]:='H' , s1[2]:='e'; и т. д.

Длина строковой переменной "L" содержится в элементе с нулевым индексом и может находиться оператором L:= Ord(s1[0]); или оператором L:= Length(s1);

76

Функция Copy(S,L1,L2); позволяет скопировать строковую переменную "S" в

другую строковую переменную.

Где L1 - номер индекса первого копируемого символа,

L2 - число копируемых символов.

Например, для заданного ранее значения s1 переменная Sc:=Copy(s1,1,5); примет значение "Hello".

Процедура Delete(S,L1,L2); позволяет удалить из строки "S" часть символов.

Где L1 -номер индекса первого удаляемого символа,

L2 - число удаляемых символов.

Например, после действия оператора Delete(s1,6,1); переменная "s1" примет значение "Hello".

Процедура Insert(Si, S, L1); позволяет вставить в строку "S" строку "Si"

начиная с номера "L1" строки "S".

Здесь переменные L1, L2 - типа Integer.

Практическое задание n 1. 43

1. Создать "бегущую строку" с использованием функции копирования. Строку вводить оператором Read(S); c пробелом в конце строки. Длина строки n:= Length(s); Выводить строку оператором Write(Sc); где Sc:= Copy(S, L1, L2).

2. Создать "бегущую строку" с использованием функции копирования при "j<=n" Sc:=Copy(S, L1, L2); а после "else" c процедурой удаления Delete(Sc, L3, L4);. Строку вводить оператором Read(S); c пробелом в конце строки. Выводить оператором Write(Sc); Длина строки n:=Length(s);

1. 14. 5. Управление звуковыми сигналами

Sound(N); - включение звука с частотой тона N (измеряется в герцах).

Delay(M); - задержка выполнения программы на M миллисекунд.

NoSound; - выключение звука. Здесь N и M - типа Word.

Управление звуковым устройством компьютера осуществляется последовательностью операторов:

Sound(F); Delay(N); NoSound; где F - частота звука в Гц.

Для программирования мелодии удобно применять известную формулу расчета частоты звука:

F=Round(440*Exp(Ln(2)*(No-(10-Nn)/12)));

где No - номер октавы -3<= No <=4; Для основной октавы No=0.

Nn - номер ноты 1 - До, 2 - До#, 3 - Ре, и т. д. 12 - Cи.

При сквозной нумерации нот принять для No<0 - Nn<1, для No>0 - Nn>12.

77

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