так как понятие "гласная", "согласная" и пр. не являются формализованными понятиями, то есть их нельзя вычислить алгоритмически, их нужно задавать таблично, константами, а так как их много, то лучше всего подойдут массивы.
так как не указан язык программирования, в котором нужно реализовать текст, напишу на некоем псевдоязыке, текст которого легко переводится на известный тебе язык.
в общем, программа будет такой
// объявления массивов
знак()
// заполнение массивов
гласная(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
вместо массив можно использовать строки, содержащие подряд буквы, например, гласная="". в этом случае для поиска нужно пользоваться соответствующими встроенными строковыми функциями.
в общем, смысл должен быть тебе понятен, а дальше - творчество.
успехов!
почему-то при записи убежал возврат каретки, попробовал восстановить. : )
Материалом для эволюции служат наследственные изменения — мутации (как правило, генные) и их комбинации.
Основным движущим фактором эволюции является естественный отбор, возникающий на основе борьбы за существование.
Наименьшей единицей эволюции является популяция.
Эволюция носит в большинстве случаев дивергентный характер, т. е. один таксон может стать предком нескольких дочерних таксонов.
Эволюция носит постепенный и длительный характер. Видообразование как этап эволюционного процесса представляет собой последовательную смену одной временной популяции чередой последующих временных популяций.
Вид состоит из множества соподчиненных, морфологически, физиологически, экологически, биохимически и генетически отличных, но репродуктивно не изолированных единиц — подвидов и популяций.
Вид существует как целостное и замкнутое образование. Целостность вида поддерживается миграциями особей из одной популяции в другую, при которых наблюдается обмен аллелями («поток генов»),
Макроэволюция на более высоком уровне, чем вид (род, семейство, отряд, класс и др.), идет путем микроэволюции. Согласно синтетической теории эволюции, не существует закономерностей макроэволюции, отличных от микроэволюции. Иными словами, для эволюции групп видов живых организмов характерны те же предпосылки и движущие силы, что и для микроэволюции.
Любой реальный (а не сборный) таксон имеет монофилети-ческое происхождение.
Эволюция имеет ненаправленный характер, т. е. не идет в направлении какой-либо конечной цели.