18533

Символьные последовательности

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 3. Тема Символьные последовательности Если для решения задачи достаточно просмотреть исходный текст один раз то обычно текст вводится и обрабатывается посимвольно и не хранится целиком в памяти в виде массива. В программе используется перем

Русский

2013-07-08

18.96 KB

21 чел.

Лабораторная работа № 3.

Тема «Символьные последовательности»

Если для решения задачи достаточно просмотреть исходный текст один раз, то обычно текст вводится и обрабатывается посимвольно и не хранится целиком в памяти (в виде массива). В программе используется переменная типа char, которой поочередно присваиваются значения символов исходного текста. Ввод и обработка символов происходит до тех пор, пока не встретится признак конца текста или количество введенных символов не достигнет заданной длины текста.

Процессы обработки последовательностей символов можно представить такими же схемами, как и процессы обработки числовых последовательностей (см. описание предыдущей лабораторной работы). Только переменной будет присваиваться при вводе не число, а очередной символ.

Функции getchar и putchar

Функции getchar и putchar служат соответственно для ввода и вывода одного символа. Для посимвольного ввода/вывода текстов лучше использовать эти функции, нежели scanf и printf.

Функция getchar() не имеет аpгументов. Она получает очеpедной поступающий с клавиатуpы символ и сама возвpащает его значение выполняемой пpогpамме.

Пpимеp вызова функции getchar:

char ch;

ch=getchar();

Функция putchar имеет один аpгумент - это символ, который требуется вывести на экран.

Пpимеpы вызова функции putchar:

putchar (ch); /* ch - переменная типа char */

putchar ('S');

putchar ('\n'); /* перевод строки */

Определения функций getchar и putchar содержатся в файле stdio.h.

Пример.

Задача. Дан текст произвольной длины, оканчивающийся точкой. Проверить, есть ли в тексте сочетания "ВА".

Программа:

#include <stdio.h>

main()

{char s; /* текущий символ текста */

char prs; /* предыдущий символ */

short net=1; /* признак, имеется ли "ВА" в тексте */

/* net=1, если "ВА" нет*/

/* net=0, если "ВА" есть*/

printf ("\nВведите текст.\n");

s=getchar(); /* чтение первого символа */

if (s!='.')

{ do

{ prs=s; s=getchar();

if (prs=='В' && s=='А') net=0;

}

while (s!='.');

}

if (net) printf ("В тексте нет 'ВА'.\n");

else printf ("В тексте есть 'ВА'.\n");

}

Тесты для проверки программы.

№ теста

Исходный текст

Ожидаемый результат

1

МОСКВА, БЕРЛИН, ВАРНА .

В тексте есть 'ВА'.

2

ПЭВМ IBM PC .

В тексте нет 'ВА'.

3

.

В тексте нет 'ВА'.

Порядок выполнения работы.

1. Получить у преподавателя задание.

2. Составить схему и программу на Си и подобрать тесты для проверки программы на ЭВМ.

3. Отладить программу и показать результаты тестирования преподавателю.

4. Оформить и сдать отчет по лабораторной работе.

Задания для самостоятельного выполнения:

  1.  Дан текст произвольной длины, оканчивающийся точкой. Текст состоит из слов разделенных пробелами. Подсчитать количество слов, оканчивающихся буквой А.
  2.  Дан текст произвольной длины, оканчивающийся «;». Проверить есть ли в тексте скобки.
  3.  Дан текст произвольной длины, оканчивающийся «;». Подсчитать количество цифр в тексте.
  4.  Дан текст произвольной длины, оканчивающийся точкой. Подсчитать количество сочетаний «:=».
  5.  Дан текст произвольной длины, оканчивающийся точкой. Текст состоит из слов разделенных пробелами. Подсчитать количество слов в данном тексте.
  6.  Дан текст произвольной длины, оканчивающийся точкой. Текст состоит из слов разделенных пробелами. Подсчитать количество слов, начинающихся с буквы К.
  7.  Дан текст произвольной длины, оканчивающийся точкой. Подсчитать количество сочетаний «СА».
  8.  Дан текст произвольной длины, оканчивающийся точкой. Подсчитать количество цифр и символов (пробелы, тире, точка с запятой и т.д.) в тексте.
  9.  Дан текст произвольной длины, оканчивающийся точкой. Найти порядковый номер первой запятой.
  10.  Дан текст произвольной длины, оканчивающийся точкой. Подсчитать количество букв в тексте.
  11.  Дан текст произвольной длины, оканчивающийся «;». Подсчитать количество заглавных букв в тексте.
  12.  Дано скобочное выражение, оканчивающееся точкой с запятой. Проверить правильность расстановки скобок в выражении.
  13.  Дано скобочное выражение, оканчивающееся точкой с запятой. Подсчитать количество уровней вложенности скобок в выражении.
  14.  Дана строка символов. Признак конца - символ '\n' ( перевод строки). Удалить лишние пробелы, т.е. если подряд следует несколько пробелов, оставить только один.
  15.  Дана строка символов. Признак конца - символ '\n' (перевод строки). Удалить последовательности символов, заключенные в фигурные скобки.

 

А также другие работы, которые могут Вас заинтересовать

36331. Задачи управления запасами 21 KB
  Если заказы на приобретение выдавать слишком часто то это приведет к повышенным расходам на оформление заказов и перестройку производства. На складе осуществляют оформление заказов на поставку продукции хранение продукции отгрузку ее заказчику. В качестве оценки эффективности решений обычно принимаются суммарные издержки учитывающие потери поставщика при пере стройках производства расходы на складские работы хранение оформление заказов и т.
36332. Импульсные регуляторы. Виды импульсной модуляции, достоинства 26.93 KB
  Импульсные регуляторы регуляторы дискретного действия в структуре которых имеется импульсный элемент преобразующий непрерывно изменяющуюся регулируемую величину в последовательность импульсов. Параметры импульсов меняются в соответствии со значениями входной величины модулирующего сигнала. Модулируемым параметром зависящем от значения входного сигнала х вх в начале очередного периода повторения импульсов Тп является высота амплитуда импульсов рис. В ЧИМ частота следования импульсов f = 1 Тп.
36333. Англійська мова. 8 клас. Підсумкові контрольні роботи. Відповіді з коментарями 16.62 MB
  Доценко І. В. Англійська мова. 8 клас (Підсумкові контрольні роботи. Відповіді з коментарями) Видання містить відповіді до завдань закритої форми і пропонує перекоади усхних відповідей до завдань відкритої форми. Для полегшення роботи додається переклад українскою мовою і коментарі до найскладніших моментів у завданнях
36334. Классификация САПР по типу и разновидности объектов проектирования 12.38 KB
  Классификация САПР по типу и разновидности объектов проектирования. САПР классифицируются по ГОСТ 23 501. Основные признаки характеризующие САПР: Тип. Число уровней в структуре технического обеспечения САПР.
36335. Методы измерения температуры, бесконтактный метод 56.5 KB
  О температуре нагретого тела можно судить на основании измерения параметров его теплового излучения представляющего собой электромагнитные волны различной длины. Термометры действие которых основано на измерении теплового излучения называются пирометрами. Физические тела характеризуются либо непрерывным спектром излучения твердые и жидкие вещества либо избирательным газы. Эта связь описывается законом Планка: где М0λТ плотность мощности излучения испускаемого телом находящимся при температуре Т на длине волны λ Т ...
36336. Методы измерения температуры 12.61 KB
  Методы измерения температуры. Существует два метода измерения температуры: контактный метод и бесконтактный. Из всего многообразия методов измерения температуры и измерительных средств в металлургии широкое распространение получили термопреобразователи сопротивления термоэлектрические преобразователи и пирометры излучения. Первые две разновидности датчиков используются для контроля температуры охлаждающей воды подогретых газов и воздуха поступающих к горелочным устройствам отходящих продуктов сгорания футеровки агрегатов жидких металлов...
36337. Назначение и правила выполнения структурной схемы комплекса технических средств автоматизации 54.21 KB
  Назначение и правила выполнения структурной схемы комплекса технических средств автоматизации. В самом общем виде структурная схема системы автоматизации представлена на рисунке 9. Система автоматизации состоит из объекта автоматизации и системы управления этим объектом. Благодаря определенному взаимодействию между объектом автоматизации и системой управления система автоматизации в целом обеспечивает требуемый результат функционирования объекта характеризующийся параметрами х1 х2хn Работа комплексного объекта автоматизации...
36338. Поясните понятие устойчивости линейной САУ. Дайте классификацию методов определения устойчивости и поясните их 41.01 KB
  Дайте классификацию методов определения устойчивости и поясните их. Устойчивость СУ по начм условиям по Ляпунову это свво системы без которого она не работоспособна. устойчива то затухают все составляющее свободных движений вызванных любыми ненулми начми условиями.