«аочное дистанционное образование с получением государственного диплома через Internet










ѕолучить информацию о поступлении
 
√лавна€ Ќовости  арта сайта ‘отоальбом √остева€ книга  онтакты

{LTS}

 

”пражнение 5

—оздадим программу, котора€ обращает введенное слово, т. е. переставл€ет символы в слове в обратном пор€дке, например: ѕет€ Ц €теѕ, мама Ц амам, программа Ц аммаргорп.

јлгоритм обращени€ слова можно представить в виде следующей циклической процедуры обмена соответствующих символов: значение первого символа слова запоминаетс€ в некоторой переменной символьного типа Ch, затем на место первого символа записываетс€ значение последнего символа, а на его место записываетс€ значение первого символа, хранимое в переменной Ch, после этого аналогично выполн€етс€ обмен второго и предпоследнего символа, третьего и предпредпоследнего и т.д., пока мы не дойдем до середины слова. ƒалее обмен продолжать не нужно, иначе символы оп€ть займут прежние места.

»сход€ из этих рассуждений, введем следующие переменные: дл€ хранени€ слова Word типа string с максимальным размером слов 30 символов и переменную I целого типа, указывающую номер позиции сравниваемого символа от начала строки, а также символьную переменную Ch дл€ временного хранени€ значени€ символа при обмене. «аголовок программы можно будет записать следующим образом:

program Obr_Word;

var I : byte;

Ch : char;

Word : string[30];

јналогично предыдущей программе, сначала выведем на экран запрос о вводе слова и считаем с клавиатуры значение слова в переменную Word. Ётот фрагмент программы можно записать следующим образом:

Write('введите слово ');

Readln(Word);

ѕосле ввода слова следует выполнение циклической процедуры обмена значений соответствующих символов (первого и последнего, второго и предпоследнего символов, третьего и предпредпоследнего и т. д. до середины слова), которое мы запишем в виде цикла for, параметр которого, измен€€сь от 1 до середины слова, значение которого определ€етс€ результатом выражени€ Trunc(Length(Word)/2), указывает на позицию очередного символа в слове.

ѕерестановку соответствующих символов в слове с использованием символьной переменной Ch осуществим следующим образом:

Ch:=Word[I];{переменной Ch присвоили значение 1-го символа от начала слова}

Word[I]:=Word[l_ength(Word)-I+l]; {в 1-ю позицию записали значение 1-го символа

от конца (Length(Word)-I+l-ro от начала) слова}

Word[length(Word)-I+l]:=Ch; {в LengthCWorcD-I+1-ю позицию от начала слова записали значение 1-го символа, временно хранимое в переменной Ch}

¬ заключительной части программы выведем значение Ђобращенногої слова на экран с помощью стандартной процедуры вывода:

Write ('ѕолучилось слово ',Word);

ѕолный текст этой программы будет таким:

program 0br_Word;

var I : byte;

Ch : char;

Word : string[30];

begin

Write('введите слово ');

Readln(Word);

for I:=l to Trunc(Length(Word)/2) do {ѕеребира€ символы поочередно от начала до середины слова}

begin {ќбмениваем соответствующие символы}

Ch:=Word[I];

Word[I]:=Word[l_ength(Word)-I+l];

Word[Length(Word)-I+l]:=Ch;

end;

Write('ѕолучилось елово ',Word);

end.

«апустите интегрированную среду программировани€. ¬ведите текст программы Obr_Word и запишите файл на диск под соответствующим именем, а затем откомпилируйте его. ѕосле успешного завершени€ компил€ции проверьте работу программы с отладкой в пошаговом режиме, отслежива€ значени€ переменных Word, I, Word[I], Ch, Word[length(Word) -1+1]. «адачу реверсировани€ (обращени€ текста) можно решить и с помощью программы с рекурсивным вызовом подпрограммы-функции, например:

program Rever_Str;

type stroka = string[30];

var

S, Rev_S : stroka;

function Reverse(Str:stroka) : stroka;

var FirstChar : char; {ѕервый символ в строке}

OstatokStr : stroka; {ќстаток строки после удалени€ первого символа}

begin

if Length(Str)=l then Reverse := Str {«авершение рекурсии}

else

begin

FirstChar:=Str[l];

Delete(Str,l,l):

OstatokStr:=Reverse(Str); {–екурсивные вызовы функции}

Reverse:=Concat(OstatokStr,FirstChar); end;

end;

begin {Ќачало основной программы}

Write('¬ведите любой текст');

Readln(S);

Rev_S:=Reverse(S); {¬ызов функции с параметром-значением S}

Writeln(Rev_S,' есть перевернутое ',S);

end.


”знать как сэкономить в кризис моно на сайте ekonom-it.ru

—троковые процедуры и функции ”пражнение 1 ”пражнение 2 ”пражнение 3 ”пражнение 4 ѕроцедуры и функции пользовател€ ћеханизм передачи параметров ѕример курсовой работы по "ѕредметно-ориентированным информационным системам" “емы курсовых работа по дисциплине "ѕредметно-ориентированные информационные системы" —труктура курсовой работы по дисциплине "ѕредметно-ориентированные информационные системы" 


 
     
   
 


ѕриглашаем прин€ть участие в круглом столе!
подробнее   >>>
 

»нститут ћенеджмента, Ёкономики и »нноваций начинает набор на курсы повышени€ квалификации!
подробнее   >>>
 

”важемые студенты јЌќ ¬ѕќ »ћЁи»!
подробнее   >>>
 

Ќачинаетс€ набор на курсы повышени€ квалификации!
подробнее   >>>
 

ѕриглашаем прин€ть участие в конференци€х!
подробнее   >>>
 


все новости...

 


–ассылки Subscribe.Ru
—овременное образование
ѕодписатьс€ письмом