Наука Молоков К.А. Основы информатики и программирование под Windows. Учебное пособие

Основы информатики и программирование под Windows. Учебное пособие

Возрастное ограничение: 12+
Жанр: Наука
Издательство: Проспект
Дата размещения: 07.08.2015
ISBN: 9785392191086
Язык:
Объем текста: 176 стр.
Формат:
epub

Оглавление

Введение

Глава 1. Основы информатики

Глава 2. Основы программирования на C++

Глава 3. Использование MS VISUAL C++

Заключение

Словарь основных понятий и терминов



Для бесплатного чтения доступна только часть главы! Для чтения полной версии необходимо приобрести книгу



Глава 2. ОСНОВЫ ПРОГРАММИРОВАНИЯ НА C++


Если ничто другое не помогает, прочтите, наконец, инструкцию.


Прикладная Мерфология


2.1. Состав файлов программы


Для простоты исходные тексты программ обычно называют “исходники”, в англоязычной литературе их принято обозначать “source code”, или просто “source”. Эти термины и будут использованы в дальнейшем.


Программа на C++ обычно состоит из большого числа исходных файлов, каждый из которых содержит описания типов, функций, переменных и констант. Самый обычный способ обеспечить согласованность исходных файлов – это поместить такие описания в отдельные заголовочные файлы, а затем включить, т.е. скопировать, эти заголовочные файлы во все файлы, где нужны эти описания. Поэтому исходники программ на C++ обычно разделяются на 2 типа: собственно тексты и заголовочные файлы (“заголовки”, header files).


Обычным расширением файлов с исходными текстами на C++ является расширение *.cpp. Для “чистого” С это будет расширение *.c.


Заголовочные файлы обычно сохраняют в файлы *.h, реже в *.hpp.


2.2. Процесс компиляции


Компиляция – это процесс преобразования исходников программы в машинный код, который может исполнять компьютер. Для операционных систем семейства Microsoft Windows, а также MS-DOS это означает создание двоичных (бинарных) файлов с расширением *.exe или *.com.


Типовой процесс компиляции выглядит следующим образом:


1. Исходники обрабатываются препроцессором – программой, которая объединяет различные исходники, убирает лишние символы и комментарии. В результате из множества исходных файлов *.cpp и *.h получается полный текст программы.


2. Тексты поступают на обработку компилятору, который текст преобразует в объектный код (файлы с расширением *.obj). Если в тексте обнаружились ошибки, об этом будут выведены соответствующие сообщения и компиляция будет остановлена.


3. Объектный код поступает на обработку компоновщику (linker), или редактору связей, где исходные объектные файлы объединяются вместе с библиотечными файлами.


4. На выходе получается бинарный файл, готовый к исполнению.


2.3. Пример программы


Минимальная программа на C++


Простейшая программа на C++ выглядит следующим образом.


После “//” и в “/*” “*/” помещены комментарии.



Результат выполнения:


Enter your name: Yury


Hello, Yury


Функция main является обязательной для любой программы на С и C++. Из нее вызываются все остальные функции и операторы. По завершению работы main() завершается и программа.


Использование MS Visual C++ для создания консольного приложения


В языке Visual C++ оперируют понятием проект, а не программа. Под проектом понимается два элемента:


• Консольные приложения похожи на DOS-программы, хотя могут работать в окне произвольного размера. Они имеют строгий символьный интерфейс с курсором, управляемым клавишами клавиатуры, а не мышью.


• Для взаимодействия с пользователем в них используются системные вызовы Console API и символьные функции ввода-вывода, например printf() и scanf().


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


Чтобы создать консольное приложение, откройте Microsoft Visual C++ и выполните следующие операции.


1. Меню File -> New.


2. В диалоговом окне New щелкните на корешке вкладки Projects, задайте имя проекта (Project Name) и при необходимости укажите папку для размещения (Location).


3. Выберите тип приложения – Win32 Console Application и нажмите ОК.


4. При наличии диалогового окна по поводу типа создаваемого файла можно выбрать что угодно – хоть Hello Application, хоть Empty Project, хоть Simple Application (пока не надо выбирать приложение с поддержкой MFC функций) и нажать клавишу Finish.


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


1) меню File ->New и выберите вкладку File;


2) проверьте наличие флажка опции Add to Project и имя проекта, к которому будет добавляться наш файл, чтобы файл автоматически был добавлен к проекту;


3) в списке выберите тип файла C++ Source File;


4) в поле имени файла File Name введите имя файла (расширение будет добавлено автоматически) и нажмите ОК.


Пустой текстовый файл с указанным именем будет создан и добавлен в проект. Далее в новый файл вводится текст программы.


#include «iostream.h»


void main()


{ char name[30]; //объявляем массив типа char


cout<<”Input your name -->>”;cin>>name;


cout<<”Hello, “<<name<<” !\n”;


}


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


Выберите команду меню Build->Execute <Ctrl>+<F5>, чтобы скомпилировать и запустить программу. Строка “Press any key to continue...” будет автоматически генерироваться системой, чтобы дать вам возможность увидеть результаты работы программы до того, как окно DOS будет закрыто. Если использовать значок “!” на панели инструментов, то указанная строка не появится и окно закроется сразу после вывода результата.


Комментарии


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


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


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


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


2.4. Базовые типы данных


Каждое имя (идентификатор) в C++ программе имеет ассоциированный с ним тип. Этот тип определяет, какие операции можно применять к имени (т.е. к объекту, на который оно ссылается), и как эти операции интерпретируются.


Каждый объект в C++ (переменная, функция, класс) для использования должен быть сначала объявлен, потом определен.


Объявление объекта имеет вид


тип_объекта имя_объекта.


Таким образом он появляется в программе.


Определение объекта – это сопоставление ему каких-либо данных. Для переменной – это присвоение значения, для функции – написание операторов, выполняющих необходимую задачу.


Булев тип


Булевы (логические) переменные могут принимать только значения true или false. Они применяются для выражения значений логических операций. При этом можно преобразовывать булев тип к целому, тогда false считается равным 0, true >= 1.


bool a,b ; // пример объявления


a = 1<3; // true, так как


b = a == 0 // false, так как a==1


Целые числа


Целые числа в C++ – это аналог натуральных чисел, знакомых по курсу математики.


Базовые целочисленные типы (в порядке возрастания размера):


short -32,768 -- 32,767 int -2,147,483,648 -- 2,147,483,647


long -9,223,372,036,854,775,808 -- 9,223,372,036,854,775,807


По умолчанию тип считается signed (со знаком) и диапазон значений соответствует указанному.


При добавлении к объявлению типа служебного слова unsigned (без знака) весь диапазон значений “сдвигается” в положительную область значений, например диапазон unsigned short будет от 0 до 65 535.


Записывать целые числа можно как в десятичном виде, так и в восьмеричном и шестнадцатеричном. Для записи в восьмеричном виде нужно перед числом ставить 0, например 010 будет означать 9 в восьмеричном формате. Шестнадцатеричная константа в C++ записывается с префиксом 0x, например значение 0x3f будет равно 63 в десятеричной форме. Буквы a, b, c, d, e, f могут быть как прописными, так и строчными.


Числа с плавающей точкой


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


− float 3.4E +/- 38 (7 знаков);


− double 1.7E +/- 308 (15 знаков);


− long double 1.2E +/- 4932 (19 знаков).


Символьный тип


В переменной типа char может храниться один из символов из набора символов данной реализации языка. Например,


char a = 'a';


При этом сам литерал символа указывается между апострофов «’».


Под хранение символа в ASCII кодировке отводится 1 байт (8 бит). Таким образом, в переменной данного типа может храниться один из 256 различных кодов.


Каждая символьная константа имеет числовое значение, например a = 97.


В зависимости от реализации диапазон значений символьного типа будет или -128...127, или 0...256, где первый принадлежит к типу char, а второй к unsigned char соответственно. В первом случае тип может быть явно указан как signed char, он по умолчанию.


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


Тип Void


Несмотря на то, что переменных типа void не существует, он является одним из базовых типов языка C++. Он применяется для объявления функций, которые не возвращают значений (аналог процедур языка Pascal), и для объявления указателей на переменные неизвестного типа:


− void x; //вызовет ошибку компилятора;


− void *p; //в дальнейшем будет использовано как указатель на другой тип;


− void f(); // функция, не возвращающая значений.


Преобразование типов


Преобразование типов (cast) в C++ бывает явное, когда указывается новый тип переменной, и неявное, когда преобразование делается принудительно. Опишем последовательно каждый тип:


• Явное


Явное преобразование может быть сделано 2 способами.


1. Постфиксное выражение тип (выражение), где тип – это название типа, к которому производится преобразование. Выражение – это любой идентификатор, например переменная или константа. Выражением не может быть «безымянная» конструкция. Запись char *(0777) вызовет ошибку.


2. Префиксное выражение (тип) выражение.


Здесь все делается точно также, только выражение может не быть идентификатором, например


(unsigned long) (x/2 + 3)


• Неявное


В этом случае преобразования проходят по следующей схеме


Для signed целых


char -> short -> int -> long


Для unsigned производится такое же преобразование.


Для чисел с плавающей точкой


float -> double -> long double


При этом короткие целые типы преобразуются к типам не меньшей длины. Если тип – double, то все участвующие операнды приводятся к нему. Если один из операндов – long, все также приводятся к нему. Если один из них unsigned – все приводятся к unsigned.


Объявление typedef


Объявление, начинающееся с typedef, служит для введения нового названия типа данных, т.е. новое название типа является синонимом старого. Например,


typedef char* Pchar;


typedef unsigned char uchar;


typedef int int32;


typedef short int16.


2.5. Имена (идентификаторы)


Имя (идентификатор) состоит из последовательности букв и цифр. Первый символ должен быть буквой. Символ “_” считается буквой. C++ не налагает ограничений на число символов в имени, но некоторые части реализации находятся вне ведения автора компилятора (в частности, загрузчик), и они, к сожалению, такие ограничения налагают. Некоторые среды выполнения также делают необходимым расширить или ограничить набор символов, допустимых в идентификаторе; расширения (например, при допущении в именах символа $) порождают непереносимые программы. В качестве имени не могут использоваться ключевые слова C++.


Буквы в верхнем и нижнем регистрах считаются различными, поэтому Count и count – различные имена, но вводить имена, лишь незначительно отличающиеся друг от друга, нежелательно. Имена, начинающиеся с символа “_”, по традиции используются для специальных средств среды выполнения, поэтому использовать такие имена в прикладных программах нежелательно.


Примеры имен:


hello this_is_a_most_unusially_long_name DEFINED foO bAr u_name Horse- Sense var0 var1 CLASS _class___


Примеры последовательностей символов, которые не могут использоваться как идентификаторы:


012 a fool $sys class 3var pay.due foo~bar .name if




Основы информатики и программирование под Windows. Учебное пособие

Учебное пособие представляет собой материал по основам информатики и программированию под Windows с использованием среды разработки MS Visual C++. <br /> Рассмотрены основы применения дисковой операционной системы MS DOS, MS Windows, показана роль и эффективность файловой системы для хранения файлов. Для хорошего усвоения материала последовательно и подробно излагается описание работы с отладчиком Windows, создание командных файлов и их использование. Значительная роль уделяется архитектуре процессора, системам счисления, принципам работы процессора, программированию и подходам к решению различных задач на языке ассемблер и языке высокого уровня С++.<br /> Может быть использовано при выполнении расчетов раздела статистики курса высшей математики, а также при решении практических инженерных задач.<br /> Предназначено для студентов специальности «Оборудование и технология сварочного производства» всех форм обучения. Может быть полезно для аспирантов, магистров и специалистов, занимающихся вопросами реализации расчетов и моделирования.

179
 Молоков К.А. Основы информатики и программирование под Windows. Учебное пособие

Молоков К.А. Основы информатики и программирование под Windows. Учебное пособие

Молоков К.А. Основы информатики и программирование под Windows. Учебное пособие

Учебное пособие представляет собой материал по основам информатики и программированию под Windows с использованием среды разработки MS Visual C++. <br /> Рассмотрены основы применения дисковой операционной системы MS DOS, MS Windows, показана роль и эффективность файловой системы для хранения файлов. Для хорошего усвоения материала последовательно и подробно излагается описание работы с отладчиком Windows, создание командных файлов и их использование. Значительная роль уделяется архитектуре процессора, системам счисления, принципам работы процессора, программированию и подходам к решению различных задач на языке ассемблер и языке высокого уровня С++.<br /> Может быть использовано при выполнении расчетов раздела статистики курса высшей математики, а также при решении практических инженерных задач.<br /> Предназначено для студентов специальности «Оборудование и технология сварочного производства» всех форм обучения. Может быть полезно для аспирантов, магистров и специалистов, занимающихся вопросами реализации расчетов и моделирования.

Внимание! Авторские права на книгу "Основы информатики и программирование под Windows. Учебное пособие" (Молоков К.А.) охраняются законодательством!