русс | укр

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

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

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

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


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

Подсчет пробелов.


Дата добавления: 2014-05-03; просмотров: 992; Нарушение авторских прав


 

В разделе 13.1 ContingBlanksInText выполняла подсчет пробелов во входном файле с использованием модуля счетчика.

 

PROGRAM CountingBlanksInText(INPUT, OUTPUT);

VAR

Ch, X100, X10, X1: CHAR;

{Включить модуль счетчика}

BEGIN {CountingBlanksInText}

Start; {обнулить счетчик}

WHILE NOT EOF

DO

BEGIN

WHILE NOT EOLN

DO

BEGIN

READ(Ch);

IF Ch = ‘ ‘

THEN

BEGIN

Bump; {Увеличиваем счетчик на едеинцу}

Ch := ‘#’;

END;

WRITE(Ch);

END;

READLN;

WRITELN

END;

WRITELN;

Value(X100, X10, X1); {получаем значение счетчика}

IF (X100 = ‘9’) AND (X10 = ‘9’) AND (X1 = ‘9’)

THEN

WRITELN(‘Количество пробелов как минимум 999’)

ELSE

WRITELN(‘Количество пробелов ’, X100, X10, X1)

END. {CountingBlanksInText}

 

Модуль определял абстракцию счетчика состоящего из трех переменных. Start присваивала символ 0 каждой из трех переменных, Bump изображала добавление единицы к к символьному представлению целочисленного значения, Value возвращала значение счетчика. Эти процедуры добавляли порядка 50 строк к программе, делая ее общую длину более 75 строк. С использованием типа данных INTEGER счетчик может быть реализован как переменная программы.

VAR

Counter: INTEGER;

а процедуры Start и Bump становятся операторами присваивания:

Counter := 0; {Start}

Counter := Counter + 1; {Bump}

Value заменяется ссылкой на Counter и Counter может быть сравнен с целой константой 999. Полная программа приведена ниже (теперь каких-то 25 строк).

 

PROGRAM CountingBlanksInText(INPUT, OUTPUT);

VAR

Ch: CHAR;

Counter: INTEGER;

BEGIN {CountingBlanksInText}

Counter := 0; {обнулить счетчик}

WHILE NOT EOF

DO

BEGIN

WHILE NOT EOLN

DO

BEGIN

READ(Ch);

IF Ch = ‘ ‘

THEN {Увеличиваем счетчик на единицу}

Counter := Counter +1;



WRITE(Ch);

END;

READLN;

WRITELN

END;

WRITELN;

IF Counter >= 999

THEN

WRITELN(‘Количество пробелов как минимум 999’)

ELSE

WRITELN(‘Количество пробелов ’, Counter)

END. {CountingBlanksInText}

 

INPUT:

Now is

the time for

all good men.

 

OUTPUT:

Now is

the time for

all good men.

 

Количество пробелов 9

 

INPUT:

 

OUTPUT:

 

Количество пробелов 0

 

Тест на более чем трехзначные значения был оставлен, чтобы программа была похода на ту которая использовала модуль счетчика, хотя с целочисленной переменной действительным ограничением является MAXINT. Частной и небезопасной практикой является игнорирование существования MAXINT и надежда на то, что Паскаль-машина сама разберется с этими проблемами.

 



<== предыдущая лекция | следующая лекция ==>
Тип INTEGER. | Ввод-вывод целочисленных значений.


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


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

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

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


 


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

 
 

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

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