Авторские Материалы о событиях в Израиле на Ближнем Востоке и в мире

IsraMir.com - Израильская журналистика

Default color brown color green color red color blue color
Вы сейчас тут: Новости arrow Техотдел arrow Свет ученья arrow Экзамен 1997 года, часть2-я
Skip to content
Экзамен 1997 года, часть2-я Версия для печати Отправить на e-mail
Sunday, 02 April 2006 | Зэев Фрайман для раздела Ученье – свет
Экзамен1997года,часть2-яisramir.comjavaПеред вами – еще несколько задач из письменного экзамена 1997 года; на этот раз задачи взяты из второй и третьей частей экзамена, где, как правило, собраны задачи и побольше размером, и посложнее, и требующие использования таких инструментов, как строковые и символьные значения, а также массивы, одномерные и двумерные. Все варианты решений составлены мной – и я на этот раз решил написать их в варианте «линейной программы», хотя от учеников, при обучении на PASCAL’е мы обычно требуем (в соответствии с программой) написания процедур и функций.
 
 
Задача 7.
Напишите программу, которая строит одномерный массив размером 20 ячеек следующим образом:
-         программа получает от пользователя целое число и ставит его на 10 место в массиве;
-         с 11-го места и до конца массива ячейки заполняются последовательными числами, начиная с полученного от пользователя числа;
-         первые 9 ячеек заполняются случайными числами в интервале от 25 до 55 включительно.
Программа должна напечатать полученный массив одной строкой.
 
class exer7_97{
            public static void main (String args[]){
                        int m[]=new int[20];
                        int num=IO.readInt("num=");
                        m[9]=num;
                        for (int i=10;i<20;i++){
                                   num++;
                                   m[i]=num;
                        }
                        for (int i=0;i<9;i++){
                                   num=(int)(31*Math.random()+25);
                                   m[i]=num;
                        }
                        for (int i=0;i<20;i++) IO.write(m[i]+" ");
                        IO.writeln();
            }
}
 
Задача 8.
Охранная фирма передала зашифрованное сообщение. Сообщение представляет собой строку содержащую набор букв без пробелов. Для того чтобы расшифровать сообщение, фирма передала также одномерный массив  длиной 20. Этот  массив по имени SECRET содержит целые числа, соответствующие длине слов в зашифрованном сообщении.
А. Требуется написать программу, которая читает строку сообщения (длина строки не превышает 150 символов) и массив SECRET. Программа должна напечатать текст cсообщения с пробелами между словами.
Б. Объясните, какие проверки следует произвести, чтобы обеспечить правильность вводимой информации.
 
Примечание: поскольку для «реальной» работы программы надо вводить значения в массив secret, в решении сделана вставка и изменения в последней части программы по сравнению с «письменным» вариантом ответа для экзамена (переменная f).
 
class exer8_97{
           
            public static void main (String args[]){
                        String message=IO.readString("mila=");
                        int secret[]=new int[20];
                        // input date for secret - not found in exer!
                        int i=0;
                        int num=IO.readInt();
                        while (num!=0){
                        secret[i]=num;
                        i++;
                        num=IO.readInt();
                        }         
                        // end of input for secret
                        int f=i; 
                        int sum=0;
                        for (i=0;i
                                   sum=sum+secret[i];
                        IO.writeln("sum="+sum);                                
                        int how=message.length();
                        if (sum>how) IO.writeln("Error");
                        else{
                                   int first=0;
                                   int last=0;
                                   for (i=0;i
                                               last=last+secret[i];
                                               String slovo=message.substring(first,last);
                                               IO.write(slovo+" ");
                                               first=last;
                                   } //of for
                        }          // of else
            }
           
}
 
Еще две задачи из этого экзамена – в следующий раз.
 
 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:


Автотранслитерация: выключена

Защитный код

Powered by jComments