русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Работа с NetBeans


Дата добавления: 2015-07-09; просмотров: 2040; Нарушение авторских прав


Окно среды разработки NeBeans версии 6.8 представлено на рис. 1.4.

Рис.1.3. Окно среды разработки NeBeans 6.8

Для создания проекта в меню File выбирают команду New Project, как показано на рис. 1.4.

Рис.1.4. Создание нового проекта командой File>New Project

В качестве альтернативы можно воспользоваться кнопкой панели инструмен­тов (по умолчанию она вторая слева) в виде светло-коричневой закрытой папки с зеленым крестом (рис. 1.5).

Рис.1.5. Кнопка создания нового проекта

В результате открывается диалоговое окно New Project, представленное на рис. 1.6. В этом окне в разделе Categories следует выбрать вид создаваемого проекта (в нашем случае выбирается позиция Java), а в разделе Projects - тип приложе­ния (позиция Java Application). После щелчка на кнопке Next открывается окно New Java Application (рис. 1.7).


В поле Project Name указывается имя создаваемого проекта. Место для сохране­ния проекта вводится в поле Project Location (для выбора можно воспользовать­ся кнопкой Browse справа от поля). Кроме того, на рис. 1.7 сброшены флажки Create Main Class и Set as Main Project - в результате будет создан пустой (без пользовательских классов) проект. Окно среды NetBeans со вновь созданным проектом представленно на рис. 1.8.

 

Рис.1.6. Окно выбора типа приложения New Project

 
 

рис.1.7. Окно выбора параметров приложения New Java Application

рис.1.8. Добавление класса в проект

Чтобы добавить в проект класс, можно в контекстном меню проекта выбрать команду New ► Java Class или воспользоваться кнопкой New File на панели ин­струментов (по умолчанию первая слева).

В диалоговом окне New Java Class в поле Class Name вводится имя добавляемого в проект класса (рис. 1.9).

По умолчанию код класса содержит только формальные атрибуты начала и окончания описания класса и комментарии в шапке файла (этот шаблон, кста­ти, можно изменить). В код класса вносятся нужные изменения, например, так, как показано на рис. 1.11.



Для компиляции проекта можно воспользоваться командой Run ► Build Project или одноименной кнопкой на панели инструментов (рис. 1.12).

После успешной компиляции запускаем проект на выполнение. Для этого ис­пользуем команду Run ► Run Project или кнопку, расположенную на панели ин­струментов справа от кнопки компиляции проекта (рис. 1.13).

При первом запуске проекта открывается окно Run Prject, предназначенное для выбора главного класса (рис. 1.14). В данном случае с предложенным выбором лучше согласиться. Окно среды NetBeans с результатом выполнения программы показано на рис. 1.15. Результат (текстовое сообщение) выводится в окне Output, которое играет в данном случае роль консоли.


Чтобы закрыть проект, используют команду Close Project меню File или команду Close контекстного меню проекта (рис. 1.16).


Рис.1.9. Окно задания параметров нового класса

рис.1.10. Окно среды NetBeans с кодом вновь созданного класса

Рис.1.11. Код класса после внесения изменений

 
 


рис.1.12.Компиляция проекта

рис.1.13. Запуск приложения

Рис.1.14.Окно выбора главного класса


рис.1.15. Результат выполнения программы отображается в окне Output среды NetBeans

 
 

 


Рис.1.16. Закрытие проекта

 
 

Чтобы открыть уже существующий проект, можно прибегнуть, например, к ко­манде Open Project меню File (рис. 1.17).

Рис.1.17. Открытие проекта командой меню

Другой способ подразумевает использование соответствующей кнопки на пане­ли инструментов - это третья слева кнопка (рис. 1.18).

 

 
 

рис.1.18.Открытие проекта с помощью кнопки панели инструментов

 
 

В результате открывается окно Open Project, в котором выбирается папка про­екта, после чего выполняется щелчок на кнопке Open Project в нижней части окна (рис. 1.19).

Рис.1.19.Окно выбора папки проекта

После этого в окне среды NetBeans соответствующий проект открывается и его можно редактировать, компилировать и выполнять. Если необходимости в ре­дактировании проекта нет и он уже откомпилирован, проект можно сразу за­пускать.

Пример программы

Орбита спутника

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

· Универсальная гравитационная постоянная:

G ≈ 6,672 х 10-11 Нм2/кг2.

· Масса Земли:

М ≈ 5,96 х 1024 кг.

· Радиус Земли:

R ≈ 6,37 х 106 м.

Если через Т обозначить период обращения спутника (в секундах), то высоту Н спутника над поверхностью Земли можно вычислить по формуле:


 

Соответствующий программный код приведен в листинге 1.5.

Листинг 1.5. Орбита спутника

class FindH{

public static void main(String args[]){

// Гравитационная постоянная (Нмл2/кгл2):

double G=6.672E-11;

// Масса Земли (кг):

double M=5.96e24;

// Радиус Земли:

double R=6.37E6;

// Период обращения спутника (часы):

double T=1.5;

// Высота над поверхностью:

double H;

// Перевод в секунды:

T*=3600;

// Высота в метрах:

H=Math.pow(G*M*T*T/4/Math.PI/Math.PI,(double)1/3)-R;

// Высота в километрах с точностью до тысячных:

H=(double)(Math.round(H))/1000;

// Вывод результата на экран:

System.out.println("Высота орбиты спутника: "+H+" км");}

}

В результате выполнения программы получаем сообщение:

Высота орбиты спутника: 277.271 км

При инициализации переменных, определяющих параметры Земли и значение гравитационной постоянной, используется формат представления чисел в виде мантиссы и после литеры E (или e) значения показателя степени десятки. По­скольку время периода обращения спутника (переменная T) задается в часах, для перевода в секунды используем команду T*=3600. Высота вычисляется с по­мощью команды:

H=Math.pow(G*M*T*T/4/Math.PI/Math.PI,(double)1/3)-R

В этой команде использована математическая функция pow() для возведения числа в степень. Первым аргументом указывается возводимое в степень число, вторым - показатель степени. При вызове функции pow() явно указывается класс Math, в котором описана функция. Также использована константа PI (пол­ная ссылка на константу имеет вид Math.PI) для числа п. Кроме того, при вы­числении второго аргумента-показателя степени делятся два целых числа, а по умолчанию такое деление выполняется нацело. Чтобы деление выполнялось «как надо», использована инструкция (double).

После вычисления значения переменной H получаем значение высоты орбиты в метрах. Затем с помощью функции Math.round() это значение округляем и де­лим на 1000 для вычисления значения высоты орбиты в километрах. Поскольку функцией Math.round() возвращается целое число, при делении результата вы­зова этой функции на 1000 по умолчанию также выполняется деление нацело. В силу этой причины перед выражением указана инструкция (double) , в резуль­тате чего значение переменной H получаем в километрах с точностью до сотых, то есть точность орбиты вычисляется с точностью до метра.

Варианты для самостоятельного выполнения

Вариант 1. Комплексные числа

Рассмотрите программу, в которой вычисляется целочисленная степень ком­плексного числа. Напомним, что комплексным называется число в виде z = x + iy, где x и y - действительные числа, а мнимая единица i2 = -1. Величина Re(z) = x называется действительной частью комплексного числа, а величина Im(z) = у - мнимой. Модулем комплексного числа называется действительная величина

. Каждое комплексное число может быть представлено в тригоно­метрическом виде z = r exp(ij) = r cos(j) + ir sin(j), где модуль комплексного чис­ла r и аргумент j связаны с действительной x и мнимой у частями комплексного числа соотношениями x = r cos(j) и у = r sin(j).

Если комплексное число z = x + iy необходимо возвести в целочисленную сте­пень n, результатом является комплексное число zn = rn exp(inj) = rn cos(nj) + + irn sin(nj). Этим соотношением воспользуемся в программе для вычисления целочисленной степени комплексного числа.

Вариант 2. Прыгающий мячик

Рассмотрите такую задачу. Тело (упругий мячик) бросают под углом к горизонту с некоторой начальной скоростью. При падении мячика на ровную горизон­тальную поверхность происходит упругое отбивание, так что горизонтальная составляющая скорости мячика не меняется, а вертикальная меняется на проти­воположную. Необходимо написать программу, которая бы вычисляла положе­ние (координаты) мячика в произвольный момент времени.

При составлении программы воспользуемся тем, что если в начальный момент времени (то есть при t = 0) скорость мячика по модулю равна V, а угол к гори­зонту составляет а, то закон движения для горизонтальной координаты имеет вид:

Для вертикальной координаты соответствующая зависимость, исходя из поста­новки задачи, может быть записана так:

Здесь через Т обозначено время последнего на данный момент удара о землю. Поскольку время между ударами может быть определено как , то:

В данном случае квадратные скобки означают вычисление целой части от вну­треннего выражения.

Вариант 3.Решение тригонометрического уравнения

Рассмотрите программу для решения уравнения вида:

Это уравнение, как известно, сводится к уравнению вида:

где . Поэтому формально решением исходного уравнения для любого n целого явления:

.

В программе, которую нужно написать, по значениям параметров а, b и с для значения п = 0 вычисляется решение уравнения, то есть решение (разуме­ется, если оно существует):

.

При этом проверяется условие существования решения а2 + b2 = с2. Если данное условие не выполняется, уравнение решений не имеет. Экзотический случай, когда а = b = с = 0 (при таких условиях решением является любое значение параметра х) в программе не отслеживается.

Вариант 4.Кодирование символов числами

Рассмотрим простую иллюстративную программу, в которой для записи сразу двух символьных значений (типа char) используется одна переменная целочис­ленного типа (int).

В программе учитывается то обстоятельство, что тип int в Java имеет размер в 32 бита, а для записи основных символов кодировки Unicode вполне до­статочно 16 бит. Таким образом, объем памяти, выделяемой переменной типа int, достаточен для записи, по меньшей мере, двух букв (значений типа char). Алгоритм записи буквенных значений в виде чисел используем следующий: начальные 16 бит содержат код первой буквы, следующие 16 - код второй буквы.

Целочисленная переменная number предназначена для записи в нее числового кода, который формируется на основе значений переменных symbA и symbB типа char. После того как код создан и записан в переменную number, выполняется об­ратная операция: на основании значения переменной number восстанавливаются исходные символы, а результат записывается в переменные SymbA и SymbB типа char.

Значение переменной number задается командой: number=((int)symbB<<16)+((int)symbA)

В правой части соответствующего выражения стоит сумма из двух слагаемых. Первое слагаемое ((int)symbB<<16) представляет собой смещенный вправо на 16 позиций (битов) числовой код символа, записанного в переменную symbB. Для получения кода символа использована инструкция (int) явного приведе­ния типов. Таким образом, инструкцией (int)symbB получаем код символа, после чего с помощью оператора сдвига << смещаем код на 16 бит влево с заполнением нулями младших 16 бит. В эти биты записывается код оставшегося символа, за­писанного в переменную symbA. Для этого к полученному на первом этапе коду прибавляется значение ((int)symbA) - то есть код первого символа.

Исходные символы и полученный на их основе числовой код выводятся на экран. Затем начинается обратная процедура по «извлечению» символов из числового кода. Для этого командой SymbB=(char)(number>>>16) «считывается» второй сим­вол и записывается в переменную SymbB. Действительно, результатом инструк­ции number>>>16 является смещенный вправо на 16 бит код переменной number (с заполнением старшего бита нулем), то есть код второго символа (того, что записан в переменную symbB). Первый символ «считывается» немного сложнее. В частности, используется команда:

SymbA=(char)(number^((int)SymbB<<16))

Результатом инструкции (int)SymbB<<16) является код уже считанного второго символа, смещенный влево на 16 бит. По сравнению с кодом, записанным в пе­ременную number, он отличается тем, что его младшие 16 бит нулевые, в то вре­мя как в переменной number эти биты содержат код первого символа. Старшие 16 бит при этом совпадают. Указанные два кода являются операндами в логиче­ской операции ^ (побитовое исключающее ИЛИ). Напомним, что результатом такой операции является единица, если один и только один из двух сравнивае­мых битов равен единице. Для совпадающих старших битов это означает «пол­ное обнуление», а младшие единичные биты «выживают», поэтому на выходе получаем код, записанный в младшие 16 бит, то есть код первого символа. Сам символ получаем с помощью инструкции (char) явного приведения к символь­ному типу. После выполненного декодирования символы выводятся на экран.

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

Вариант 5.Расчет параметров цепи

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

Если сопротивления трех переставляемых резисторов обозначить как R1, R2 и R3, а сопротивление основного резистора как R, то при условии, что первые два резистора подключаются в первый блок, а третий резистор - во второй, общее сопротивление участка цепи будет составлять величину:

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

В программе объявляются и инициализируются переменные R1, R2, R3, R типа double, определяющие сопротивления трех переставляемых резисторов и основ­ного резистора соответственно. Переменные r1, r2 и r3 типа double предназначены для вычисления и записи в них значения сопротивления участка цепи для каж­дого из трех возможных способов подключения резисторов. Также в программе объявляются две логические переменные A и B (типа boolean). Значения этих пе­ременных определяются командами A=(r1<=r2)&&(r1<=r3) и B=(r2<=r1)&&(r2<=r3). Значение переменной A равно true в том случае, если при первом способе под­ключения резисторов (во втором блоке размещается первый резистор) общее сопротивление цепи не превышает сопротивление цепи для второго и третьего способов подключения резисторов. Значение переменной B равно true в том случае, если при втором способе подключения резисторов (во втором блоке раз­мещается второй резистор) общее сопротивление цепи не превышает сопротив­ление цепи для первого и третьего способов подключения резисторов. Понятно, что если обе эти переменные равны false, то оптимальным является третий способ подключения резисторов.

После вычисления значений переменных A и B выполняется вывод результата. Сначала серией команд отображаются текущие значения, указанные при ини­циализации переменных для сопротивлений резисторов. Затем выводится на­чало фразы о способе подключения резисторов. Номер резистора (в текстовом формате) определяется непосредственно в аргументе метода println() командой A?"первый":B?"второй":"третий", в которой использованы вложенные тернарные операторы. Если значение переменной A (первый операнд внешнего тернарного оператора) равно true, возвращается второй операнд внешнего тернарного опе­ратора - текстовое значение "первый". В противном случае вычисляется третий операнд внешнего тернарного оператора. Третьим операндом является тернар­ный оператор B?"второй":"третий". При условии, что значение переменной B рав­но true, возвращается текст "второй", в противном случае - текст "третий". После того как нужное слово (название резистора) выведено на экран, следующими командами завершается выведение финальной фразы.



<== предыдущая лекция | следующая лекция ==>
Теоретические ведомости | Предмет науки менеджмента


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.671 сек.