Notice: Constant EZSQL_VERSION already defined in /var/www/private_1/data/www/linuxguru.ru/wp-content/db.php on line 43

Notice: Constant object already defined in /var/www/private_1/data/www/linuxguru.ru/wp-content/db.php on line 48

Notice: Constant OBJECT_K already defined in /var/www/private_1/data/www/linuxguru.ru/wp-content/db.php on line 53

Notice: Constant ARRAY_A already defined in /var/www/private_1/data/www/linuxguru.ru/wp-content/db.php on line 58

Notice: Constant ARRAY_N already defined in /var/www/private_1/data/www/linuxguru.ru/wp-content/db.php on line 63

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/db-cache-reloaded-fix/db-module.php on line 214

Notice: Constant EZSQL_VERSION already defined in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/db-cache-reloaded-fix/db-module.php on line 43

Notice: Constant object already defined in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/db-cache-reloaded-fix/db-module.php on line 48

Notice: Constant OBJECT_K already defined in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/db-cache-reloaded-fix/db-module.php on line 53

Notice: Constant ARRAY_A already defined in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/db-cache-reloaded-fix/db-module.php on line 58

Notice: Constant ARRAY_N already defined in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/db-cache-reloaded-fix/db-module.php on line 63

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /var/www/private_1/data/www/linuxguru.ru/wp-includes/wp-db.php on line 1633

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/db-cache-reloaded-fix/db-cache-reloaded.php on line 91

Notice: add_option was called with an argument that is deprecated since version 2.3.0 with no alternative available. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 4039

Notice: add_option was called with an argument that is deprecated since version 2.3.0 with no alternative available. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 4039

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/smilies-themer/smilies-themer.php on line 80

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/smilies-themer/smilies-themer.php on line 213

Notice: get_settings is deprecated since version 2.1.0! Use get_option() instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3844

Notice: get_settings is deprecated since version 2.1.0! Use get_option() instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3844

Notice: add_custom_background is deprecated since version 3.4.0! Use add_theme_support( 'custom-background', $args ) instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3844

Notice: The called constructor method for WP_Widget in Suffusion_Search is deprecated since version 4.3.0! Use
__construct()
instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3907

Notice: The called constructor method for WP_Widget in Suffusion_Meta is deprecated since version 4.3.0! Use
__construct()
instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3907

Notice: The called constructor method for WP_Widget in Suffusion_Follow_Twitter is deprecated since version 4.3.0! Use
__construct()
instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3907

Notice: The called constructor method for WP_Widget in Suffusion_Category_Posts is deprecated since version 4.3.0! Use
__construct()
instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3907

Notice: The called constructor method for WP_Widget in Suffusion_Featured_Posts is deprecated since version 4.3.0! Use
__construct()
instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3907

Notice: The called constructor method for WP_Widget in Suffusion_Google_Translator is deprecated since version 4.3.0! Use
__construct()
instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3907

Notice: The called constructor method for WP_Widget in Suffusion_Subscription is deprecated since version 4.3.0! Use
__construct()
instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3907

Notice: The called constructor method for WP_Widget in Suffusion_Flickr is deprecated since version 4.3.0! Use
__construct()
instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3907

Notice: The called constructor method for WP_Widget in Suffusion_Query_Users is deprecated since version 4.3.0! Use
__construct()
instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3907

Notice: The called constructor method for WP_Widget in Suffusion_Child_Pages is deprecated since version 4.3.0! Use
__construct()
instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3907

Notice: load_plugin_textdomain was called with an argument that is deprecated since version 2.7.0 with no alternative available. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 4039

Notice: get_settings is deprecated since version 2.1.0! Use get_option() instead. in /var/www/private_1/data/www/linuxguru.ru/wp-includes/functions.php on line 3844
Как работают программы и как их пишут?
Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971

Notice: Array to string conversion in /var/www/private_1/data/www/linuxguru.ru/wp-includes/formatting.php on line 971
 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/wp-code-highlight/wp-code-highlight.php on line 68

code

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

Любая программа или игра хранится на носителях информации, например жесткий диск, карта памяти, CD или DVD-диск или еще какие-нибудь другие, но после запуска она загружается в оперативную память компьютера или другого устройства и оттуда начинает свою работу.

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

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

Различают два вида программирования:

1. > низкоуровневый

2. > высокоуровневый

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

Для примера приведу несколько компиляторов (программы, переводящие наши записи в машинный код для непосредственного исполнения на компьютере) ассемблера низкоуровневый язык программирования :

FASM,MASM,TASM,NASM

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

Здесь приведу пример программы на ассемблере для Windows и DOC:

Windows:

include 'win32ax.inc'.codemain:invoke MessageBox,NULL,'Hello, World!','Example_cod:',MB_OKinvoke ExitProcess,0.end main

DOC:

org 100h

mov ah,9h
mov dx,hello
int 21h
mov ah,8h
int 21h
int 20h

hello db 13,10,»Hello, World!$»

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

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

Для примера приведу несколько распространенных языков :

Delphi (продолжение Pascal), C++, Java (интерпретируемый язык).

Компилятор этих языков, тоже много.

Здесь приведу программу на этих языка выводящую «привет» на монитор.

Pascal:

Var a: string;

begin

a:=’привет’;

write(a);

end.

Delphi:

{$APPTYPE CONSOLE}

begin

write(‘hello’);

end.

C++:

#include <iostream>

int main()

{std::cout << «Hello, world!» << std::endl;

return 0;}

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

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

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

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

Но его возможности ограниченны, поэтому вам придется переходить на другой современный язык программирования…

 

  3 комментария в “Как работают программы и как их пишут?”


  1. Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/wp-code-highlight/wp-code-highlight.php on line 68

    спасиба помогли XD

     

  2. Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/wp-code-highlight/wp-code-highlight.php on line 68

    Ты молодец. Спасибо. Будь таким как есть. Счастливо!

     

  3. Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/wp-code-highlight/wp-code-highlight.php on line 68

    А машинный, кибернетический вид программирования — это низкоуровневое или высокоуровневое программирование, или и первое и второе, а так же и комбинированное программирование — общее их объединение между собой?! Машинное кибернетическое программирование — это такое программирование я предполагаю, при котором, создают путём, в том числе и метода случайных комбинаций, компьютеры и их программы, какие-программы, в том числе и инновационные программы — те, которые ещё не придумал человек, а когда он удосужится их придумать не всегда при этом людям известно!!!

     

 Оставить комментарий

(обязательно)

(обязательно)

 
Copyright © 2012. Linuxguru.ru

Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'smilies_package' does not have a method 'credit_author' in /var/www/private_1/data/www/linuxguru.ru/wp-includes/class-wp-hook.php on line 298

Notice: Undefined index: rel in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 113

Notice: Undefined index: loop in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 121

Notice: Undefined index: loop in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 121

Notice: Undefined index: scrolling in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 129

Notice: Undefined index: scrolling in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 129

Notice: Undefined index: esc_key in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 130

Notice: Undefined index: esc_key in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 130

Notice: Undefined index: arrow_key in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 131

Notice: Undefined index: arrow_key in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 131

Notice: Undefined index: top in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 132

Notice: Undefined index: top in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 132

Notice: Undefined index: right in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 133

Notice: Undefined index: right in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 133

Notice: Undefined index: bottom in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 134

Notice: Undefined index: bottom in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 134

Notice: Undefined index: left in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 135

Notice: Undefined index: left in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 135

Notice: Undefined index: fixed in /var/www/private_1/data/www/linuxguru.ru/wp-content/plugins/lightbox-plus/classes/actions.class.php on line 136