| Задача о городах-условие |
|
|
Sunday, 23 April 2006 | Сайт Иерусалимского университета для раздела Ученье – свет Мы хотим предложить вашему вниманию одно из заданий по программированию на Java, c которыми должны справиться студенты, изучающие соответствующий предмет в Еврейском университете в Иерусалиме. Задание свежее, нынешнего года – это, кстати, была одна из причин, по которой мы выбрали именно ее. Другая – в ней, строго говоря, не требуется знание специфических «технических» особенностей работы с Java; акцент фактически сделан на развитие и практическую реализацию программистского подхода.Задание.
Решено собрать и обработать данные об уровне жизни в различных городах мира. Для этого используются следующие массивы:
Private int[] [] standarts – каждая строка соответствует определенному городу (они все пронумерованы в соответствии с индексами строк); столбцы массива содержат оценки (по 100-бальной шкале) по четырем параметрам. Первый – уровень безопасности, второй – уровень медицинского обеспечения, третий – уровень системы образования, четвертый – уровень жилищных условий.
private String[] contin – для каждого города содержит название континента, на котором город расположен
private int[] numbers – содержит индикатор «уровня жизни» в каждом городе; «уровень жизни» определяется как среднее арифметическое соответствующих данному городу оценок из массива standarts
Пункт 1.
Напиши метод public double very_high (String s), который получает в качестве параметра s название континента и определяет (при помощи метода private void compute_living (), определяющим уровень жизни в соответствии со сказанным выше, который следует написать отдельно!) долю (в процентах) городов на соответствующем континенте с «очень высоким уровнем жизни» (значение можешь выбрать самостоятельно). В случае, если таких городов вообще не обнаружится – метод должен вернуть -1 (минус один).
Пункт 2.
Напиши метод public double very_low (String s), который получает в качестве параметра s название континента и определяет (при помощи метода private void compute_living (), определяющим уровень жизни в соответствии со сказанным выше, который следует написать отдельно!) долю (в процентах) городов на соответствующем континенте с «очень низким уровнем жизни» (значение можешь выбрать самостоятельно). В случае, если таких городов вообще не обнаружится – метод должен вернуть -1 (минус один).
Пункт 3.
Напиши метод public double higher (String s, int value), который получает в качестве параметра s название континента и определяет (при помощи метода private void compute_living (), определяющим уровень жизни в соответствии со сказанным выше, который следует написать отдельно!) долю (в процентах) городов на соответствующем континенте с уровнем жизни выше значения value (значение можешь выбрать самостоятельно). В случае, если таких городов вообще не обнаружится – метод должен вернуть -1 (минус один).
Пункт 4.
Напиши метод public int safety(), который заполнит массив numbers номерами городов с минимальным уровнем безопасности. Метод возвращает количество городов в массиве.
Пункт 5.
Напиши метод public int educ (), который заполнит массив numbers номерами городов с максимальным уровнем системы образования. Метод возвращает количество городов в массиве.
Пункт 6.
Напиши метод public int educ_safety (), который заполнит массив numbers номерами городов, для которых разницамежду уровнем безопасности и уровнем системы образования не превышает 5 (по абсолютному значению). Метод возвращает количество городов в массиве.
Примечание: в решении имеется уже заполненный массив standarts, но желающие могут написать дополнительно метод для ввода данных, почему нет?
|