Главная страница
Навигация по странице:

  • JavaLab1 {// массив целых чиселpublic int[] m;// конструкторpublic JavaLab1

  • @param

  • Переменные и Точки останова

  • Перешагнуть (Step Over)

  • Войти (Step Into)

  • Войти в следующий метод ( Shift + F7) . Выйти (Step Out )

  • Приостановить (Pause)

  • (F5)

  • (F4)

  • Войти в следующий метод

  • Номер варианта Задание

  • Java Лаб. работа 1(конструкции Java ). Программирование и алгоритмизация. Лабораторная работа 1


    Скачать 212.86 Kb.
    НазваниеПрограммирование и алгоритмизация. Лабораторная работа 1
    Дата14.06.2018
    Размер212.86 Kb.
    Формат файлаdocx
    Имя файлаJava Лаб. работа 1(конструкции Java ).docx
    ТипЛабораторная работа
    #46924

    Программирование и алгоритмизация. Лабораторная работа №1

    Цель


    Получить опыт применения основных конструкций языка Java при описании алгоритмов, освоить методику отладки приложений в среде NetBeans.

    Пример выполнения лабораторной работы

    Задание


    На вход поступает (вводиться пользователем) несколько целых чисел . Данные, поступающие на вход, присваиваются членам класса. Вывести значение максимального числа из введенных и их среднее значение.

    Сформулируем задание в терминах идеологии Java


    Создать класс в приложении Java, содержащий следующую функциональность:

    1. Класс содержит массив целых чисел.

    2. Конструктор создает массив, размерность массива передается как параметр конструктора.

    3. Класс содержит метод, который заполняет его значениями введенными пользователем.

    4. Класс содержит метод, вычисляющий максимальный элемент массива.

    5. Класс содержит метод, вычисляющий среднее значение всех элементов.

    6. Метод main должен создать экземпляр описанного класса, и проверить его методы.

    Последовательность выполнения


    Создадим в IDE NetBeans новое приложение Java путем выполнения команды Файл -> Создать проект:



    Введем имя проекта и место хранения. Также включим создание главного класса (содержащего метод main, который выполняется при запуске приложения), нажмем «Готово»:



    После этого имеем открытый в NetBeans проект со структурой по умолчанию:



    Двойным кликом откроем исходный код класса и добавим методы , реализующее задание.

    Расширение секции import


    Обратите внимание на секцию import – для использования библиотечных классов нужно их включить.

    Нам потребуется импортировать Класс Scanner , который позволяет читать данные полученные, например, из консоли (с клавиатуры)
    package javalab1;

    import java.util.Scanner;

    Описание класса JavaLab1


    В классе JavaLab1 добавим описание членов, и методов.
    public class JavaLab1 {

    // массив целых чисел

    public int[] m;
    // конструктор

    public JavaLab1 (int cnt) {

    m = new int[cnt];

    };
    // заполнение массива данными

    public void init () {

    Scanner sc = new Scanner(System.in);

    for (int i=0; i
    m[i] = sc.nextInt();

    }

    }
    // нахождение максимального элемента массива

    public int max(){

    int mx = m[0];

    for (int i=1; i
    if (m[i]>mx) { mx = m[i]; }

    }

    return mx;

    }
    // нахождение среднего значения всех элементов массива

    public double averige(){

    int av = 0;

    for (int i=0; i
    av = av + m[i];

    }

    return (double) av/m.length; //преобразуем результат в действительное число (double)

    }

    /**

    * @param args the command line arguments

    */

    public static void main(String[] args) {

    // создать экземпляр JavaLab1

    JavaLab1 jl = new JavaLab1(5);

    // заполнить массив

    System.out.println("Введите " + jl.m.length + " значений");

    jl.init();

    // вывести максимальный элемент массива и среднее значение

    System.out.println("Максимальный элемент "+ jl.max());

    System.out.println(" Среднее значение "+ jl.averige());

    }

    }

    Отладка приложений в среде NetBeans


    Отладка это этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, применяют отладчик (деба́ггер, англ. debugger от bug) который предназначен для поиска ошибок в программе. Отладчик позволяет выполнять трассировку (пошаговое выполнение программы оператор за оператором), отслеживать, устанавливать или изменять значения переменных в процессе выполнения кода, устанавливать и удалять  условия остановки и т.д.

    Запуск отладки


    Для запуска процесса отладки нужно нажать на кнопку «Отладка проекта» (или Ctrl F5). После этого появляются дополнительные кнопки, предназначенные для управления выполнением, когда ваш код исполняется в отладчике. Внизу экрана автоматически открываются закладки отладчика.  По умолчанию NetBeans открывает две закладки отладчика: Переменные и Точки останова. Закладки отладчика закрываются при его завершении.

    e:\univer\программирование и основы алгоритмизации java\методичка к лабораторным работам\lab\метод джава\8.jpg

    Работа с контрольными точками


    Большинство приложений являются слишком большими для того, чтобы проверять в них каждую строчку. Более удачным вариантом в этом случае является установка контрольной точки в месте, в котором, как вы думаете, возникает ошибка, и выполнения приложения до этой точки.

    Установка контрольной точки


    Если вы хотите просто установить контрольную точку в строке, то кликните на левой границе редактора кода в нужной строке. На границе появится изображение контрольной точки. Для удаления контрольной точки кликните по ней.

    e:\univer\программирование и основы алгоритмизации java\методичка к лабораторным работам\lab\метод джава\3.jpg

    Поставим контрольную точку в методе max внутри цикла.

    Когда выполнение кода достигнет контрольной точки, инструкция, на которой произошел останов, будет отмечена стрелкой

    e:\univer\программирование и основы алгоритмизации java\методичка к лабораторным работам\lab\метод джава\4.jpg

    Установка наблюдений


    Наблюдатели позволяют отслеживать изменения значений переменных или выражений в процессе выполнения программы. Для установки наблюдателя выберите нужную переменную или выражение в редакторе кода, затем кликните правой кнопкой мыши и выберите «Создать наблюдение». В появившемся окне мы видим переменную или выражение, которое хотим наблюдать.

    e:\univer\программирование и основы алгоритмизации java\методичка к лабораторным работам\lab\метод джава\6.jpg

    После подтверждения наблюдаемое значение появляется в закладке Переменные.

    e:\univer\программирование и основы алгоритмизации java\методичка к лабораторным работам\lab\метод джава\7.jpg

    Пошаговая отладка


    Чтобы выполнять программу шаг за шагом (или функция за функцией) вы можете использовать следующие команды, когда ваш код исполняется в отладчике.

    • Перешагнуть (Step Over) (F8). Исполняет одну строчку кода. Если строка содержит вызов, выполняет всю подпрограмму без переходов по отдельным инструкциям.

    • Войти (Step Into) (F7). Исполняет одну строчку кода. Если строка содержит вызов, останавливается перед первым выражением подпрограммы.

    • Войти в следующий метод ( Shift + F7).

    • Выйти (Step Out )( Ctrl + F7). Исполняет одну строчку кода. Если строка - часть подпрограммы, выполняет остальные строки подпрограммы и возвращает управление вызвавшей программе.

    • Приостановить (Pause) Останавливает выполнения приложения.

    • Продолжить (Continue) (F5). Продолжает выполнения приложения. Приложение будет остановлено на следующей контрольной точке.

    • Выполнить до курсора (Run to Cursor) (F4). Исполняет код до положения курсора ввода в редакторе и останавливает выполнение приложения.

    • Завершить сеанс отладчика ( Shift + F5).

    Завершите выполнение метода maxв пошаговом режиме (используйте команду Перешагнуть). Отслеживайте переменные при выполнении каждой итерации цикла. При выходе из метода maxи достижении строки System.out.println(" Среднее значение "+ jl.averige()); войдите в метод averige при помощи команды Войти в следующий метод. Для завершения программы выполните команду Продолжить.

    Варианты заданий


    Общая формулировка: реализовать класс, содержащий методы, реализующие описанную функциональность.

    Данные, поступающие на вход, присваиваются членам класса. Метод , который реализует функциональность, должен возвращать данные соответствующего типа. Ввод данных и вывод результата должны происходить в методе main.

    Номер варианта

    Задание

    1

    На вход поступают два числа n и m, разделенные пробелом – количество строк и столбцов матрицы. Далее вводится n строк по m чисел, разделенных пробелом – сама матрица. Вывести сумму всех элементов матрицы. Транспонировать исходную матрицу и вывести результат.

    2

    На вход поступает строка, содержащая слова, разделенные пробелами. Вывести количество слов. Обратить порядок слов в строке и вывести эту строку.

    3

    На вход поступает строка, содержащая числа, разделенные пробелами. Вывести сумму всех введенных чисел. Перенести все отрицательные элементы в конец массива и вывести результат.

    4

    На вход поступает строка, содержащая слова, разделенные пробелами. Вывести количество слов. Отсортировать слова в порядке возрастания длины и вывести результат.

    5

    На вход поступает строка, содержащая числа, разделенные пробелами. Вывести количество чисел. Подсчитать среднее арифметическое положительных чисел из исходной последовательности и вывести результат.

    6

    На вход поступает натуральное число. Если число четное, вывести слово «четное» иначе «нечетное». Перевести его в двоичную систему счисления и вывести результат.

    7

    На вход поступает натуральное число. Посчитайте сумму всех его цифр. Для любой заданной цифры выведите количество раз, сколько она встречается в числе.

    8

    На вход поступает натуральное число. Вывести число, которое является зеркальным отображением последовательности цифр заданного числа, например, задано число 123, вывести 321. . Посчитайте среднее значение всех его цифр.


    Материалы для изучения


    1. [Электронный ресурс] Онлайн курс «Язык программирования Java и среда NetBeans». URL: http://www.intuit.ru/studies/courses/569/425/info.


    написать администратору сайта