Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2-й семестр / Лаб.работы / Мет.ук. к л.р.3.doc
Скачиваний:
68
Добавлен:
12.03.2016
Размер:
1.05 Mб
Скачать

Пример 1

В листинге 1 представлена программа, которая записывает информацию о результатах соревнования по плаванию (время заплыва N спортсменов в секундах) в одномерный массив и находит наилучшее время заплыва.

Для создания программы использовалась среда разработки NetBeans IDE 8.0. На рисунке 1 показан состав проекта программы.

Рисунок 1 – Состав проекта программы

Создание проекта в NetBeans: Файл -> Создать проект -> Java -> Приложение Java.

Компиляция, сборка и выполнение проекта: Выполнить -> Запустить проект.

На рисунке 2 показан результат выполнения программы.

Листинг 1

package primer1;

import java.util.Scanner;

public class Primer1 {

public static void main(String[] args) {

Int n; // количество спортсменов

Scanner in = new Scanner(System.in);

System.out.print("Укажите колличество стортсменов: ");

n = in.nextInt();

int[] a = new int [n];

System.out.println("Введите время заплыва каждого из " + n + " спортсменов (в секундах):");

for (int i = 0; i < n; i++)

a[i] = in.nextInt();

int min = a[0];

for (int i = 0; i < n; i++)

if (a[i] < min)

min = a[i];

System.out.print("Лучшее время заплыва (в секундах): "+ min+ "\n");

}

}

Рисунок 2 – Результат выполнения программы

Задание 2

Создать программу на языке Java, реализующую алгоритм решения задачи индивидуального варианта. В программе должна быть организована работа с двумерным массивом.

Индивидуальные варианты:

  1. Результаты автогонщиков. Записать в двумерный массив результаты (время в минутах), показанные каждым из M автогонщиков на каждом из 10-ти этапов соревнований “Формула-1” (в первой строке – результаты первого гонщика, во второй – второго и т. д.). После десятого этапа гонщик с порядковым номером 4 выбыл из соревнований. Удалить из массива результаты выбывшего гонщика. Среди оставшихся автогонщиков определить номер автогонщика, имеющего наилучшее среднее время после 10-ти этапов соревнований “Формула-1”.

  1. Оценки студентов. Записать в двумерный массив информацию об оценках каждого из N студентов группы по тому или иному предмету (в первой строке – информация об оценках первого студента, во второй – второго и т. д.). Общее число предметов равно K. Сформировать список оценок студентов, которые по всем K предметам учатся на 4 и 5. Упорядочить этот список по возрастанию среднего балла.

  1. Пруд с водой. Предположим, что целая матрица - это пруд с водой. В любое место пруда бросают камешек. Место попадания обозначим цифрой 0. От камушка по воде расходятся круги в виде цифр 1, 2, 3, ….. Написать программу для формирования поверхности пруда после попадания камушка в любую точку пруда, т.е. матрицу А(m, n) заполнить следующим образом: для заданных k и r элементу Аkr присвоить значение 0; элементам, окаймляющим его (соседним с ним) – значение 1; элементам следующего окаймления – значение 2 и так далее до заполнения всей матрицы.

  1. Работа комбайнера. Матрицу К(m, n) заполнить следующим образом. Элементам, находящимся на периферии (по периметру матрицы), присвоить значение 1; периметру оставшейся подматрицы – значение 2 и так далее до заполнения всей матрицы.

  1. Оценки учеников. Занести в массив A фамилии учеников 11 класса, в матрицу С – их оценки по 10 предметам за первое полугодие, в массив B – названия этих предметов. Определить, по какому предмету самый высокий средний балл. Составить список учеников в порядке возрастания их среднего балла.

  1. Результаты велогонщиков. В двумерный массив записать результаты (время в минутах), показанные каждым из K велогонщиков на каждом из 12-ти этапов соревнований (в первом столбце – результаты первого этапа, во втором – второго и т. д.). Судейской коллегией результаты пятого этапа были признаны недействительными. Удалить из массива результаты пятого этапа. Определить номер велогонщика, имеющего наихудшее среднее время по итогам оставшихся этапов.

  1. Магическим квадратом порядка n называется квадратная таблица размером n x n, состоящая из чисел 1, 2, ….., n2, так, что суммы по каждому столбцу, каждой строке и каждой из двух диагоналей равны между собой. Проверить, является ли заданная целочисленная квадратная матрица магическим квадратом.

  1. Улитка. Матрицу М(k, k) заполнить натуральными числами от k до k2 по спирали, начинающейся с левого верхнего угла и закрученной по часовой стрелке.

  1. В зрительном зале R рядов, в каждом из которых M мест (кресел). Информация о проданных билетах записать в двумерный массив, номера строк которого соответствуют номерам рядов, а номера столбцов – номерам мест. Если билет на то или иное место продан, то соответствующий элемент массива имеет значение 1, в противном случае – 0. Определить: 1) в каком ряду максимальное количество свободных мест? 2) на сколько рядов билеты полностью проданы?

  1. Зарплата сотрудников. Записать в двумерный массив информацию о зарплате N сотрудников фирмы за каждый месяц года (в первом столбце – за январь, во втором – за февраль и т. п.). Определить: 1) среднюю зарплату за каждый месяц; 2) номера сотрудников, имеющих максимальную среднегодовую зарплату.

  1. Таблица футбольного чемпионата задана квадрат­ной матрицей порядка n, в которой все элементы, при­надлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен 2,1 или 0 (числу очков, набранных в игре: 2—выигрыш, 1—ничья, 0—проигрыш).

а) Найти число команд, имеющих больше побед, чем поражений.

б) Определить номера команд, прошедших чемпионат без поражений.

в) Выяснить, имеется ли хотя бы одна команда, вы­игравшая более половины игр.

  1. В поезде K вагонов, в каждом по M мест. Информацию о проданных на поезд билетах записать в двумерный массив, номера строк которого соответствуют номерам вагонов, а номера столбцов – номерам мест. Если билет на то или иное место продан, то соответствующий элемент массива имеет значение 1, в противном случае – 0. Определить: 1) имеются ли свободные места в том или ином вагоне поезда;

2) В какой вагон продано больше всего билетов?

  1. Латинский квадрат. Латинским квадратом порядка n называется квадратная таблица размером n x n, каждая строка и каждый столбец которой содержит все числа от 1 до n. Проверить, является ли заданная целочисленная матрица латинским квадратом.

  1. Фирма имеет N магазинов. Информацию о доходе каждого магазина, за каждый месяц года записать в двумерный массив. Получить список доходов за каждый месяц года для тех магазинов, чей доход за год превысил некоторое заданное число. Упорядочить этот список по возрастанию годового дохода.

  1. Замочная скважина. Даны мозаичные изображения замочной скважины и ключа. Пройдет ли ключ в скважину? То есть даны матрицы К( m1,n1) и L(m2,n2), m1 > m2, n1 > n2, состоящие из нулей и единиц. Проверить, можно ли наложить матрицу L на матрицу K (без поворота, разрешается только сдвиг) так, чтобы каждой единице матрицы L соответствовал нуль в матрице К.

Соседние файлы в папке Лаб.работы