русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Комментарий к программе


Дата добавления: 2013-12-23; просмотров: 1104; Нарушение авторских прав


End;

Begin

End;

Begin

Var

Begin

Var

Например.

В Object Pascal имеется стандартная функция upcase, которая преобразует букву строки stinp в прописную.Наша процедура (назовем ее upString) будет преобразовывать сразу все символы строки, причем сделаем ее пригодной не только для латинских букв, но и для букв русского алфавита. В Delphi имеется стандартная функция AnsiUpperCase, реализующая те же действия..

Разработку программы проведем в два этапа. Сначала сконструируем основную (вызывающую) часть программы. Ее действия очень просты: она должна получить входную строку из компонента edinput, преобразовать ее с помощью процедуры upString в выходную строку и поместить результат в iboutput.Text. Эти действия нетрудно запрограммировать в обработчике bbRunciick:


procedure TfmExample.bbRunClick(Sender: TObject);

procedure UpString(stinp:String; var stOut:String);

{ Эта процедура преобразует все буквы строки stinp в прописные и помещает результат в выходную строку stOut }

begin

stOut := stinp;

end; // UpString

SI, S2:String;

SI := edinput.Text; // Получаем исходную строку

UpString(SI,S2); // Преобразуем ее

IbOutput.Caption := S2; // Выводим результат

edinput.Text := '' ;

edinput.SetFocus ;

end;


В этой программе используется замещение процедуры UpString так называемой “заглушкой”, т. е. процедурой, в которой на самом деле не осуществляется нужных нам действий, а выходная строка просто копирует входную. (Однако эта программа синтаксически абсолютно правильна, и при желании ее можно запустить на счет.) Заглушка понадобилась нам по двум причинам. Во-первых, приведенная программа очень проста, в ней отсутствует детальная реализация процедуры, и это позволяет наглядно проиллюстрировать механизм ее описания. Во-вторых, на ее примере мы знакомимся с универсальным методом конструирования сложных программ, получившим название нисходящее программирование.



Рассмотрим иной способ реализации той же программы - оформим алгоритм преобразования в виде функции:

procedure TfmExample.bbRunClick(Sender: TObject) ;

Function UpString(stinp:String): String;

{ Эта функция преобразует все буквы строки stinp в прописные и помещает результат в выходную строку Result }

k: Integer; // Параметр цикла begin

Result := stinp;

// Цикл побуквенного преобразования

for k := 1 to Length(Result)do

Result[k] := UpCase(Result[k]);// Преобразуем латиницу

if Result[k] >= 'a'then // Строчная буква кириллицы?

Result[k] := // Да: преобразуем ее

Chr(ord('A') + ord(Result[k]) - ord('a'));

if Result[k]='e'then

Result[k] := 'Ё'; // Преобразуем ё в Ё

end; // UpString

{ В следующем операторе исходная строка edinput.Text преобразуется и помещается в выходную строку IbOutput.Caption: }

IbOutput.Caption := UpString(edinput.Text);

edinput.Text := '';

edinput.SetFocus ;

При описании функции необходимо за списком используемых для ее вызова параметров указать тип возвращаемого ею результата. Именно поэтому за закрывающей круглой скобкой в заголовке функции стоит двоеточие и тип string. В теле любой функции определена стандартная переменная Result, которая трактуется как результат, возвращаемый функцией.

С помощью оператора

Result := stInp;

мы сначала присвоили результату входную строку, а затем в цикле осуществили перебор символов и их коррекцию. Единственный оператор

IbOutput.Caption := UpString(edInput.Text);

заменил сразу три первых оператора в предыдущей реализации программы.




<== предыдущая лекция | следующая лекция ==>
Подпрограмма - это самостоятельный фрагмент программы, предназначенный для решения определенной задачи и связанный с основной программой лишь с помощью нескольких параметров. | ОПИСАНИЕ ПОДПРОГРАММЫ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.167 сек.