Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ВМИиП.docx
Скачиваний:
3
Добавлен:
18.04.2019
Размер:
232.65 Кб
Скачать

Лекция 1 от 05.09.2011

Дегтярев Андрей Викторович, доц каф 504

Лабораторные, 3 контрольные, курсовой проект (самый тяжелый)

  • Язык С, как его особенности позволили перейти к ООП.

  • Создание классов

  • Среда Builder, технологии, близкие к экономическим (базы данных)

  • SQL для выборки данных

  • Комплексная курсовая

Начало октября – задание к курсовой

Должна быть защищена до 26.12 (24.12 – суббота, последний день приема)

До 15.12 курсовая должна быть выполнена (в идеале начать делать лучше с 1 ноября)

Защита в виде презентации (До 15.10 – Turbo C++)

До экзамена допуск, если выполнить ВСЕ. Экзамен последний, в январе.

Раздел 1. Основы высокоуровневого ЯП С++

1.1. _Классика. Общие сведения

Язык С представляет собой синоним и функцию ООП. Он был разработан Брианом Керниганом и Денисом Ритчи в 1972 году для компании Bell с целью реализации первого (простейшего) подхода к модульному программированию на основе использования макросов (процедур в 1 строчку).

Основы языка С++

Функция

Препроцессор (Liper: 1C, FoxPro, Парус, Инфософт)

ООП (создание классов)

Ссылки (указатели) работа с адресами

Визуальное программирование (форма,заставка)

Потоки (родовой признак работы с функциями языка С)

Функции нижнего уровня (распространено на все ЯП)

Исключительные ситуации (перехват и обработка ошибок пользователей и аппаратных сбоев)

Оверлэй – частичная загрузка программы.

1

1. [Главное Меню]->[Project Option]->[Directories]

2. PAHT=…в файле autoexec.bat

.1.1.Структура простейшей С++ программы

[ #include <iostream.h>

#unclude “C:\TEST\My.h”

#

В текущем каталоге запуска ИСР, например, tc.exe, обычно в подкаталоге …\BIN\

include “Example.h”

#... ]

[ Функция 1

{

}

]

Int Main (Параметры функции)

Заголовок функции

/*Описание программы*/

[

Char word[20];

]

/*Операторы тела функции*/

{

Cout<<”Введите слово:”;

Cin>>word;

Cout<<word;

Return 1;

}

Тело обязательной главной функции Main()

[ Функция N

{

}

]

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

  1. Все указания препроцессора выносятся в начало текста программы, они начинаются с # (F9 – Директории – Include)

  2. Любая C программа обязательно содержит одну функцию Main. Только 1! Где бы она не находилась, выполнение программы начинается с нее. Если проект содержит несколько #.cpp, то Main должна быть только в одном из них!

Ее нельзя вызвать из других функций проекта.

Void – особый (отложенный) тип данных, аргумент не задан пока что.

Аргументы перечисляются через запятую, они задаются из ОС и определяются пробелами.

Это так называемые опции для запуска.

Все функции имеют заголовок.

Int – функция должна вернуть значение (return 1;).

Очень важно писать полный заголовок функции.

/**/ - внутри содержится комментарий

// - все, что после этого написано (и до конца строки) является комментарием

{…} – внутренность функции

Можно несколько раз использовать return. Допускается его отсутствие, т.е. функция будет выполняться до закрытия }. При этом обязательно указывать void.

Вложенный блок с {…} или составной оператор.

Они могут быть пустыми. Объекты, объявленные внутри фигурных скобок, по умолчанию имеют ограниченную область видимости и время жизни. Т.е. можно использовать одно и тоже имя много раз:

Int i()

{

Int i….

}

1.1.2. Основные типы данных в С++ (нет сложных)

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

Тип

Пояснение

Размер в байтах

Пример объявления и инициализации

Int

Целое число

4

int a;       a=16;

Double (long double)

Число одинарной точности (вещественный)

8

double a; a=12.6325;

Float

Число двойной  точности (вещественный, очень малой точности) – с плавающей точкой

4

float a; a=12.6325;

Char

Один символ (символьный)

1

char a;       a='+';          a='c';       a='c';

String

Строка

string s="Hello world";

Bool

Логическое значение (флаг), имеет 2 значения:  true и false

1

bool a; a=true; a=false;

Wchar_t

Расширенный символьный (должен поддерживать все представимые в системе символы) – 2 байта – диапазон 0/32767

Void

Не соответствует никакому типу

Int. Самым простым и главным является тип int. Он используется для хранения целых чисел. В переменную типа int можно записать, например, числа -2, 0, 5. И вообще любые целые числа из его диапазона. Если в переменную типа int попытаться записать дробное число, то компилятор автоматически отбросит дробную часть и в переменной останется только целая часть(произойдет именно отбрасывание, а не округление по правилам математики). То есть записав в int числа 12.25 и 12.94, в обоих случаях получится целое число 12. Также в тип int можно записать букву, тогда в переменной будет код этой буквы.

Как итог получим:

Double. При помощи типа double мы можем хранить вещественные (дробные) числа. Например в тип double можно записать число 39.1804. Кроме того в double можно записать и любое целое число, тогда дробная часть будет представлять из себя 0.

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

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

В С++ существуют модификаторы типов. Некоторые из перечисленных типов можно модифицировать ключевыми словами signed (знаковый), unsigned (беззнаковый), short (короткий) и long (длинный). Каждому целому типу со знаком соответствует беззнаковый тип, занимающий столько же места в памяти. Типы без знака не могут представлять отрицательные числа, но могут представлять вдвое больше положительных чисел, чем соответствующие типы со знаком.

Далее показаны некоторые примеры модифицированных типов данных: unsigned char, signed char, short int, unsigned short int, unsigned int, long int, long double.

Если тип не указывается, то подразумевается тип int. Пример: short и short int, Long и long int.

В С++ Builder:

Файл Project1.cpp

//-------------------------------------------------------------------------------------

#include <vcf\vcl.h>

#pragma hdrstop

//-------------------------------------------------------------------------------------

USEFORM (“Unit1.cpp”, Form1);

USERES (“Project1.res”);

USEFORM (“Unit2.cpp”, Form2);

//-------------------------------------------------------------------------------------

WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int)

{

Try

{

Application->Initialize();

Application->CreateForm{_classid(TForm1), &Form1};

Application->CreateForm{_classid(TForm2), &Form2};

Application->Run();

}

Catch (Exeption &exeption)

{

Application->ShowExeption (&exeption);

}

Return 0;

}