| Экзамен 1997 года, часть 1-я |
|
|
Sunday, 02 April 2006 | Зэев Фрайман для раздела Ученье – свет Сегодня я хочу предложить вашему вниманию еще две публикации, основанные на одном источнике: письменном экзамене на аттестат зрелости 1997 года. напоминаю, что речь идет об израильских школах и подборка задач соответствует нашему учебному плану. Кроме того – это первый из двух обязательных экзаменов – до тем более высокого, второго этапа (ссылки, списки, двоичные деревья и прочее) мы планируем добраться к лету; причины на то – чисто организационного характера.Поскольку экзамен первого этапа состоит из 8 обязательных задач (всего их – 10, есть возможность выбора), то материал я разбиваю на две публикации. Кроме того, я сделал не все задачи, содержавшиеся в экзамене – просто из-за и так немалого объема.
Задача 2.
Переведите на PASCAL или BASIC следующий словесный алгоритм:
(1) Прочитать число в переменную NUM
(2) Прочитать строку в переменную MILA
(3) Если длина строки больше, чем NUM
тогда – (3.1) напечатать строку
иначе – (3.2) напечатать разницу между длиной строки и значением NUM
class exer2_97{
public static void main (String args[]){
int num=IO.readInt("num=");
String mila=IO.readString("mila=");
int how=mila.length();
if (how>num) IO.writeln(mila);
else IO.writeln(how-num);
}
}
Задача 3.
Следующая программа должна подсчитать и напечатать квадраты натуральных чисел, начиная с 1. Программа прекратит работу, когда квадрат числа станет большим 1000. В программу вкралась ошибка и поэтому она не выполняет то, что планировалось.
class exer3_97{
public static void main (String args[]){
int num1=1;int num2=1;
while (num2>1000){
IO.writeln(num2);
num1++;
num2=num2*num1;
}
}
}
Проследите за выполнением программы с помощью таблицы трассировки, объясните ошибку и исправьте её.
Задача 5.
Напишите программу, которая читает два целых положительных числа в переменные N и M.
Программа должна выполнить следующие действия:
- напечатать все целые числа, которые делятся на 7 без остатка, в промежутке между M и N.
- вычислить и напечатать произведение всех этих чисел.
class exer5_97{
public static void main (String args[]){
int n=IO.readInt("n=");
int m=IO.readInt("m=");
int result=1;
int a,b;
if (m>n) {a=n; b=m;}
else {a=m; b=n;};
for (int i=a;i<=b;i++){
if (i % 7==0){
IO.writeln(i);
result=result*i;
}
}
IO.writeln();
IO.writeln("result="+result);
}
}
|