Основы программирования с Java

на главную - закладки

Жанры

Поделиться:
Шрифт:

Введение. Что такое хорошо определенные задачи

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

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

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

Что мы подразумеваем под четко определенной задачей.

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

Например, если вас попросили найти решение арифметического выражения "1 умножить на 2 плюс 3", вы бы знали, что мы должны сначала умножить 1 на 2, что дает промежуточный результат 2, и тогда результат умножения будет добавлен к 3, и 5 будет в качестве окончательного ответа.

Но если я попрошу вас решить задачу "1 плюс 2 умножить 3", я хочу, чтобы вы подумали о том, каким может быть ответ.

Разные люди могут давать различные ответы, потому что некоторые могут подумать, что умножение должно быть выполнено до прибавления, что во первых надо умножить 2 на 3, что дает 6 в качестве промежуточного результата, а затем добавить 6 к 1, и это дает 7 в качестве окончательного ответа, но некоторые могут просто следовать порядку операторов в арифметическом выражении, в этом случае мы сначала добавим 1 к 2, и это дает 3 в качестве промежуточного результата, и затем умножим 3 на 3, и получим 9 как конечный результат.

Так какой из этих двух ответов является правильным ответом?

Это зависит от того, какие правила должны быть использованы при определении порядка операций.

И мы вернемся к этому вопросу позднее.

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

И вы можете реализовать решения задач с помощью Java в интегрированной среде разработки (IDE).

Есть много доступных языков программирования, и Java является лишь одним из них.

Язык Java является объектно-ориентированным языком. И вы должны научиться основам абстракции данных с помощью объектно-ориентированного программирования.

Поговорим немного о том, что такое абстракции данных.

Абстракция данных отделяет существенные свойства объектов данных от деталей того, как они реализуются, то есть, детали реализации объектов данных скрыты от пользователей.

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

Например, число может быть представлено разными способами.

На человеческом языке, наиболее часто используемая система чисел – это арабские цифры 0, 1, … 9, но есть и римские цифры, обратите внимание, что только три символа, вертикальная черточка, V и крест используются для представления чисел от 1 до 10, и нет никакой специальной римской цифры для нуля.

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

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

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

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

Но при этом мы не заботимся о механике, как это работает.

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

Вы увидите, что абстракция данных является очень важным понятием в программировании, особенно в объектно-ориентированном языке, таком как Java.

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

Теперь, правильный подход к решению задач требует знания информатики.

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

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

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

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

В центре внимания данной книги – программное обеспечение компьютерных систем.

В конце концов, основное использование компьютеров, это решение реальных задач.

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

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

И вы сможете применить эти понятия для решения реальных задач.

Аппаратные средства

Давайте начнем рассмотрение основных компонентов компьютерных систем. И начнем мы с аппаратных средств.

Комментарии:
Популярные книги

Идеальный мир для Лекаря 2

Сапфир Олег
2. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 2

Моров. Том 3

Кощеев Владимир
2. Моров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Моров. Том 3

Гнездо Седого Ворона

Свержин Владимир Игоревич
2. Трактир "Разбитые надежды"
Фантастика:
боевая фантастика
7.50
рейтинг книги
Гнездо Седого Ворона

Древесный маг Орловского княжества 3

Павлов Игорь Васильевич
3. Орловское княжество
Фантастика:
аниме
сказочная фантастика
фэнтези
попаданцы
гаремник
5.00
рейтинг книги
Древесный маг Орловского княжества 3

Кодекс Охотника. Книга XIX

Винокуров Юрий
19. Кодекс Охотника
Фантастика:
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XIX

Идеальный мир для Лекаря 13

Сапфир Олег
13. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 13

Третий

INDIGO
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий

На границе империй. Том 10. Часть 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 4

Мой муж – чудовище! Изгнанная жена дракона

Терин Рем
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Мой муж – чудовище! Изгнанная жена дракона

Я еще не царь

Дрейк Сириус
25. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я еще не царь

Я уже князь. Книга XIX

Дрейк Сириус
19. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я уже князь. Книга XIX

Изгой Проклятого Клана

Пламенев Владимир
1. Изгой
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Изгой Проклятого Клана

Имя нам Легион. Том 7

Дорничев Дмитрий
7. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 7

Герцог. Книга 1. Формула геноцида

Юллем Евгений
1. Псевдоним "Испанец" - 2
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Герцог. Книга 1. Формула геноцида