Отправляет email-рассылки с помощью сервиса Sendsay

Инвестирование с нуля

  Все выпуски  

Программирование на Си и С++ с нуля Первое занятие


Школа программирования

1) Программирование на Си и С++: Первое занятие

Введение. Что такое язык программирования?

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

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

- проверить, какова численность войска противника в замке;
- сравнить численность моей армии и вражеской;
- если моя армия больше армии противника в три и более раз, то атаковать замок;
- иначе продолжить движение по дороге;

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

Что такое компилятор?

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

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

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

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

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

- если моя армия меньше армии противника в три и более раз, то атаковать замок;

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

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

Почему С++?

Язык С++ (по русски произносится "си плюс плюс", по английски - "си плас плас" :-) официально получил свое название в 1983 г. Он был создан на основе более старого языка Си с целью упростить процесс создания программы и позволил программисту составлять алгоритм с помощью привычных человеку понятий. Если программирование на Си напоминает скорее программирование в "машинных" кодах, то в С++ можно настроить свою программу на конкретную предметную область и работать не с числами и переменными, а, например, понятиями "валюта" или "окно", что значительно легче и удобнее. При этом С++ сохраняет преимущества Си, позволяя добиваться очень высокого быстродействия получаемых программ.

Сегодня С++ очень широко распространен во всем мире. Большинство программ создается именно на этом языке, как в России, так и за рубежом. В частности, система Windows, большинство системных и хакерских утилит :) , почти все игры и даже бухгалтерские программы 1C :) написаны на Си и С++.


(c) 2004-2006 Сергей Бобровский bobrovsky at russianenterprisesolutions.com

Школа программирования с нуля
Все предыдущие выпуски базового курса всегда тут:
http://www.infiltration.ru/p/

Дизайн рассылки: Алексей Голубев - Web-дизайн и web-программирование


В избранное