• Составить программу: Дана буква русского алфавита. Вывести на экран является ли эта буква гласной, согласной или разделительным знаком

Ответы 1

  • Так как понятие "гласная", "согласная" и пр. не являются формализованными понятиями, то есть их нельзя вычислить алгоритмически, их нужно задавать таблично, константами, а так как их много, то лучше всего подойдут массивы.

    Так как не указан язык программирования, в котором нужно реализовать текст, напишу на некоем псевдоязыке, текст которого легко переводится на известный тебе язык.

     

    В общем, программа будет такой

     

    // объявления массивов

    гласная(), согласная(), знак()

    // заполнение массивов

    гласная(1)="А";

    гласная(2)="а";

    гласная(3)="Е";

    гласная(4)="е";

    ..........................

    согласная(1)="Б";

    согласная(2)="б";

    согласная(3)="В";

    согласная(4)="в";

    ................

    ..........................

    знак(1)=".";

    знак(2)=".",;

    знак(3)="!";

    знак(4)="?";

     ............ // Функции

    функция фГласная(буква)  

     Для ц=1 по кг Цикл  

         Если буква=гласная(ц) тогда

                 Возврат(1);  

         КонецЦикла;  

     КонецЦикла;  

     Возврат(0);

    КонецФункции  

     

    функция фСогласная(буква)  

     ............................

    КонецФункции  

    функция фзнак(буква)  

     ............................

    КонецФункции

      // текст основной программы

    Ввод(буква);

    Если фГласная(буква) = 1 тогда

       Сообщить(буква+" гласная");  

    ИначеЕсли  фСогласная(буква)=1

    тогда             Сообщить(буква+" согласная");  

    ИначеЕсли фЗнак(буква)=1 тогда      

     Сообщить(буква+" разделительный знак");

    Иначе        Сообщить(буква+" не квалифицирована");

    КонецЕсли;  

     

      Вот собственно и всё.  

    Замечание1

    Если язык требует при объявлении массива его размерность- её нужно указать. многие языки имеют встроенную функцию определения размерности, некоторые языки имеют встроенные функции поиска в массиве, тогда нужно воспользоваться ими, а не писать свои функции.

    Замечание2

    Если ИначеЕсли... как правило реализуется операторами Case

    Замечание3

    Основная программа, как правило тоже обрамляется циклом с выходом по условию, которое либо системное либо некий хитрый символ(или клавиша), который ты определяешь концом ввода данных.

    Замечание4

    Вместо массив можно использовать строки, содержащие подряд буквы, например, гласная="АаЕеИи....". в этом случае для поиска нужно пользоваться соответствующими встроенными строковыми функциями.

      В общем, смысл должен быть тебе понятен, а дальше - творчество.

    Успехов!  

    Почему-то при записи убежал возврат каретки, попробовал восстановить. :)

        

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years