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

 

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

84539. Характеристика періодів і фаз СЦ 47.19 KB
  Починається скорочення передсердя з м’язевих пучків які охоплюють гирла вен; це попереджує рух крові по градієнту тиску із передсердя в вени так як клапани тут відсутні. і внаслідок цього в шлуночок надходить остання порція крові яка складає від 8 до 30 від всього об’єму крові що надходить в шлуночок при його діастолі. Тому напруження міокарду шлуночка і тиск в ньому не змінюється не відбувається рух крові через порожнини серця; не змінюється положення клапанів. В стані спокою в шлуночку знаходиться близько 150 мл крові.
84540. Показники насосної функції серця і методи іх дослідження 42.01 KB
  Цей показник можна визначити за допомогою ехокардіографії тетраполярної реографії не інвазивні методи за допомогою методу розведення барвника внутрішньовенно вводять певні барвники і по динаміці зміни її концентрації в крові розраховують ХОК а також за допомогою методу Фіка він заснований на визначенні хвилинного поглинання кисню організмом людини і на визначенні артеріовенозної різниці вмісту кисню; для визначення а в різниці необхідно провести зондування правого передсердя – для отримання змішаної венозної крові; далі розрахунок...
84541. Роль клапанів серця у гемодинаміці. Тони серця, механізми їх походження ФКГ, її аналіз 42.92 KB
  Клапани розташовані при вході та при виході обох шлуночків серця. Мітральний та трьохстулковий клапани перешкоджають зворотньому закиду крові регургітації крові в передсердя під час систоли шлуночків. Перший систолічний тон виникає на початку систоли шлуночків. Його формують такі компоненти: закриття стулок передсердношлуночкового клапану; це основний компонент першого тону дає осциляції найбільшої висоти виникає на межі фаз ізометричного та асинхронного скорочень; міокардіальний компонент пов’язаний із напруженням та вібрацією...
84542. Артеріальний пульс, його походження СФГ, її аналіз 43.09 KB
  При аналізі СФГ враховують перш за все стан стінок крупних артеріальних судин. Про це можна судити за конфігурацією СФГ вираженості окремих її хвиль. Розрахунок тривалості серцевого циклу проводять по полікардіограмі – синхронно зареєстровані ЕКГ ФКГ СФГ.
84543. Регуляція діяльності серця. Міогенні та місцеві нервові механізми регуляції діяльності серця 40.8 KB
  Міогенні та місцеві нервові механізми регуляції діяльності серця. Баланс притоку та відтоку крові притік крові до серця по венозних судинах; відтік – за рахунок активного вигнання крові шлуночками серця; 2. Рівний хвилинний об’єм крові ХОК правого та лівого відділів серця; 3.
84544. Місцеві міогенні механізми регуляції серцевої діяльності 48.71 KB
  Залежність ССС від вихідної довжини КМЦ. Залежність ССС від опору вигнанню рівня артеріального тиску. Залежність ССС від ЧСС. Тому суть цього механізму можна викласти так: чим більше крові притікає до серця під час діастоли тим більша вихідна довжина КМЦ тим більша ССС СО.
84545. Характер і механізми впливів симпатичних нервів на діяльність серця. Роль симпатичних рефлексів в регуляції серцевої діяльності 44.58 KB
  Характер впливів симпатичної нервової системи на серце: позитивний інотропний вплив посилює силу серцевих скорочень; позитивний хронотропний вплив посилює ЧСС; позитивний дромотропний вплив посилює швидкість проведення збудження по елементам провідної системи серця особливо по передсердношлуночковому вузлу структурам провідної системи шлуночків; позитивний батмотропний вплив збільшення збудливості. Медіатор норадреналін взаємодіє переважно з βадренорецепторами оскільки αадренорецепторів тут майже немає при цьому...
84546. Характер і механізми впливів парасимпатичних нервів на діяльність серця. Роль парасимпатичних рефлексів в регуляції серцевої діяльності 44.78 KB
  Механізм впливів блукаючого нерва на серце пов’язаний із дією медіатора ацетилхоліну на мхолінорецептори КМЦ типових і атипових. В результаті підвищується проникність мембран КМЦ для йонів калію – посилення виходу йонів із клітини за градієнтом концентрації що в свою чергу веде до: розвитку гіперполяризації мембран КМЦ; найбільше цей ефект виражений в клітинах з низьким вихідним рівнем мембранного потенціалу найбільше в вузлах АКМЦ: пазуховопередсердному та передсердношлуночковому де МПС = –60мВ; менше – в КМЦ передсердь; найменше –...
84547. Гуморальна регуляція діяльності серця. Залежність діяльності серця від зміни йонного складу крові 44.41 KB
  Залежність діяльності серця від зміни концентрації йонів в плазмі крові. Найбільше клінічне значення має вплив йонів калію. При гіпокаліємії зниження концентрації йонів калію в плазмі крові нижче 1ммоль л розвиваються різноманітні електрофізіологічні зміни в КМЦ. Характер змін в КМЦ залежить від того що переважає: втрата йонів калію клітинами чи міжклітинною рідиною.