Методические указания к лабораторным работам
2-й семестр
Порядок выполнения лабораторных работ
Познакомиться с темой и целью лабораторной работы.
Изучить необходимые к выполнению лабораторной работы теоретические сведения и примеры программ.
Познакомиться с общим заданием к лабораторной работе и индивидуальным вариантом задания.
Написать и отладить программу решения задачи индивидуального варианта.
Протестировать работу программы на различных наборах исходных данных.
Продемонстрировать преподавателю работу программы.
Оформить отчет.
Защитить лабораторную работу.
Оборудование, технические средства, инструмент
Лабораторные работы выполняются в компьютерном классе, оснащенном персональными компьютерами. На компьютерах должна быть установлена система программирования, поддерживающая создание программ на С++ (например, Qt Creator, MS Visual C++ Express), система программирования на Java (например, NetBeans) и система программирования на С# (например, MS Visual C# Express).
Требования к оформлению отчета
Отчет по лабораторной работ должен содержать:
титульный лист;
цель работы;
задание к лабораторной работе (общее задание и индивидуальный вариант задания);
состав проекта и листинг программы;
тестовые примеры, иллюстрирующие все варианты работы программы.
Требования к защите лабораторных работ
После оформления отчета, лабораторную работу защищают, т. е. поясняют алгоритм работы программы и отвечают на контрольные вопросы.
Лабораторная работа №4. Java и C#. Введение в классы и объекты.
Передача параметров в методы.
Цель работы: научиться создавать простые классы на Java и C# и изучить механизмы передачи параметров в методы.
Задание 1
Изменить программу, созданную на основе задания 2 лабораторной работы № 3. Ввод, обработку и вывод двумерного массива оформить в виде отдельных статических методов. Массив в эти методы передавать как параметр.
Пример 1
Имеется информация о баллах, полученных спортсменами-пятиборцами в каждом из пяти видов спорта. Общее число спортсменов равно N. Необходимо занести эту информацию в двумерный массив (в первую строку – информацию о баллах первого спортсмена, во вторую – второго и т. д.) и упорядочить строки полученной матрицы по возрастанию общей суммы баллов, набранных каждым спортсменом.
В листинге 1 представлена программа для решения описанной задачи. Для создания программы использовалась среда разработки NetBeans IDE 8.0. На рисунке 1 показан состав проекта программы.
Рисунок 1 – Состав проекта программы
Создание проекта в NetBeans: Файл -> Создать проект -> Java -> Приложение Java.
Компиляция, сборка и выполнение проекта: Выполнить -> Запустить проект.
На рисунке 2 показан результат выполнения программы.
Листинг 1
package primer1;
import java.util.Scanner;
public class Primer1 {
static int[][] input()
{ int n; int i, j;
Scanner in = new Scanner(System.in);
System.out.print("Укажите колличество стортсменов - пятиборцев: ");
n = in.nextInt();
System.out.println("Введите баллы каждого из " + n + " спортсменов - пятиборцев:");
int[][] a = new int [n][5];
for (i = 0; i < n; i++)
for (j = 0; j < 5; j++)
a[i][j] = in.nextInt();
return a;
}
static int[] summ(int[][] a)
{ int[] sum; int i, j;
int n = a.length;
sum = new int [n];
for (i = 0;i < n;i++)
{ sum[i] = 0;
for (j = 0;j < 5; j++)
sum[i] += a[i][j];
}
System.out.println();
for (i = 0;i < n; i++)
{ for (j = 0;j < 5; j++)
System.out.print(a[i][j] + " ");
System.out.print("| " + sum[i]);
System.out.println();
}
//Сортировка
int buf_sum; int nmin, buf_a;
for(i = 0;i < n-1; i++)
{ nmin = i;
for(j = i+1;j < n; j++)
if (sum[j] < sum[nmin])
nmin = j;
buf_sum = sum[i];
sum[i] = sum[nmin]; sum[nmin] = buf_sum;
for(j = 0;j < 5;j++)
{ buf_a = a[i][j];
a[i][j] = a[nmin][j];
a[nmin][j] = buf_a;
}
}
return sum;
}
static void output(int[][] a, int[] sum)
{ int i, j;
System.out.println();
for (i = 0;i < a.length; i++)
{ for (j = 0;j < 5; j++)
System.out.print(a[i][j] + " ");
System.out.print("| " + sum[i]);
System.out.println();
}
}
public static void main (String [] args)
{
int[][] a = input();
int[] sum = summ(a);
output(a, sum);
}
}
Рисунок 2 – Результат выполнения программы