Так как понятие "гласная", "согласная" и пр. не являются формализованными понятиями, то есть их нельзя вычислить алгоритмически, их нужно задавать таблично, константами, а так как их много, то лучше всего подойдут массивы.
Так как не указан язык программирования, в котором нужно реализовать текст, напишу на некоем псевдоязыке, текст которого легко переводится на известный тебе язык.
В общем, программа будет такой
// объявления массивов
гласная(), согласная(), знак()
// заполнение массивов
гласная(1)="А";
гласная(2)="а";
гласная(3)="Е";
гласная(4)="е";
согласная(1)="Б";
согласная(2)="б";
согласная(3)="В";
согласная(4)="в";
знак(1)=".";
знак(2)=".",;
знак(3)="!";
знак(4)="?";
// Функции
функция фГласная(буква)
Для ц=1 по кг Цикл
Если буква=гласная(ц) тогда
Возврат(1);
КонецЦикла;
КонецЦикла;
Возврат(0);
КонецФункции
функция фСогласная(буква)
КонецФункции
функция фзнак(буква)
КонецФункции
// текст основной программы
Ввод(буква);
Если фГласная(буква) = 1 тогда
Сообщить(буква+" гласная");
ИначеЕсли фСогласная(буква)=1
тогда Сообщить(буква+" согласная");
ИначеЕсли фЗнак(буква)=1 тогда
Сообщить(буква+" разделительный знак");
Иначе Сообщить(буква+" не квалифицирована");
КонецЕсли;
Вот собственно и всё.
Замечание1
Если язык требует при объявлении массива его размерность- её нужно указать. многие языки имеют встроенную функцию определения размерности, некоторые языки имеют встроенные функции поиска в массиве, тогда нужно воспользоваться ими, а не писать свои функции.
Замечание2
Если ИначеЕсли... как правило реализуется операторами Case
Замечание3
Основная программа, как правило тоже обрамляется циклом с выходом по условию, которое либо системное либо некий хитрый символ(или клавиша), который ты определяешь концом ввода данных.
Замечание4
Вместо массив можно использовать строки, содержащие подряд буквы, например, гласная="АаЕеИи". в этом случае для поиска нужно пользоваться соответствующими встроенными строковыми функциями.
В общем, смысл должен быть тебе понятен, а дальше - творчество.
Успехов!
Почему-то при записи убежал возврат каретки, попробовал восстановить. :)
Так как понятие "гласная", "согласная" и пр. не являются формализованными понятиями, то есть их нельзя вычислить алгоритмически, их нужно задавать таблично, константами, а так как их много, то лучше всего подойдут массивы.
Так как не указан язык программирования, в котором нужно реализовать текст, напишу на некоем псевдоязыке, текст которого легко переводится на известный тебе язык.
В общем, программа будет такой
// объявления массивов
гласная(), согласная(), знак()
// заполнение массивов
гласная(1)="А";
гласная(2)="а";
гласная(3)="Е";
гласная(4)="е";
согласная(1)="Б";
согласная(2)="б";
согласная(3)="В";
согласная(4)="в";
знак(1)=".";
знак(2)=".",;
знак(3)="!";
знак(4)="?";
// Функции
функция фГласная(буква)
Для ц=1 по кг Цикл
Если буква=гласная(ц) тогда
Возврат(1);
КонецЦикла;
КонецЦикла;
Возврат(0);
КонецФункции
функция фСогласная(буква)
КонецФункции
функция фзнак(буква)
КонецФункции
// текст основной программы
Ввод(буква);
Если фГласная(буква) = 1 тогда
Сообщить(буква+" гласная");
ИначеЕсли фСогласная(буква)=1
тогда Сообщить(буква+" согласная");
ИначеЕсли фЗнак(буква)=1 тогда
Сообщить(буква+" разделительный знак");
Иначе Сообщить(буква+" не квалифицирована");
КонецЕсли;
Вот собственно и всё.
Замечание1
Если язык требует при объявлении массива его размерность- её нужно указать. многие языки имеют встроенную функцию определения размерности, некоторые языки имеют встроенные функции поиска в массиве, тогда нужно воспользоваться ими, а не писать свои функции.
Замечание2
Если ИначеЕсли... как правило реализуется операторами Case
Замечание3
Основная программа, как правило тоже обрамляется циклом с выходом по условию, которое либо системное либо некий хитрый символ(или клавиша), который ты определяешь концом ввода данных.
Замечание4
Вместо массив можно использовать строки, содержащие подряд буквы, например, гласная="АаЕеИи". в этом случае для поиска нужно пользоваться соответствующими встроенными строковыми функциями.
В общем, смысл должен быть тебе понятен, а дальше - творчество.
Успехов!
Почему-то при записи убежал возврат каретки, попробовал восстановить. :)