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' (перевод строки). Удалить последовательности символов, заключенные в фигурные скобки.

 

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

1775. НАРОДЫ КАВКАЗА В ВООРУЖЕННЫХ СИЛАХ СССР В ГОДЫ ВЕЛИКОЙ ОТЕЧЕСТВЕННОЙ ВОЙНЫ 1.39 MB
  Состояние и использование людских ресурсов Кавказа в первые годы войны. Приостановки мобилизации и призыва у закавказских народов осенью 1943 г. Воинские части с участием кавказцев в начальный период войны (1941 – ноябрь 1942 г.). Идеология патриотизма и национальный вопрос. Деятельность армейских политических органов и командиров по воспитанию личного состава кавказских национальностей.
1776. Право на жизнь и смертная казнь: проблемы конституционно-правовой регламентации в Российской Федерации 1.38 MB
  Понятие права на жизнь по международному и российскому законодательству. Смертная казнь в системе мер, направленных на защиту естественного права на жизнь. Международно-правовые и внутригосударственные ограничения применения смертной казни. Аспекты совершенствования правовой регламентации смертной казни в соответствии с обязательствами Российской Федерации перед Советом Европы.
1777. ИНДИВИДУАЛЬНО-ПСИХОЛОГИЧЕСКИЕ ОСОБЕННОСТИ АДАПТИВНОСТИ ЖЕНЩИН К СОСТОЯНИЮ БЕРЕМЕННОСТИ 1.38 MB
  Обоснование программы и метода исследований. Психофизиологический уровень. Специальная теория темперамента В.М. Русалова. Техника построения генограммы. Построение и анализ генограмм. Диагностика особенностей атрибутивных стилей. Проектирование психологической коррекции. Особенности психотерапевтической работы с каждой группой.
1778. КОНЦЕПТУАЛЬНЫЕ МЕТАФОРЫ ВРЕМЕНИ В СОВРЕМЕННОМ АНГЛИЙСКОМ ЯЗЫКЕ 1.37 MB
  Целью настоящего исследования является изучение изменения концепта времени в английском языке сквозь призму концептуальных метафор времени и их языковых реализаций.
1779. ПРАГМАТИЧЕСКИЙ АСПЕКТ ПЕРЕВОДОВ АНТИЧНЫХ АВТОРОВ. на материале ранних английских переводов латинского сочинения Боэция Об утешении философией 1.37 MB
  Лингвистическая прагматика в парадигме языкознания и теории перевода. Лингвокультурологический аспект английских переводов античных латинских текстов. Прагматический аспект ранних английских переводов латинского сочинения Боэция Об утешении философией. Перевод как особый вид литературного творчества эпохи английского Ренессанса.
1780. Совершенствование экспрессных методов индикации микобактерий туберкулеза 1.36 MB
  Анализ эпидемиологической обстановки по туберкулёзу и современного состояния экспресс-диагностики его возбудителя. Носители иммобилизованных систем твёрдофазного иммуноанализа. Питательные среды, условия культивирования микроорганизмов. Получение и контроль иммунофлуоресцирующих конъюгатов. Характеристика реагентов, используемых для получения магноиммуносорбентов. Биотехнология изготовления латексного диагностикума.
1781. ПРОБЛЕМЫ ИНТЕЛЛИГЕНЦИИ В РУССКОЙ ПУБЛИЦИСТИКЕ 1909 - 1912 ГГ. (ПОЛЕМИКА ВОКРУГ СБОРНИКА 1.36 MB
  ПОЛЕМИКА ОБ ИНТЕЛЛИГЕНЦИИ КАК ЯВЛЕНИЕ ОБЩЕСТВЕННОЙ ЖИЗНИ 1909-1912 ГГ. ПОДХОД УЧАСТНИКОВ ПОЛЕМИКИ К ПРОБЛЕМАМ РУССКОЙ ИНТЕЛЛИГЕНЦИИ (СОДЕРЖАТЕЛЬНАЯ СТОРОНА ПОЛЕМИКИ). ПРАВЫЕ КОНСТИТУЦИОНАЛИСТЫ И СОЦИАЛЬНЫЕ ХРИСТИАНЕ (ВЕХОВЦЫ).
1782. ФУНДАМЕНТАЛЬНЫЙ АНАЛИЗ МИРОВЫХ ВАЛЮТНЫХ РЫНКОВ 1.36 MB
  Для чего необходимо изучать фундаментальный анализ. Индексные методы измерения экономических процессов. Основные положения количественной теории денег. Показатели роста экономики, валовой внутренний продукт. Фундаментальные данные, психология рынка и принятие решений. Продажи грузовых и легковых автомобилей. Заказы на товары длительного пользования.
1783. ОСОБЕННОСТИ ОРГАНИЗАЦИИ ВОСПИТАТЕЛЬНОЙ РАБОТЫ ШКОЛЫ С ДЕТЬМИ ИЗ СЕМЕЙ ВОЕННОСЛУЖАЩИХ, ПРОЖИВАЮЩИХ В УСЛОВИЯХ ВОЕННОГО ГАРНИЗОНА 1.35 MB
  Теоретические основы воспитания детей военнослужащих в условиях военного гарнизона. Содержание и структура системы взаимодействия семьи и школы в воспитании детей военнослужащих. Организация и методика эксперимента по воспитательной работе школы с детьми из семей военнослужащих. Сравнительный анализ эффективности результатов внедрения экспериментальной программы воспитательной работы школы.