Автор работы: Пользователь скрыл имя, 27 Февраля 2011 в 15:00, курсовая работа
Для языка Basic существует много версий, реализованных и как интерпретаторы и как компиляторы. В России Basic традиционно используется в курсе информатики средней школы. Среда визуального программирования Microsoft Visual Basic используется как программная поддержка приложений MS Office.
Язык Pascal является компилируемым и широко используется как среда для обучения программированию в ВУЗах. RAD-средой, наследующей его основные свойства, является среда Borland Delphi.
ВВЕДЕНИЕ 4
ОСНОВНАЯ ЧАСТЬ
1.1 Строковый тип данных в языке Pascal 6
1.2 Тип string и стандартный тип char 7
1.3 Функция Copy 9
1.4 Функция Concat 9
1.5 Функция Length 9
1.6 Процедура Delete 10
1. 7 Str(x, S)………………………………………………………………………10
1.8 Val(S, x, kod)………………………………………………………………....10
2.1 Постановка задачи 11
2.2 Блок- схема алгоритма решения задач………………..……………………12
2.3 Особенности паскаля……………………………………………………..14
2.4 Программа 14
2.5 Описание работы программы………………………………………………17
2.6 Пояснение работы операторов используемых в прграмме 20
2.7 Примеры работы прграммы 23
ЗАКЛЮЧЕНИЕ 24
СПИСОК ЛИТЕРАТУРЫ 25
Приложение……………………………………………………………………26
Инструкция пользователя……………………………………………………….26
Программа на контрольном примере……………
Val(S, x, kod) преобразует
строку символов S в число x. Здесь
S – строковое выражение, x – числовая
переменная (именно туда будет
помещен результат), kod – целочисленная
переменная (типа integer), которая равна номеру
позиции в строке S, начиная с которой произошла
ошибка преобразования, если преобразование
прошло без ошибок, то переменная kod равна
0.[10]
2.1 Постановка задачи
Написать программу – телеграф, который принимает от пользователя сообщения и выводит его на экран в виде последовательности точек и тире. Вывод точек и тире можно сортировать звуковым сигналом соответствующей длительности
Азбука Морзе для букв русского алфавита приведена ниже:
А .- | Б -… | В .- - | Г - - . |
Д - .. | Е | Ж …- | З - - .. |
И .. | Й . - - - | К - . - | Л . - .. |
М - - | Н - . | О - - - | П . - - . |
Р . - . | С … | Т - | У .. - |
Ф .. - . | Х …. | Ц - . - . | Ч - . - - . |
Ш - - - - | Щ - - . - | Ъ - .. - | Ы - - - . |
Ь - .. - | Э .. - . | Ю .. - - | Я . - . - |
2.2 Блок- схема алгоритма решения задач.
2.3 Особенности паскаля.
Язык
Паскаль относится к
Достоинства языка Паскаль:
1) относительная простота (т.к. разрабатывался с целью обучения программированию);
2)
идеология языка Паскаль
3)
гибкие возможности в
4)
высокая эффективность
5) наличие средств повышения надежности программ, включающих контроль правильности использования данных различных типов и программных элементов на этапах трансляции, редактирования и выполнения.
В связи с этим язык Паскаль в настоящее время находит самое широкое распространение для решения большого круга разнообразных практических и научных задач.[6]
2.4 Программа
{Телеграф-передача сообщений при помощи азбуки Морзе}
Program a;
uses crt;
const
morse : array [128..159] of string[4]=('.- ','-...','.---','--. ',
'-.. ','. ','...-','--..',
'.. ','.---','-.- ','.-..',
'-- ','-. ','--- ','.--.',
'.-. ','... ','- ','..- ',
'..-.','....','-.-.','---
'----','--.-','-..-','-.-
'-..-','..-.','..--','.-.
);
Tone=100;
L1=50;
L2=100;
L3=50;
L4=100;
L5=150;
Var
mes : string;
sim : string[4];
znak : string[1];
I, j : integer;
begin
clrscr;
writeln (‘*** телеграф ***’);
writeln (‘Введите
сообщение, которое надо
writeln (‘(используйте только большие русские буквы )‘);
write (‘ => ‘);
readln (mes);
for i=1 to Length (mes) do
begin
if (mes [i] > = ‘A’) and (mes[i] <= ’Я’) then
begin
sim := morse [ord (mes[i] :=1];
repeat
if (sim[j]= ‘-’ ) or (sim[j]= ‘.’ ) then
begin
write (sim [j]);
sound (1000);
case sim[j] of
‘.’: Delay (L1);
‘-’: Delay (L2);
end;
Nosound;
Delay (L3);
end;
j:=j+1;
until ((sim[j]=’ ‘ ) or (j>4));
Delay (L4);
End;
else
if mes [i]= ‘ ‘ then
begin
write (‘ ‘);
Delay (L5);
end;
end;
writeln
writeln (‘ Сообщение передано! ‘);
writeln (‘ Для
завершения работы с
readln;
end.
2.5 Описание работы программы.
Program a;
Uses crt;
Const
Morse: array[128..159] of [4]=
(
‘.-‘ , ‘-…’ , ‘.---‘
, ‘--. ‘ , {А, Б, В, Г}
‘-.. ‘ , ‘. ‘,’…-‘ , ‘--..’ , {Д, Е, Ж, З}
{Ь, Э, Ю, Я}
); {Параметры передачи}
TONE=100; {частота сигнала (Гц)}
L1=50; {длительность (мс) «точки»}
L2=100; {длительность (мс) «тире»}
L3=50; {пауза (мс) между точками и тире одной буквы}
L4=100; {пауза (мс) между буквами}
L5=150; {пауза (мс) между словами}
Var
mes : string; {сообщение}
sim : string[4]; {символ в кодировке Морзе – последовательность точек и тире}
znak : string[1]; {“ передаваемый“ знак – тире или точка}
I, j : integer; {номер символа и знака}
begin
clrscr; { Очистка экрана}
writeln (‘*** телеграф ***’);
writeln (‘Введите сообщение, которое надо передать ‘);
writeln (‘(используйте только большие русские буквы )‘);
write (‘ => ‘);
readln (mes);{Ввести сообщение, которое нужно передать}
for i=1 to Length (mes) do
begin
if (mes [i] > = ‘A’) and (mes[i] <= ’Я’) then { выставляем диапазон, А и Я даны в константах, т..е. определение идет автоматически}
begin
{определим код
очередной буквы (функция ord) сообщения
и получим из таблицы
sim := morse [ord (mes[i
j :=1;
repeat
if (sim[j]= ‘-’ ) or (sim[j]= ‘.’ ) then { В Сим передалось значение состоящее из точек и тире, выбираем единичную позицию благодаря переменной J, и определяем ее. Она может быть тире, точка либо пробел. Задаем ограничения, т.е. узнаем, будет ли присутствовать тире или точка, ведь если они есть, значит есть и буква. Если пробел _ -буквы или символа первоначального сообщения тоже нету.}
begin
write (sim [j]);{Если есть точка или тире – выведется на печать}
sound (1000);
case sim[j] of{ Оператор выбора условия. Если СИМ равно точке – задержка 5, если тире – задержеа 100}
‘.’: Delay (L1);
‘-’: Delay (L2);
end;
Nosound; {Функция, определяющая окончание звука.}
Delay (L3);
end;
j:=j+1;{Буква А например
в азбуке морзе имеет вид « .-.-« Задавая
выше Jравное 1 мы определяли первую позицию
для числа А . В нашем случае первая позиция
это точка. Затем каждый раз мы прибавляем
единицу. Во втором случае это тире. В третьем
точка. В четвертом тире. Дальше не пойдет,
тк. А состоит из 4 символов }
until ((sim[j]=’ ‘ ) or (j>4));{Этот оператор будет выполняться так долго пока условия((sim[j]=’ ‘ ) or (j>4) будут ложными. Когда они станут истинными, то оператор сразу прекращает работу. }
Delay (L4); {пауза между буквами}
end
else
if mes [i]= ‘ ‘ then {пробел между символами}
begin
write (‘ ‘); {пробел между словами сообщения}
Delay (L5);
end;
end;
writeln
writeln (‘ Сообщение передано! ‘);