Алгоритм работы компьютера с программой

При открытии программы (Index.jar) пользователь увидит окно Калькулятор НДФЛ:

Рисунок 2. Калькулятор НДФЛ

На данном окне расположены такие элементы как:

Компонент JRadioButton — для выбора налоговой ставки.

Тектовые поля JLabel – Сумма оклада, руб, Налоговая ставка, Сумма налога, руб, Сумма на руки, руб. А также поля JLabel для вывода рассчитанных данных

Поле для ввода данные JTextField — Поле для ввода суммы оклада, руб.

Кнопка JButton — Рассчитать.

Математическая модель программы продукта

Математическая модель представляет собой комплекс формул, необходимых для расчета суммы налога и суммы на руки. Калькулятор предусматривает выбор ставки налога.

Формула для расчета суммы налога:

d_sum_n = d_sum_ok/100*int_rad,

где d_sum_n – сумма налога, руб.;

d_sum_ok – сумма оклада, руб.;

int_rad – налоговая ставка.

Формула для расчета суммы на руки:

Делаю симуляцию квантового компьютера

d_sum = d_sum_ok-d_sum_n,

где d_sum – сумма на руки, руб.

Пример. Необходимо рассчитать НДФЛ и заработную плату на руки для сотрудника с окладом 26 000 руб.

Налог с заработной платы составляет 13%. Рассчитаем сумму налога:

d_sum_n = 26 000 / 100 * 13 = 3 380 руб.

Рассчитаем заработную плату на руки:

d_sum = 26 000 – 3 380 = 22 620 руб.

Алгоритм работы программы

В данном разделе представлен алгоритм работы программы по ГОСТ 19.701-90.

Рисунок 2. Алгоритм работы программы

Описание алгоритма программы:

После открытия программы пользователь увидит окно калькулятора НДФЛ (рис.2)

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

Если пользователь ввел данные верно, то программа рассчитывает сумму налога и сумму на руки и заносит эти данные в поля, расположенные на форме.

При нажатии на значок Закрыть в правом верхнем углу — программа завершит работу.

Алгоритм работы пользователя с программой

В данном разделе представлен алгоритм работы пользователя с программой (последовательность действий пользователя при работе с программой).

Рисунок 3. Алгоритм работы пользователя с программой

Описание алгоритма:

После открытия программы пользователь увидит окно калькулятора НДФЛ (рис.2).

Пользователь вводит сумму оклада и выбирает налоговую ставку. После того как пользователь ввел данные он нажимает на кнопку Рассчитать. Если были введены неверные данные, то пользователь будет уведомлен и после нажатия на кнопку ОК на окне ошибки, пользователь заново введет данные. Если пользователь ввел данные верно, то он увидит в данном окне результаты расчета.

Машина Тьюринга. Принцип работы компьютера

При нажатии на кнопку Закрыть в правом верхнем углу — программа завершит работу.

Зоны ответственности разработчиков

package pack;/*Пакет (package) — это некий контейнер, который используется для того, чтобы изолировать имена классов.

jpr — название пакета */

/* java. — Все стандартные классы, поставляемые с системой Java, хранятся в пакете java.

java.awt — подключение пакета awt, содержащего базовые графические функции:GridLayout, BorderLayout и т.д.

«*»-включение всех элементов библиотеки awt */

javax.* — стандартные расширения.(Стандартные расширения (standard extensions) — это пакеты или наборы пакетов Java)

Swing — Библиотека графического интерфейса (конкретный пакет), В отличие от java.awt, javax.swing имеет более гибкую

систему управления и более широкий набор функций

«*»-включение всех элементов библиотеки Swing (jbutton,jpanel,jlabel и т.д.)

«.»(точка) используется для выделения элементов из ссылки на объект.

import javax.swing.border.*;//библиотека необходимая для того, чтобы установить отступы

public class index extends JFrame

/* (Public) — поля и методы класса Index доступны для всех других объектов и классов.

зарезервированное слово class — говорит транслятору, что мы собираемся описать новый класс Index.

Класс наследует функции элемента JFrame, который определён в стандартной библиотеке awt.

JFrame — само окно. JFrame содержит в себе всё необходимое для создания и функционирования окна программы — мы

используем его методы в своей программе. < >-описание класса располагается между фигурными скобками.

Читайте также:
С какими программами работает elm327

private static final long serialVersionUID = 1L;

public static index frame = new index(); /* Index() — это установка компонентов (панель вкладок) на JFrame.

(Public) — означает что фрейм Index можно вызвать из любого файла который лежит в пакете pack.

static позволяет определять статические методы. Это такие методы, которые являются общими для класса, а не для

отдельного объекта этого класса. Также они могут работать лишь со статическими полями класса.К статическим методам

и переменным можно обращаться через имя класса*/

public static void main(String[] args) < /*

Модификатор доступа public означает, что метод main(String[] args)виден и доступен любому классу.

static позволяет определять статические методы. Это такие методы, которые являются общими для класса, а не для

отдельного объекта этого класса. Также они могут работать лишь со статическими полями класса.К статическим методам

и переменным можно обращаться через имя класса.

void означает, что метод main(String[] args)не возвращает данных в программу, которая его вызвала,

а просто выводит на экран строку.

В методе main слова String[] args означают,что этот может получать массив объектов с типом String, т.е. текстовые данные.

Программа может состоять из нескольких классов, но только один из них содержит метод main().

Все существующие реализации Java-интерпретаторов, получив команду интерпретировать класс,

начинают свою работу с вызова метода main.

public void run()

/* public — модификатор доступа, означающий, что метод run() виден и доступен любому классу.

void ()означает, что метод run не возвращает данных в программу, которая его вызвала,

а просто выводит на экран строку.

Метод run с пустыми скобками, т.е. метод не имеет аргументов(параметров)

/* Для задания блока программного кода, который требуется защитить от исключений, используется ключевое слово try.

Сразу же после try-блока помещается блок catch, задающий тип исключения которое вы хотите обрабатывать.

Исключение – это проблемная ситуация, возникающая по мере выполнения кода программы. Работает она так:

1.Выполняется код внутри блока try. 2.Если в нём ошибок нет, то блок catch(err) игнорируется, то есть выполнение

доходит до конца try и потом прыгает через catch. 3.Если в нём возникнет ошибка, то выполнение try на ней

прерывается, и управление прыгает в начало блока catch(err).

frame.setVisible(true); //устанавливаем что окно Index (Расчет расхода топлива) видно пользователю

> catch (Exception e)

/* Для задания блока программного кода, который требуется защитить от исключений, используется ключевое слово try.

Сразу же после try-блока помещается блок catch, задающий тип исключения которое вы хотите обрабатывать.

Исключение – это проблемная ситуация, возникающая по мере выполнения кода программы. Работает она так:

1.Выполняется код внутри блока try. 2.Если в нём ошибок нет, то блок catch(err) игнорируется, то есть выполнение

доходит до конца try и потом прыгает через catch. 3.Если в нём возникнет ошибка, то выполнение try на ней

прерывается, и управление прыгает в начало блока catch(err).

private JPanel panel, panel1;//панели на которых располагаются поля и кнопки. Панели доступны только для данного класса (private)

private JButton calc;// кнопка Рассчитать которая доступна только для данного класса

private JLabel label_1,label_2,label_3, label_4,label_n,sum_n,sum;// компонент на котором располагается текст

public static JTextField sum_ok;

/* текстовые поля в которые пользователь вводит данные, доступны для любого файла из пакета pack */

public static JRadioButton rad_13, rad_15, rad_30, rad_35;/* компонент переключатель (при нажатии на одну из

таких кнопок ранее нажатая кнопка возвращается в исходное состояние)*/

public static int int_rad=13;

static означает, что не нужно создавать экземпляр(копию) объекта Index в памяти, чтобы использовать этот метод.

Index — расположение на фрейме компонентов (панель вкладок), .*/

setTitle(«Калькулятор НДФЛ»); //устанавливает название окна

setSize(320, 240); // указывает ширину и высоту.

setLocationRelativeTo(null);//установить посередине экрана

//по закрытию формы — закрывать приложение

setLayout (new BorderLayout()); /* Оператор new создает экземпляр указанного класса

Метод setLayout — Вызов менеджера компоновки, который задает определенный порядок панелей в контейнере.

Менеджер размещения BorderLayout — тип разбивки контейнера, при котором всё пространство контейнера разбивается

на пять частей. В каждой из этих частей располагается один компонент.

При добавлении компонента на контейнер с BorderLayout разработчик обязательно указывает,

куда именно он хочет поместить компонент.*/

Читайте также:
Для каждой задачи составить программу выводящую значение true если указанное высказывание является

panel = new JPanel();//Панель на которой располагаются текстовые поля и поля для ввода текста

panel1 = new JPanel();//Панель на которой располагается кнопка

add(panel, BorderLayout.CENTER);//Добавление панели panel по центру

add(panel1, BorderLayout.SOUTH);//Добавление панели panel1 снизу

panel.setBorder(new EmptyBorder(10,10,10,10));//установка внутренних отступов(сверху,слева,снизу,справа)

panel1.setBorder(new EmptyBorder(10,10,10,10));//установка внутренних отступов(сверху,слева,снизу,справа)

/* установка менеджера компоновки GridLayout. данный менеджер компоновки располагает компоненты в

panel.setLayout(new GridLayout(6,2,15,0));/* на панели 6 строк,2столбца,15 — расстояние между столбцами, 0- между строками */

panel1.setLayout(new GridLayout(1,1));//на панели 1 строка,1столбец, будет расположена кнопка

label_1 = new JLabel(«Сумма оклада, руб.», JLabel.LEFT);

label_2 = new JLabel(«Налоговая ставка», JLabel.LEFT);

label_3 = new JLabel(«Сумма налога, руб.», JLabel.LEFT);

label_4 = new JLabel(«Сумма на руки, руб.», JLabel.LEFT);

label_n = new JLabel(«»);

sum_n = new JLabel(«», JLabel.CENTER);

sum = new JLabel(«», JLabel.CENTER);

/*Обозначаем что переменные Label_1,Label_2..являются объектом JLabel и указываем какой текст будет выводиться.

JLabel.LEFT — выравнивание по левому краю,

JLabel.CENTER — выравнивание по центру

calc = new JButton(«Рассчитать»); //В скобках — надпись на кнопке

sum_ok = new JTextField();

//выравнивание текста по центру

sum_ok.setMargin(new Insets(2, 5, 2, 5));//установка внутренних отступов для текстового поля (2-верхний отступ, 5-левый, 2-нижний, 5-правый)

ButtonGroup group = new ButtonGroup();

rad_13 = new JRadioButton(«13%»,true);

rad_15 = new JRadioButton(«15%», false);

rad_30 = new JRadioButton(«30%», false);

rad_35 = new JRadioButton(«35%», false);

//Добавление компонентов JRadioButton, JLabel, JTextField на панель panel

panel1.add(calc);//Добавление кнопки на панель panel1

//Добавление компонентов JLabel, JTextField на панель panel,panel1,panel2

/* rad_13 — компонент переключатель

«.» — указывает к какой переменной следует применить слушателя.

addActionListener — добавление слушателя ActionListener к переключателю

new — Оператор new создает экземпляр указанного класса

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

который будет отвечать за реагирование на события.

В нашем случае требуется идентифицировать событие нажатия на переключатель – путем щелчка мышью.

Поэтому будет использоваться интерфейс «ActionListener»,

предназначенный для обработки событий «ActionEvent».

тело интерфейса указывается ниже после фигурной скобки «

public void actionPerformed(ActionEvent e)

/* ActionListener» имеет метод «actionPerformed» объекта «ActionEvent»,

который реализуется путем простого вызова обработчика событий ActionPerformed.

Ключевое слово public означает, что метод actionPerformed() доступен для любого другого класса Java

Ключевое слово void означает, что метод main() не возвращает данных в программу, которая его вызвала.

sum_n.setText(«»);//очистить текстовое поле

sum_n.setText(«»);//очистить текстовое поле

Источник: studfile.net

Решение задач на компьютере. Этапы решения задачи на компьютере

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

В данный момент вы не можете посмотреть или раздать видеоурок ученикам

Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет.

Получите невероятные возможности

1. Откройте доступ ко всем видеоурокам комплекта.

2. Раздавайте видеоуроки в личные кабинеты ученикам.

3. Смотрите статистику просмотра видеоуроков учениками.
Получить доступ

Конспект урока «Решение задач на компьютере. Этапы решения задачи на компьютере»

Вы уже знаете, что компьютер был создан для решения задач и обработки данных. И наверняка задавались вполне логичным вопросом: «А как именно решить ту или иную задачу с помощью компьютера?».

Решение любой задачи с помощью компьютера можно разделить на пять основных этапов:

1. Постановка задачи.

2. Формализация задачи.

3. Создание алгоритма.

5. Тестирование и отладка.

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

· «Что нужно найти по условию задачи?»

· «Что при этом дано?»

· «Чем можно пользоваться при решении задачи?»

Формализация задачи. Во время этого этапа нужно записать описательную информационную модель, созданную на этапе постановки задачи, каким-либо формальным языком, например математическими формулами, и адаптировать эти формулы для решения данной задачи. То есть нам нужно записать при помощи формул соотношения между данными задачи и понять, при помощи каких формул можно найти результирующие данные из исходных. Иначе говоря, создать математическую модель, описывающую явление или объект, которые фигурируют в условии.

Как ясно из названия следующего этапа «Создание алгоритма», его результатом должен быть алгоритм или конкретная последовательность действий. Алгоритм создаётся на основании математической модели.

При создании алгоритма должны быть соблюдены два условия:

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

Читайте также:
Как перекинуть музыку с ВК на флешку с компьютера без программ

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

Чаще всего алгоритм записывается в форме блок-схемы, потому что данная форма записи достаточно наглядна и универсальна.

Пример блок-схемы

На этапе программирования алгоритм записывается с помощью какого-нибудь языка программирования. То есть результатом работы на данном этапе должна быть программа. Мы будем писать программы на языке Pascal.

Пример программы на языке Pascal

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

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

Если результаты работы программы соответствуют ожидаемым – значит задача решена, иначе – на одном из этапов допущена логическая ошибка. Например недостаточно точно сформулирована математическая модель. А так как все этапы связаны между собой – это повлекло неточности при создании алгоритма и программировании.

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

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

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

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

Таким образом, решение задачи с помощью компьютера можно изобразить в виде схемы. На этапе постановки задачи ставиться её условие, а результатом работы на данном этапе будут исходные и результирующие данные, которые, в свою очередь, поступают на этап «Формализации задачи». На данном этапе составляется математическая модель, по ней составляют алгоритм, который записывают в одной из форм. По алгоритму составляется программа, которая отлаживается и тестируется. Если программа работает неправильно, процесс решения возвращается к одному из предыдущих этапов, а если правильно – задача решена.

Схема решения задачи с помощью компьютера

Важно запомнить:

Решение задач с помощью компьютера включает в себя:

1. Постановку задачи.

2. Формализацию задачи.

3. Создание алгоритма.

5. Тестирование и отладку.

Все этапы решения задачи связаны между собой.

Источник: videouroki.net

Алгоритм работы компьютера с программой

Алгоритм работы компьютера. Кратко

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

Настоящие компьютерные алгоритмы, как правило, очень сложны, но этот простой пример покажет, как работает уличный фонарь, реагирующий на солнечный свет, ночью:

(1) Сейчас темно? Если да, перейдите к (2), если нет, перейдите к (3)

(2) Включить свет. Перейдите к (3)

Генетические алгоритмы — это алгоритмы процесса, который имитирует естественный отбор (см. стр. 192). Алгоритм, разработанный для выполнения определенного задания, испытывают и проверяют на надежность, а затем «скрещивают» его с другими алгоритмами, смешивая их качества. Алгоритмы, дающие наиболее удачное «потомство», снова скрещиваются, и процесс повторяется до тех пор, пока компьютер не «производит» лучший для работы алгоритм.

Источник: www.winstein.org

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru