Составить программу получения звуковых сигналов, используя строковую процедуру Val(s,t,code) - Turbo Pascal
Формулировка задачи:
Помогите с задачей: Используя строковую процедуру Val(s,t,code) для преобразования текстовой информации составить программу получения звуковых сигналов.
Решение задачи: «Составить программу получения звуковых сигналов, используя строковую процедуру Val(s,t,code)»
textual
Листинг программы
uses crt; var s:string; v,d,c:integer; begin s:='600 2000'; val(copy(s,1,pos(' ',s)-1),v,c); if c<>0 then begin writeln('Недопустимое значение высоты'); readln; exit end; delete(s,1,pos(' ',s)); val(s,d,c); if c<>0 then begin writeln('Недопустимое значение длительности'); readln; exit end; sound(v); delay(d); nosound; end.
Объяснение кода листинга программы
- Программа использует процедуру Val для получения трех значений из строки.
- Первое значение, полученное из строки, представляет высоту звука и сохраняется в переменной V.
- Второе значение, полученное из строки, представляет длительность звука и сохраняется в переменной D.
- Третье значение, полученное из строки, используется для проверки корректности ввода и сохраняется в переменной C.
- Если третье значение не равно нулю, программа выводит сообщение об ошибке и завершается.
- Строка удаляется, чтобы убрать неиспользуемую часть после первого использования функции Val.
- Программа проверяет, не пустая ли строка после удаления, и если это так, выводит сообщение об ошибке и завершается.
- Функция Sound используется для воспроизведения звука с высотой, указанной в переменной V.
- Функция Delay используется для задержки воспроизведения звука на время, указанное в переменной D.
- Функция Nosound используется для остановки воспроизведения звука после его воспроизведения.
- Значение переменной V используется как высота звука.
- Значение переменной D используется как длительность звука.
- Значение переменной C используется для проверки корректности ввода.
- Значение переменной S представляет исходную строку ввода.
- Позиция пробела в строке S используется для разделения ввода на высоту и длительность.
- Копирование строки S используется для передачи части строки в функцию Val.
- Удаление строки S используется для удаления неиспользуемой части строки после использования функции Val.
- Чтение данных из стандартного ввода используется для получения ввода от пользователя.
- Запись данных на стандартный вывод используется для вывода сообщений об ошибке.
- Функция Val используется для преобразования строки в целое число.