Меню сайта
Категории каталога
PHP [0]
C++ [3]
Мини-чат
200
Наш опрос
Как Вам сайт?
1. Отлично
2. Хорошо
3. Можно и лучше
4. Неплохо
Всего ответов: 15
Главная » Статьи » Кодинг » C++

Урок первый. Написание вашей первой программы
Написание вашей первой программы


В этом уроке:

- Постигая концепции C++
- Что такое программа
- Как пишут программы
- Создание первой программы
- Выполнение программы
- Разбор программ
- Вычисление выражений


Итак, мы на старте. Сосредоточьтесь и постарайтесь овладеть некоторыми фундаментальными понятиями.
Компьютер — это поразительно быстрая, но невероятно глупая машина. Он может выполнить то и только то, что прикажешь (причем с умом!), — ни больше, ни меньше.
К нашему глубокому сожалению, компьютер не понимает привычного человеку языка — ни английского, ни русского, ни какого-либо другого.Компьютеры понимают язык, который называют машинным или языком программирования. Человеку крайне сложно разговаривать машинным языком. Поэтому в качестве посредника между компьютерами и людьми решили использовать такие языки высокого уровни, как C++. Они более или менее понятны людям и конвертируются в машинный язык, воспринимаемый компьютерами.
В начале семидесятых консорциумом очень умных людей был разработан небольшой, но мощный язык, который назвали С.
Язык С оказался действительно мощным и очень скоро завоевал передовые позиции среди средств разработки программного обеспечения. Однако со временем в программировании появились новые технологии, которые постепенно вытесняли язык С. Не желая остаться за бортом, инженерное сообщество усовершенствовало С, дополнив его новыми возможностями и получив в результате новый язык программирования — C++.

Язык C++ включает:

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

Что такое программа?

Программа — это текстовый файл, содержащий последовательность команд, связанных между собой по законам грамматики C++. Этот файл называют исходным текстом (возможно, потому, что он является началом всех наших страданий). Исходный файл в C++ имеет расширение .СРР. Расширение .СРР всего лишь соглашение, но в мире персональных компьютеров оно, по сути, стало законом.
Задача программирования — это написание такой последовательности команд, после преобразования которой в машинный язык можно получить программу, выполняющую наши желания. Такие машинно-исполнимые программы имеют расширение .ЕХЕ. Процесс превращения программы C++ в исполнимую называется компиляцией.
Для написания программы вам нужны две вещи; редактор для создания исходного .СРР-файла и программа, которая преобразует исходный текст в понятный машине код .ЕХЕ-файла, выполняющего ваши команды. Инструмент, осуществляющий такое превращение, называется компилятором.

Мы будем пользоваться компилятором Dev-C++ версии 4.9.9.2. Это очень удобный компилятор с русским интерфесом, разобраться с ним под силу даже школьнику =). Скачать компилятор можно по адресу: http://fileshare.in.ua/5438595pc21ea39ep5e2a28307f118843d99a6f7cf693ed9819d54561/devcpp-4.9.9.2_setup.exe или отсюда: http://softportal.com/download/download.php?id=183&t=3
Сейчас вы приступите к созданию своей первой программы на C++. Задача, которую нужно реализовать, — преобразование введенной пользователем температуры по Цельсию в температуру по Фаренгейту. Для этого потребуется ввести программный код в файл CONVERT.CPP, а потом скомпилировать его в выполнимую программу.
Рекомендую создать каталог С:\CPP_lessons\lesson01 (в принципе, пофиг где вы его создадите и создадите ли, но так будет удобнее).
Итак, создаем пустой файл, выбрав меню Файл - Создать Исходный файл. Откроется пустое окно, в котором необходимо ввести текст программы.


// Программа для преобразования
// градусов Цельсия в градусы Фаренгейта:
// Fahrenheit = NCelsius * (212 - 32)/100 + 32
//
#include
#include
int main()
{
// Введите температуру в градусах Цельсия
int nNCelsius;
cout << "Введите температуру по Цельсию: ";
cin >> nNCelsius;
// для приведенной формулы преобразования
//вычислим преобразующий множитель
int nNFactor;
nNFactor = 212 - 32;
// используем вычисленный множитель для
// преобразования градусов Цельсия в
// градусы Фаренгейта
int nFahrenheit;
nFahrenheit = nNFactor * nNCelsius/100 + 32;
// вывод результатов
cout << "Температура по Фаренгейту:";
cout << nFahrenheit;
return 0;
}
Пусть количество отступов и пробелов вас не волнует: не так важно, сколько пробелов вы поставили перед началом строки или между соседними словами. Однако C++ весьма чувствителен к другому: надо следить, чтобы все команды набирались в нижнем регистре

После ввода этого кода сохраните файл под именем Conversion.cpp.
Хотя это вам может показаться и не очень впечатляющим, но только что вы создали вашу первую программу на C++!

Создание выполнимого файла

После сохранения на диске исходного файла Conversion.cpp самое время сгенерировать выполнимый машинный код.
Для этого нужно выбрать пункт Скомпилировать меню Выполнить или просто нажать сочетание клавиш +. Откроется еще одно небольшое окно, отражающее ход процесса компиляции. Если вы все сделали правильно, то компиляция завершится без ошибок.
Когда компилятор сталкивается в программе с какой-либо некорректностью, он генерирует сообщение об ошибке. Ошибки в программном коде являются таким же распространенным явлением, как снег на Аляске. Вы обязательно столкнетесь с многочисленными предупреждениями и сообщениями об ошибках, возможно, даже при работе с простенькой программой Conversion.cpp. Чтобы продемонстрировать процесс исправления ошибок, изменим в строке 12 cin>>nCelsius; на cin>>>nCelsius;
Это нарушение кажется совсем невинным — и вы, и я вскоре бы о нем забыли. Но при компиляции генерирутся следующие сообщения:
Compiling: Conversion.cpp
... In function 'int main()':
12 ... expected primary-expression before '>' token
Таким многословным образом компилятор сообщает, что он не может понять значения записи ">>>" из 12-й строки программы.
Отредактируйте файл, удалив лишний знак ">". Теперь, нажав +, вы благополучно создадите выполнимую программу Ccnversion.exe.

Выполнение программы

Пришло время испытания вашего нового творения. Для выполнения программы нужно запустить файл CONVERSION.EXE из той же папке, где находится файл с сорцем (CONVERSION.CPP) и обеспечить его входными данными. Полученный результат можно использовать для анализа.
Рекомендую запускать сначала оболочку cmd (меню Пуск - Вфполнить). Это для того, чтобы ваша программа не закрывалась сразу после выполнения (наблюдается такой неприятный момент когда не успеваешь посмотреть результаты своих трудов).
При этом откроется окно, в котором вам предложат ввести температуру по Цельсию. Для проверки правильности внесите какую-то заранее известную температуру, например 100?. После нажатия клавиши программа возвращает эквивалентную температуру по Фаренгейту, т.е. 212.
Поздравляю! Вы только что ввели, скомпилировали и запустили свою первую программу.

Разбор программ

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

Определение структуры программ C++

Каждая программа, написанная по нашим урокам, в своей основе будет иметь одну и ту же базовую схему:

//Это комментарии, которые компьютер игнорирует
#include
#include
int main()
{
//...здесь записывается код программы...
return 0;
}
Если не вникать в детали, то выполнение программы начинается с кода, который помещен между открывающей и закрывающей скобками.

Использование в исходном коде комментариев

Нетрудно заметить, что первые несколько строк Conversion.срр являются обычным текстом. Оформленные таким образом строки называют комментариями. Чаше всего в комментариях программист объясняет конкретные действия, которые он собирается реализовать в следующем фрагменте кода. Компилятор комментарии игнорирует.
Комментарии в C++ начинаются с двойной косой черты (//) и заканчиваются переходом на новую строку. В их тексте можно использовать любые символы. Длина комментариев не ограничена, но, так как желательно, чтобы они не превосходили размеров экрана, обычно придерживаются нормы не более 80 символов.
Допустима и другая форма комментариев, при которой игнорируется все, что /* заключается в такие скобки */; однако эта форма комментариев в C++ почти не используется.
Присутствие в программах игнорируемых компьютером команд C++ (или любого другого языка программирования) может показаться странным. Однако все компьютерные языки предлагают те или иные способы оформления комментариев. Объяснения программиста раскрывают ход его мыслей при написании программного кода.
Ведь замыслы программиста могут быть совсем неочевидными для людей, которые захотят воспользоваться программой или ее модифицировать. Да и сам автор программы, взглянув на нее через месяц, не всегда сможет вспомнить ее суть.

Использование инструкций в программах

Все программы C++ в своей основе имеют то, что называют инструкциями. В этом уроке рассмотрим такие из них, которые составляют остов программы Convert.
Инструкция — это команда, которую понимает компилятор. Все инструкции, кроме комментариев, оканчиваются точкой с запятой.
При запуске программы первой выполняется инструкция, находящаяся после открывающей фигурной скобки, а затем поочередно выполняются и все остальные инструкции.
Просмотрев программу, можно увидеть, что пробелы, символы табуляции и новой строки появляются на протяжении всей программы. Переход на новую строку осуществляется практически после каждой инструкции. Все эти символы называют непечатаемыми, так как на экране монитора их увидеть нельзя.
Для повышения удобочитаемости допускается добавление символов пробела в любом месте программы (но не внутри слов!).
Игнорируя пропуски, язык C++ учитывает регистр. Например, переменные fullspeed и Fullspeed, с его точки зрения, не имеют между собой ничего общего.

Объявления

Строка int nNCelsius; является инструкцией объявления. Объявление — это инструкция, которая определяет переменную. Переменная — это контейнер, в котором хранятся значения некоторого типа. Переменная может содержать числовые или символьные значения.
Термин "переменная" был заимствован из алгебры, где он является стереотипным для следующих выражений:

х = 10
У = 3*х


Во втором выражении у — множество, которое задается формулой 3*х. Но что такое х? Переменная х играет роль контейнера для хранения каких-то значений. В нашем случае значением х является 10, но с таким же успехом можно определить значение х равным 20, 30 или -1. Вторая формула имеет смысл при любом числовом значении х.
В алгебре можно начать работу с выражений типа х = 10. Программируя на C++, переменную х также необходимо определить перед ее использованием.
В C++ переменная имеет тип и имя. Переменная, определенная в строке 10, называется nNCelsius. Согласно объявлению она целочисленная (подобные названия типов, наверное, имеют целью развить у программистов ассоциативное мышление — тип int Представляет собой сокращенное integer).
Для C++ имя переменной не имеет никакого специфического значения. Имя должно начинаться с букв английского алфавита А-z или a-z. Остальные символы могут быть буквами, цифрами от 0 до 9 или подчеркивающей чертой (_). Имена переменных могут быть настолько длинными, насколько это вам удобно.
Существует негласная договоренность о том, что имена переменных должны начинаться со строчной буквы. Каждое слово внутри имени переменной пишется с прописной буквы, например myVariable.
Старайтесь давать переменным короткие, но наглядные имена. Избегайте таких имен, как х, потому что они не несут никакого смысла. Примером достаточно наглядного имени переменной может служить lengthOfLineSegment.

Генерирование вывода

Строки, начинающиеся с cout и cin, называют инструкциями ввода-вывода, или сокращенно I/O (input/output).
Первая инструкция I/O выводит фразу "Введите температуру по Цельсию" в cout (произносится как "си-аут"). В C++ cout — это имя стандартного устройства вывода.
В нашем случае таким устройством является монитор.
В следующей строке все происходит с точностью до наоборот. Со стандартного устройства ввода мы получаем значение и сохраняем его в целой переменной nNCelsius. Стандартным устройством ввода для C++ в данном случае служит клавиатура. Профамма будет считать значением nNCelsius любое целое число, введенное пользователем.

Вычисление выражений

Почти все программы выполняют вычисления того или иного вида. В C++ выражением называется инструкция, которая выполняет какие-либо вычисления. Иными словами, выражение — это инструкция, которая имеет значение. Команда, генерирующая это значение, называется оператором.
Например, в программе Conversion можно назвать "вычисляющим выражением" совокупность строк с объявлением переменной nNFactor и определением ее значения как результата вычислений. Эта команда вычисляет разницу между 212 и 32. В данном примере оператором является знак "минус" ("-"), а выражением — "212-32".

Сохранение результатов выражения

Разговорный язык может быть далеко не однозначным. Яркий тому пример — слово равный. Оно может употребляться в значении "одинаковый" (например, равные силы), а может применяться в математике для построения выражений типа "у равен утроенному х".
Чтобы избежать двусмысленности, программисты на C++ называют знак "=" оператором присвоения. Оператор присвоения сохраняет результат выражения, находящегося справа от "=", в переменной, записанной слева. Программисты говорят, что "переменной nNFactor присвоено значение 212-32".

Обзор программы Convert продолжается...

Второе выражение, представленное в Conversion.срр, несколько сложнее первого. В нем используются всем известные математические символы: "*" для умножения, "/" для деления, "+" для сложения. В этом случае, однако, вычисления выполняются не просто с константами, а с переменными.
Значение переменной nNFactor (кстати, уже вычисленное) умножается на значение переменной nNCelsius (которое было введено с клавиатуры). Результат делится на 100 и к нему прибавляется 32. Результат всего выражения приводится к целому типу и присваивается переменной nFahrenheit.
Последние команды выводят строку "Температура по Фаренгейту:" и отображают значение переменной nFahreriheit.
Вот так вот, собственно, наша программа и работает.
На этом первый урок окончен.

Категория: C++ | Добавил: game4u (31.01.2008)
Просмотров: 8375 | Рейтинг: 3.7/19 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Скачать переводы манги, саундтреки к аниме, рисование манги, галерея картинок
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright Game4U © 2024