Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Этапы выполнения задания. Образец выполнения задания.

Читайте также:
  1. I. Проверка домашнего задания.
  2. I.3.1. Определение номенклатуры и продолжительности выполнения видов (комплексов) работ
  3. II. После выполнения данных упражнений составляется список целей.
  4. III. Порядок выполнения работы
  5. III. Порядок выполнения работы
  6. III. Порядок выполнения работы
  7. III. Порядок выполнения работы

Образец выполнения задания.

Задача: Определить количество слов в тексте, для которых выполняется следующее свойство: слово содержит нечетное количество гласных букв.

Этапы выполнения задания.

I Определение исходных данных: переменная St (исходный текст).

II Определение результатов: k – количество слов, удовлетворяющих условию задачи.

III Алгоритм решения задачи.

1 Ввод исходных данных.

2 Просматриваем строку и выделяем из строки слова (наборы символов между двумя разделителями). Просматриваем все символы выделенного слова и считаем гласные буквы (счетчик n). Проверяем, является ли количество гласных букв нечетным числом, если да, то увеличиваем счетчик k.

a) Для выделения слова из строки сначала удаляем разделители в начале строки, затем, начиная с первого символа отличного от разделителя до первого разделителя, вырезаем часть строки – получаем слово. Повторяем действия до тех пор, пока не останется пустая строка.

b) Для того, чтобы проверить является ли символ гласной буквой, создадим строку, состоящую из всех гласных букв, и будем определять позицию текущего символа слова в строке из гласных букв. Если позиция текущего символа в этой строке отлична от npos, то символ – гласная буква, иначе нет.

3 Вывод результата.

IV Описание переменных:

Переменная st имеет тип string, также тип string будут иметь переменные g, содержащая все гласные буквы и переменная x, предназначенная для выделения слов. Переменные i,j – переменные цикла, а также счетчики n, k будутиметь тип int. Разделитель r имеет тип char.

V Программа:

#include <iostream>

#include <string>

#include <windows.h>

#include <conio.h>

 

using namespace std;

int main()

{

unsigned int i,k,n,j;

string st,g("aoueyi"),x;

char r;

//Русификация консоли.Для правильного отображения символов нужно в

//свойствах консольного окна на вкладке Шрифт выбрать шрифт Lucida

// Console

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

cout<<"введите разделитель - r"<<endl;

r=_getch(); // на экране при вводе его не видно!!!!

cout<<r<<endl; //выод разделителя на экран

cout<<"введите строку текста - St"<<endl;

getline(cin,st);

i=0;k=0;

while (st.length()!=0)

{ while ((st[0]==r)&&(st.length()!=0)) //удаление разделителя

st.erase(0,1);

//формирование слова

x=st.substr(0,st.find(r));

//удаление слова из исходной строки

st.erase(0,st.find(r));

//подсчет гласных букв

n=0;

for (j=0;j<x.length();j++)

if (g.find(x[j])!=string::npos)

n++;

//проверка количества гласных букв на нечетность

if (n%2==1)

k++;

}

cout<<"количество слов "<<k<<endl;

}

 

VI Тестирование

1 Запустите программу и введите значение

r=’ ‘{разделитель – пробел}

st=Кто успел, тот и съел

Проверьте, результат должен быть следующим:

Количество слов 4

В слове ‘кто’ – 1 гласная буква, в слове ‘успел’ –2, в слове ‘тот’ – 1, в слове ‘и’ – 1, в слове ‘съел’ – 1.

2 Заполните таблицу

St Разделитель Результат
1. Солнце светит _ (пробел)  
2. Да,да,да,беда , (запятая)  
3. //что?//где?//когда?//// /  
4. //что?//где?//когда?//// ?  

3 Будет ли работать программа, если ввести текст на английском языке? Почему? Какие изменения необходимо внести в программу для работы с английским текстом? Подберите тесты для проверки программы.

4 Измените программу так, чтобы можно было работать с текстом, как на русском, так и на английском языке.

5 Можно ли выделять слова из строки по-другому?


Дата добавления: 2015-07-21; просмотров: 46 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Этапы выполнения задания.| Индивидуальные задания.

mybiblioteka.su - 2015-2024 год. (0.006 сек.)