Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Государственное образовательное учреждение высшего
профессионального образования
Алтайский государственный технический университет
им. И. И. Ползунова
Заринское представительство
Лабораторная работа №5
По дисциплине: информатика и программирование
Вариант 7.
Выполнил: ст. гр. Зр-з ПИЭ – 81
Проверил преподаватель:
Оценка .
Подпись .
Дата .
г. Заринск- 2008
Содержание
1. Постановка задачи…………………………………………………3
2. Описание алгоритма……………………………………………….3
3. Описание программы……………………………………………...3
Приложение А. Текст программы…………………………………...5
Приложение Б. Тестовый пример……………………………………6
1 Постановка задачи
Дан текст, определить количество слов начинающихся и оканчивающихся одной и той же буквой.
2. Описание алгоритма
Текст программы предоставлен в приложении А. Тестовый пример предоставлен в приложении Б. Программа предназначена для поиска в тексте слов с одной и той же буквой в начале и на конце их счета и вывода на экран количества. Программа представляет собой отдельную процедуру в которой вначале запрашиваются входные данные, затем выполняется поиск, счет и вывод на экран результата, слова в тексте разделяются только пробелами. Блок – схема предоставлена на рисунке 1.
3. Описание программы
В программе используются следующие переменные:
S: string – строковая переменная
I, l, k: integer - целочисленные переменные, для обращения к элементам строки, счета циклов и нужных слов
N: char - символьная переменная для отделения слов.
Рисунок 1. Блок схема алгоритма
program lab5; {название программы}
uses crt; {подключение стандартного модуля для управления экраном}
var {объявление переменных}
S: string; {строковая переменная, исходный текст}
i, l, k: integer; {i- индекс, счетчик цикла. k-индес, l- счетчик слов}
n: char; {символьная переменная, в нашем случае пробел, для поиска отдельных слов}
begin {начало основной программы}
clrscr; {стандартная процедура- очистка экрана и помещение курсора в верхний левый угол}
n := ' '; {присваивание переменной n значения ' ' (пробел)}
l := 0; {присваивание переменной l значения 0}
k := 1; {присваивание переменной k значения 1}
writeln('введите текст и нажмите enter'); {оператор вывода, приглашение ко вводу текста}
readln(S); {запись текста в переменную}
for i := 1 to Length(S) do {оператор цикла}
begin {вход в цикл}
if S[i] = n then {условный оператор разветвления, здесь проверяется не кончилось ли слово}
begin {начало выполнения условия}
if S[k] = S[i-1] then {здесь проверяется не совпают ли первый и последний символ слова}
inc(l); {если условие верно то к счетчику слов добавляется еденица (i + 1)}
k := i+1; { индексу k присваивается результат выражения}
end; {конец условного оператор}
end; {конец и выход из цикла}
if S[k] = S[length(S)] then {проверка не совпадают ли символы символы в последнем слове}
inc(l); {+1 на счетчик если true}
writeln('В этом тексте ', l , ' слов с одной буквой в начале и в конце '); {вывод результата}
readln; {ожидание нажатия клавиши}
end. {конец и выход из программы}
{при разработке программы считалось что союзы и предлоги тоже слова}
Приложение Б
Тестовый пример
Вводим текст по приглашению
Корова дает молоко
И нажмаем enter
Программа выдает результат
В этом тексте 0 слов с одной и тойже буквой в начале и на конце
Тестовый пример 2
Вводим случайный набор символов разделенных пробелами
Апролда юбьтию орпаво прав кенгш
И нажимаем enter
В этом тексте 3 слов с одной и той же буквой в начале и на конце
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.