| Java: продолжение разговора |
|
|
Sunday, 26 February 2006 | Зэев Фрайман для раздела Ученье – свет Строго говоря, следовало бы обсудить один исключительно важный и принципиальный момент в отношении темы «Как изучать Java в рамках школьной программы». А именно – проблему обучения «объектно-ориентированному мышлению» – или, как выражаются мои ученые коллеги, парадигму подхода (если я не наврал с терминологией). А проще говоря? Стоит ли с самого начала начинать работать с классом в понятиях и, тем более, терминах, подхода «все в мире – объекты» – или вовсе не стоит делать этого на начальных стадиях.
Тема эта и в самом деле чрезвычайно серьезная и принципиальная, так что к ней, при все желании или полном нежелании, придется и обязательно надо будет вернуться.
Но сегодня, в качестве затравки, что ли, в порядке оформления подступов к этой серьезной теме, я хочу предложить вам вот что. Мы с коллегой, д-ром Евгением Канелем, произвели простой эксперимент: взяли так называемый «базовый вариант» государственного экзамена по предмету «Основы компьютерных наук» и приготовили его полные решения в двух вариантах. Один – на «привычном» и вдоль и поперек использованном PASCAL’е, а второй – на пока еще не так чтобы очень родной Java. Может быть, в качестве исходного материала для обсуждения и рассуждения на тему «Объектно-ориентированный подход в школе – на каком этапе обучения?», сравнение вариантов на PASCAL’e и на Java как будет достаточно полезным?
Итак, в этой статье мы предлагаем вам собственно сам экзамен в нашем авторком переводе на русский язык. Один, на наш взгляд, весьма существенный момент: вопросы, разумеется, сформулированы «под PASCAL», то есть с терминами «функция», «процедура» и прочими – которые, разумеется, в Java не пригодятся. Это, кстати, еще один весьма и весьма серьезный дидактический момент: придется переделывать в смысле формулировок уже накопившийся материал для учебной работы – представляете, сколько возни?..
Задача №1.
Поскольку в этом задании ученик должен был «просто» отследить исполнение текстового алгоритма, без написания соответствующего программного кода, мы этот вопрос пропускаем.
Задача №2.
Дан заголовок функции: function sub (a, b : integer) : integer;
Условие входа: функция получает два целых числа
Условие выхода: функция возвращает абсолютное значение разницы между полученными значениями.
Задача №3
Переменная tel относится к типу литерных.
Задача №4
Дан одномерный массив размеров 57 ячеек, содержащий целые числа из диапазона 100-999. Напиши программный блок, который распечатывает все значения из массива, отвечающие следующему условию: цифра сотен вдвое больше цифры единиц.
Задача №5.
См. Комментарий к задаче №1
Задача №6.
См. Комментарий к задаче №1
Задача №7.
В классе 30 учеников, каждый из которых в первом полугодии получил три оценки. Итоговая полугодовая оценка выставляется на основании следующих правил:
1) Рассчитывается среднее арифметическое полученных оценок.
2) К полученной оценке, если она выше 85, добавляется 5 баллов; в случае, если итоговая оценка выше 100, она снижается до 100.
Напиши программу, которая принимает как воод имя и три оценки каждого из 30 учеников. Программа рассчитает для каждого ученика его итоговую оценку и распечатает на экране имя ученика и его итоговую оценку. Кроме того, прогрмма выведет число учеников, получивших 100 в качестве полугодовой оценки.
Примечание: написать программу, исходя из предположения, что ввод выполняется в соответствии с задачей (нет необходимости проверять правильность вводимых данных).
Задача №8.
При приеме на работу от каждого кандидата требуется указать срок обучения в ВУЗе и трудовой стаж (в годах). Данные – целые числа.
Для отбора кандидатов установлен индикатор sel, определяемый следующим образом: «произведение срока обучения и стажа».
Если значение индикатора sel менее 8 – кандидат не соответствует условиям приема на работу.
Если значение индикатора sel – от 8 до 15 (включительно), то кандидат соответствует «обычным» условиям приема.
Если значение индикатора sel более 15, то кандидат соответствует «повышенным» условиям приема.
Задача №9.
Определим как «цветок» следующую группу ячеек в двумерном массиве:
Содержит пять ячеек из подмассива 3х3
Центральная ячейка называется «сердцем цветка»
Четыре ячейки, расположенные по диагонали от «сердца цветка», называются «листьями».
Значение, находящееся в «сердце» равно сумме значений, находящихся в «листьях».
В каждом «цветке» должно быть 4 «листка».
Пример массива и «цветка» в нем (помечен фоном).
Задача №10.
На ювелирной фабрике изготавливают ожерелья из камней трех цветов: красного, желтого, зеленого. В каждом ожерелье должен быть хотя бы один камень каждого цвета. Ожерелье считается годным, если в нем имеется равное количество камней каждого цвета, бракованным – если это условие не выполняется.
Напиши программу, которая принимает в качестве ввода информацию обо все произведенных в течении рабочего дня ожерельях. О каждом ожерелье вводятся следующие данные: число камней и список цветов каждого камня. Например: 5, желтый, красный, красный, зеленый, красный. Ввод информации об ожерельях завершается, когда вводится 0 в качестве числа камней в ожерелье.
Программа распечатает в качестве вывода общее число произведенных ожерелий и число бракованных ожерелий.
Программа должна содержать следующие подпрограммы:
1) ввод информации о камнях, составляющих данное ожерелье и подсчет камней каждого цвета в данном ожерелье;
2) проверка, является ожерелье бракованным или годным
Примечание: нет необходимости проверять соответствие вводимых данных требованиям задачи.
|
|||||||||||||||||||||