Строковые данные на Паскале

Автор работы: Пользователь скрыл имя, 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
Программа на контрольном примере……………

Файлы: 1 файл

строковые данные на паскале.doc

— 291.50 Кб (Скачать файл)

                                        

                                             1.8 Val(S, x, kod)

Val(S, x, kod) преобразует  строку символов S в число x. Здесь  S – строковое выражение, x – числовая  переменная (именно туда будет  помещен результат), kod – целочисленная переменная (типа integer), которая равна номеру позиции в строке S, начиная с которой произошла ошибка преобразования, если преобразование прошло без ошибок, то переменная kod равна 0.[10] 
 

                                     
 
 
 

                           2.1 Постановка задачи

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

     Азбука Морзе для букв русского алфавита приведена ниже:

     А  .-      Б  -…      В  .- -      Г - - .
     Д  - ..      Е      Ж  …-      З  - - ..
     И  ..      Й  . - - -      К  - . -      Л  . - ..
     М  - -      Н  - .      О  - - -      П  . - - .
     Р  . - .      С  …      Т  -      У  .. -
     Ф  .. - .      Х  ….      Ц  - . - .      Ч  - . - - .
     Ш  - - - -      Щ  - - . -      Ъ  - .. -      Ы  - - - .
     Ь  - .. -      Э  .. - .      Ю  .. - -      Я  . - . -

 

      2.2 Блок- схема алгоритма решения задач.

         

     

                

     

     

     

     

       

                             

     

     

     

     

     

     

        
 
 
 
 

     2.3 Особенности  паскаля.

     Язык  Паскаль относится к процедурно-ориентированным  языкам высокого уровня. Разработан американским ученым Никласом Виртом в 1971г. в качестве языка для обучения программированию. Базой при разработке явился язык Алгол.

     Достоинства языка Паскаль:

     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 (‘ Для  завершения работы с программой  нажмите ‘, ‘<Enter>’);

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 (‘ Сообщение передано! ‘);

Информация о работе Строковые данные на Паскале