Описание на функцията Scanf C. §1 Обща информация за езика. Етапи на проектиране на програмата. Модели на жизнения цикъл на приложението Език за програмиране c описание

Тези уроци са за всеки, независимо дали сте нов в програмирането или вече имате богат опит в програмирането на други езици! Този материал е за тези, които искат да научат езиците C / C ++ от самите им основи до най-сложните структури.

C++ е език за програмиране, познаването на този език за програмиране ще ви позволи да управлявате компютъра си на най-високо ниво. В идеалния случай можете да накарате компютъра да прави каквото искате. Нашият сайт ще ви помогне да научите езика за програмиране C++.

Инсталиране на /IDE

Първото нещо, което трябва да направите, преди да започнете да изучавате C++, е да се уверите, че имате IDE - интегрирана среда за разработка (програмата, в която ще програмирате). Ако нямате IDE, значи сте тук. Когато решите IDE, инсталирайте го и практикувайте създаването на прости проекти.

Въведение в C++

Езикът C++ е набор от команди, които казват на компютъра какво да прави. Този набор от команди обикновено се нарича изходен код или просто код. Командите са или „функции“, или „ключови думи“. Ключовите думи (запазени думи в C/C++) са основните градивни елементи на езика. Функциите са сложни градивни елементи, защото са написани от гледна точка на по-прости функции, както ще видите в първата ни програма по-долу. Тази структура от функции наподобява съдържанието на книга. Съдържанието може да показва главите на книгата, всяка глава в книгата може да има собствено съдържание, състоящо се от параграфи, всеки параграф може да има свои собствени подпараграфи. Въпреки че C++ предоставя много общи функции и запазени думи, които можете да използвате, все още има нужда да напишете свои собствени функции.

В коя част от програмата започна? Всяка програма в C++ има една функция, тя се нарича основна или основна функция, изпълнението на програмата започва с тази функция. От главната функция можете също да извиквате всякакви други функции, независимо дали са написани от нас или, както споменахме по-рано, предоставени от компилатора.

И така, как да получите достъп до тези стандартни функции? За да получите достъп до стандартните функции, които идват с компилатора, трябва да включите заглавния файл, като използвате директивата за препроцесор - #include. Защо е ефективен? Нека да разгледаме пример за работеща програма:

#включи << "Моя первая программа на С++\n"; cin.get(); }

Нека разгледаме по-подробно елементите на програмата. #include е директива за "препроцесор", която казва на компилатора да постави кода от заглавния файл на iostream в нашата програма, преди да създаде изпълнимия файл. Като включите заглавен файл във вашата програма, вие получавате достъп до много различни функции, които можете да използвате във вашата програма. Например операторът cout изисква iostream. Редът, използващ пространство от имена std; казва на компилатора да използва група функции, които са част от стандартната библиотека std. Този ред също позволява на програмата да използва оператори като cout. Точката и запетая е част от синтаксиса на C++. Той казва на компилатора, че това е краят на командата. Малко по-късно ще видите, че точката и запетая се използва за прекратяване на повечето команди в C++.

Следващият важен ред на програмата е int main(). Този ред казва на компилатора, че има функция с име main и че функцията връща цяло число от тип int. Къдрави скоби ( и ) означават началото ( и края ) на функция. Къдравите скоби се използват и в други блокове код, но винаги означават едно и също нещо - съответно началото и края на блока.

В C++ обектът cout се използва за показване на текст (произнася се "cout"). Той използва герои<< , известные как «оператор сдвига», чтобы указать, что отправляется к выводу на экран. Результатом вызова функции cout << является отображение текста на экране. Последовательность \n фактически рассматривается как единый символ, который обозначает новую строку (мы поговорим об этом позже более подробно). Символ \n перемещает курсор на экране на следующую строку. Опять же, обратите внимание на точку с запятой, её добавляют в конец, после каждого оператора С++.

Следващата команда е cin.get(). Това е друго извикване на функция, което чете данни от входния поток от данни и чака да бъде натиснат клавишът ENTER. Тази команда предпазва прозореца на конзолата от затваряне, докато не бъде натиснат клавишът ENTER. Това ви дава време да разгледате резултата от програмата.

При достигане на края на основната функция (затварящата фигурна скоба), нашата програма ще върне стойността 0 за операционната система. Тази върната стойност е важна, защото чрез анализирането й ОС може да прецени дали нашата програма е завършила успешно или не. Върната стойност 0 означава успех и се връща автоматично (но само за типа данни int, други функции изискват да върнете стойността ръчно), но ако искаме да върнем нещо друго, като 1, ще трябва да го направим ръчно .

#включи използване на пространство от имена std; int main() ( cout<<"Моя первая программа на С++\n"; cin.get(); return 1; }

За да консолидирате материала, въведете програмния код във вашата IDE и го стартирайте. След като програмата се изпълни и сте видели резултата, експериментирайте малко с израза cout. Това ще ви помогне да свикнете с езика.

Не пропускайте да коментирате вашите програми!

Добавете коментари към кода, за да го направите по-ясен не само за себе си, но и за другите. Компилаторът игнорира коментарите при изпълнение на код, което позволява произволен брой коментари да се използват за описание на действителния код. За да създадете коментар, използвайте или // , което казва на компилатора, че останалата част от реда е коментар, или /* последвано от */ . Когато се учите да програмирате, е полезно да можете да коментирате определени части от кода, за да видите как се променя резултатът от програмата. Можете да прочетете подробно за техниката на коментиране.

Какво да правим с всички тези типове променливи?

Понякога може да е объркващо да имате множество типове променливи, когато изглежда, че някои типове променливи са излишни. Много е важно да използвате правилния тип променлива, тъй като някои променливи изискват повече памет от други. Също така, поради начина, по който числата с плаваща запетая се съхраняват в паметта, типовете данни float и double са "неточни" и не трябва да се използват, когато трябва да се съхранява точна целочислена стойност.

Деклариране на променливи в C++

За да декларирате променлива, използвайте типа синтаксис<имя>; . Ето някои примери за декларации на променливи:

int номер; характер; float num_float;

Позволено е да се декларират няколко променливи от един и същи тип в един ред, като за това всяка от тях трябва да бъде разделена със запетая.

int x, y, z, d;

Ако сте се вгледали внимателно, може да сте видели, че декларацията на променлива винаги е последвана от точка и запетая. Можете да прочетете повече за конвенцията - "за именуване на променливи".

Често срещани грешки при деклариране на променливи в C++

Ако се опитате да използвате променлива, която не е декларирана, вашата програма няма да се компилира и ще получите грешка. В C++ всички ключови думи на езика, всички функции и всички променливи са чувствителни към главни и малки букви.

Използване на променливи

Така че сега знаете как да декларирате променлива. Ето примерна програма, демонстрираща използването на променлива:

#включи използване на пространство от имена std; int main() ( int число; cout<< "Введите число: "; cin >>номер; cin.ignore(); cout<< "Вы ввели: "<< number <<"\n"; cin.get(); }

Нека да разгледаме тази програма и да проучим нейния код ред по ред. Ключовата дума int казва, че това число е цяло число. Функцията cin >> чете стойността в число, потребителят трябва да натисне enter след въведеното число. cin.ignore() е функция, която чете знак и го игнорира. Организирали сме въвеждането си в програмата, след въвеждане на число натискаме клавиша ENTER, знакът, който също се предава на входния поток. Не ни трябва, затова го изхвърляме. Имайте предвид, че променливата е декларирана като цяло число, ако потребителят се опита да въведе десетично число, то ще бъде съкратено (т.е. десетичната част от числото ще бъде игнорирана). Опитайте да въведете десетично число или последователност от знаци, когато стартирате примерната програма, отговорът ще зависи от въведената стойност.

Имайте предвид, че кавички не се използват при отпечатване от променлива. Липсата на кавички казва на компилатора, че има променлива и следователно, че програмата трябва да провери стойността на променливата, за да замени името на променливата с нейната стойност, когато се изпълни. Множество оператори за смяна на един и същ ред са напълно приемливи и изходът ще бъде направен в същия ред. Трябва да разделите низови литерали (низове в кавички) и променливи, давайки на всеки различен оператор за смяна<< . Попытка поставить две переменные вместе с одним оператором сдвига << выдаст сообщение об ошибке . Не забудьте поставить точку с запятой. Если вы забыли про точку с запятой, компилятор выдаст вам сообщение об ошибке при попытке скомпилировать программу.

Промяна и сравняване на стойности

Разбира се, без значение какъв тип данни използвате, променливите не са от голям интерес, освен ако стойността им не може да бъде променена. По-долу са показани някои от операторите, използвани във връзка с променливи:

  • * умножение,
  • - изваждане,
  • + допълнение,
  • / деление,
  • = задание,
  • == равенство,
  • > повече
  • < меньше.
  • != не е равно
  • >= по-голямо или равно
  • <= меньше или равно

Операторите, които изпълняват математически функции, трябва да се използват отдясно на знака за присвояване, за да се присвои резултатът на променливата отляво.

Ето няколко примера:

A = 4 * 6; // използвайте коментар на ред и точка и запетая, a е 24 a = a + 5; // е равно на сумата от първоначалната стойност и пет a == 5 // не е присвоено пет, проверете и е равно на 5 или не

Често ще използвате == в конструкции като условни изрази и цикли.

А< 5 // Проверка, a менее пяти? a >5 // Проверка дали a е по-голямо от пет? a == 5 // Проверете дали a е пет? a != 5 // Проверка дали a не е равно на пет? a >= 5 // Проверка дали a е по-голямо или равно на пет? а<= 5 // Проверка, a меньше или равно пяти?

Тези примери не показват много ясно използването на знаци за сравнение, но когато започнем да изучаваме операторите за избор, ще разберете защо това е необходимо.

C++ (произнася се c-plus-plus) е компилиран, статично типизиран език за програмиране с общо предназначение, който може да се използва за създаване на програми от всякакво ниво на сложност.
Повече от 20 години този език е сред първите три най-популярни и търсени езици за програмиране. (Това може да се провери, като посетите уебсайта на TIOBE).
Езикът възниква в началото на 80-те години на миналия век, когато служителят на Bell Labs Björn Stroustrup предлага редица подобрения на езика C за собствените си нужди.

Bjarne Stroustrup - създател на езика C++

Straustrup реши да разшири езика C с функциите, налични в езика Simula. Езикът C, който е основният език на системата UNIX, на която работят компютрите Bell, е бърз, богат на функции и преносим. Stroustrup добави към него възможността за работа с класове и обекти. В резултат на това практическите задачи за моделиране се оказаха достъпни както по отношение на времето за разработка (поради използването на класове, подобни на Simula), така и по отношение на времето за изчисление (поради скоростта на C).
Ето как го казва самият разработчик на езика:



През 1998 г. първият езиков стандарт, известен като C++98, беше публикуван от комитет по стандартизация. C++ продължава да се развива, за да отговори на съвременните изисквания. Една от групите, които разработват езика C++ и изпращат предложения до комитета по стандартизация на C++ за подобряването му, е Увеличете, който се занимава, наред с други неща, с подобряване на възможностите на езика чрез добавяне на функции за метапрограмиране към него. Последният стандарт е пуснат през 2017 г. и се нарича C++17. Следващият стандарт няма да закъснее и се очаква да се появи през 2020 г.
Никой не притежава правата върху езика C++, той е безплатен. През март 2016 г. в Русия беше създадена работна група WG21 C++. Групата беше организирана, за да събира предложения за стандарта C++, да ги представя на комисията и да ги защитава на общи събрания на Международната организация по стандартизация.
C++ е многопарадигмен език (от думата paradigm - стил на писане на компютърни програми), който включва широк набор от различни програмни стилове и технологии. Често се нарича обектно-ориентиран език, но, строго погледнато, това не е така. В процеса на работа разработчикът получава абсолютна свобода при избора на инструменти, така че проблемът, решен с помощта на един или друг подход, да бъде решен възможно най-ефективно. С други думи, C++ не принуждава програмиста да се придържа само към един стил на разработка на програма (например обектно-ориентиран).
C++ има богата стандартна библиотека, която включва общи контейнери и алгоритми, I/O, регулярни изрази, многонишкова поддръжка и др. C++ е повлиял на много езици за програмиране, включително: Java, C#, D. Тъй като C++ принадлежи към семейство езици, базирани на синтаксиса на езика C, други езици за програмиране от това семейство могат лесно да бъдат усвоени: JavaScript , PHP, Perl, Objective-C и много други. и т.н., включително самия език-майка - C. ()
По време на неговото съществуване в езика C ++ са се утвърдили стабилни митове, които лесно се опровергават (вижте тук: Част 1 и Част 2)

Историята на езика и издаването на стандарти

1983

Създател на езика - Бьорн Страуструп, в Bell Labs, представи ранна версия на C++ („C с класове“)

1985

Първо търговско издание на C++, езикът приема модерно име

1986

Издаване на първото издание на The C++ Programming Language, книга за C++, написана от Bjorn Stroustrup

1998

Ратифициран е международният езиков стандарт C++: ISO/IEC 14882:1998 „Стандарт за езика за програмиране C++“

2003
2005

Издаден технически доклад 1 на библиотеката (TR1). Въпреки че не е официално част от стандарта, докладът описва разширения към стандартната библиотека, които трябва да бъдат включени в следващата версия на езика C++.

2011

Пускане на нов стандарт - C++11 или ISO/IEC 14882:2011; новият стандарт включва допълнения към ядрото на езика и разширение към стандартната библиотека, включително голяма част от TR1

2014

Пускане на стандарта C++14 („Международен стандарт ISO/IEC 14882:2014(E) език за програмиране C++”); C++14 може да се разглежда като малко разширение на C++11, съдържащо предимно корекции на грешки и незначителни подобрения.

2017

Изданието на новия стандарт е C++1z (C++17). Този стандарт е направил много промени и допълнения. Например STD включва библиотеки на стандарта C11, файлова система, базирана на boost::filesystem, и по-голямата част от експерименталната TS I библиотека.

2020

C++20 е неофициалното наименование на стандарта ISO/IEC за езика за програмиране C++, който се очаква след C++17. Проект на стандарт N4800.

Философия C++

В The Design and Evolution of C++ (2007), Bjorn Stroustrup описва принципите, които е следвал при проектирането на C++ (дадени в съкратена форма):

  • Вземете универсален език със статични типове данни, ефективността и преносимостта на C.
  • Директно и цялостно поддържа различни стилове на програмиране.
  • Дайте на програмиста свобода на избор, дори ако това му дава възможност да избере неправилно.
  • Поддържайте възможно най-голяма съвместимост със C, което прави възможно лесното превключване от програмиране към C.
  • Избягвайте несъответствия между C и C++: всяка конструкция, която е валидна и на двата езика, трябва да означава едно и също нещо във всеки от тях и да води до едно и също поведение на програмата.
  • Избягвайте функции, които зависят от платформата или не са универсални.
  • „Не плащайте за това, което не използвате“ – никоя езикова функция не трябва да причинява влошаване на производителността за програми, които не я използват.
  • Не изисквайте твърде сложна среда за програмиране.

C и C++

Синтаксисът на C++ е наследен от езика C. Въпреки че формално един от принципите на C++ остава да поддържа съвместимост с езика C, всъщност групите за стандартизация на тези езици не взаимодействат и промените, които make не само не корелират, но често фундаментално си противоречат идеологически. И така, елементите, които новите C стандарти добавят към ядрото, са елементи от стандартната библиотека в стандарта C ++ и обикновено липсват в ядрото, например динамични масиви, масиви с фиксирани граници, паралелни съоръжения за обработка. Страуструп смята, че комбинирането на развитието на тези два езика би било от голяма полза, но едва ли е възможно по политически причини. Така че практическата съвместимост между C и C++ постепенно ще бъде загубена.
В този пример, в зависимост от използвания компилатор, ще бъде изведен или "C++", или "C":

Програма 9.1

#включи int main() ( printf("%s\n", (sizeof("a") == sizeof(char)) ? "C++" : "C"); return 0; )

Това се дължи на факта, че символните константи в C са от тип int, а в C++ са от тип char, но размерите на тези типове се различават.

Модели на жизнения цикъл на приложението

Жизнен цикълсофтуерът е период от време, който започва от момента на вземане на решение за необходимостта от създаване на софтуерен продукт и завършва в момента на пълното му изтегляне от експлоатация. Този цикъл е процесът на изграждане и разработване на софтуер (SW). Има няколко модела на жизнения цикъл.
Каскаден моделжизнен цикъл (английски водопаден модел) е предложен през 1970 г. от Уинстън Ройс. Той предвижда последователно изпълнение на всички етапи на проекта в строго фиксиран ред. Преходът към следващия етап означава пълно завършване на работата на предишния етап. Изискванията, определени на етапа на формиране на изискванията, са строго документирани под формата на техническо задание и фиксирани за целия период на разработване на проекта. Всеки етап завършва с издаването на пълен набор от документация, достатъчна за разработката, която да бъде продължена от друг екип за разработка.
Етапи на проекта според модела на водопада:

  1. Формиране на изисквания;
  2. Дизайн;
  3. внедряване;
  4. Тестване;
  5. изпълнение;
  6. Експлоатация и поддръжка.

В модела на водопада преходът от една фаза на проекта към друга предполага пълната коректност на резултата от предишната фаза. При големи проекти това е почти невъзможно да се постигне. Следователно такъв модел е подходящ само за разработване на малък проект. (Самият У. Ройс не се придържа към този модел и използва итеративен модел).
Итеративен модел
Алтернатива на модела на водопада е моделът на итеративно и инкрементално развитие (IID), получен от Т. Гилб през 70-те години. името на еволюционния модел. Моделът IID разделя жизнения цикъл на проекта на поредица от итерации, всяка от които прилича на „мини-проект“, включително всички процеси на разработка, приложени към създаването на по-малки части от функционалност, в сравнение с проекта като цяло. Целта на всяка итерация е да се получи работеща версия на софтуерната система, включително функционалността, определена от интегрираното съдържание на всички предишни и текущи итерации. Резултатът от последната итерация съдържа цялата необходима функционалност на продукта. Така със завършването на всяка итерация продуктът получава прираст - прираст - към своите възможности, които следователно се развиват еволюционно.


В повечето съвременни методологии за разработка се прилагат различни варианти на итеративния подход:

Процес на разработка - Rational Unified Process (RUP)

Рационален унифициран процес (RUP)(Rational Unified Process) е методология за разработка на софтуер, поддържана от Rational Software (IBM). Методологията дава препоръки за всички етапи на разработка: от бизнес моделиране до тестване и въвеждане в експлоатация на готовата програма. Унифицираният език за моделиране (UML) се използва като език за моделиране.
Пълният жизнен цикъл на разработване на продукта се състои от четири фази, всяка от които включва една или повече итерации.

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

  • Разработване
  • Документация за изискванията. Проектиране, внедряване и тестване на изпълнимата архитектура. Уточняване на срокове и цена. Намаляване на основните рискове. Успешното завършване на фазата на разработка означава достигане на етапа на жизнения цикъл на архитектурата.

  • Строителство
  • Във фаза "Build" се изпълнява по-голямата част от функционалността на продукта: дизайнът на приложението е завършен, изходният код е написан. Фазата на изграждане завършва с първото външно издание на системата и етапа на първоначалната оперативна способност.

  • Изпълнение (преход)
  • Във фаза „Внедряване“ се създава окончателната версия на продукта и се прехвърля от разработчика към клиента. Това включва програма за бета тестване, обучение на потребителите и осигуряване на качеството на продукта. В случай, че качеството не отговаря на очакванията на потребителите или на критериите, зададени в началната фаза, фазата на внедряване се повтаря отново. Постигането на всички цели означава достигане на крайъгълния камък на готовия продукт (Пускане на продукта) и завършване на пълния цикъл на разработка.



"Информационни технологии. Системно и софтуерно инженерство. Процеси на жизнения цикъл на софтуера“. Този стандарт е приет от Федералната агенция за техническо регулиране и метрология на Руската федерация и е подобен на международния стандарт ISO/IEC 12207:2008. Този стандарт установява обща рамка за процесите на жизнения цикъл на софтуера, която може да се използва като насока в софтуерната индустрия. Стандартът не предлага конкретен модел на жизнения цикъл. Неговите разпоредби са общи за всички модели на жизнения цикъл, методи и технологии за създаване на софтуер. Той описва структурата на процесите от жизнения цикъл, без да уточнява как да се изпълняват или изпълняват дейностите и задачите, включени в тези процеси.

Презентация към урока
Теми за съобщения
  • Фондация за свободен софтуер (FSF)
  • Лицензи за безплатен софтуер
  • Безплатен софтуер и отворен код
  • История на развитието на езиците за програмиране
  • История на C. C и C++
  • История
  • Критика на C++
  • История на UNIX
  • Спирален модел на жизнения цикъл на софтуера
  • UML (English Unified Modeling Language - унифициран език за моделиране)
  • Microsoft Solutions Framework
  • IDE за програмиране на C/C++ под Windows
  • C/C++ компилатори
  • Създаване на конзолно приложение в Windows
Въпроси
  1. Защо водопадният модел за разработка на софтуер не се използва в големи проекти?
  2. Каква е разликата между водопада и итеративните модели на развитие?
  3. Избройте етапите на разработка на софтуер в методологията на Rational Unified Process (RUP).

Език за програмиране C++

Последна актуализация: 28.08.2017

Езикът за програмиране C++ е компилиран език за програмиране с общо предназначение, статично типизиран на високо ниво, който е подходящ за изграждане на голямо разнообразие от приложения. C++ е един от най-популярните и широко разпространени езици днес.

Той има своите корени в езика C, който е разработен през 1969-1973 г. в Bell Labs от програмиста Денис Ричи. В началото на 80-те години датският програмист Bjarne Stroustrup, тогава в Bell Labs, разработи C++ като разширение на езика C. Всъщност в началото C++ просто допълва езика C с някои характеристики на обектно-ориентираното програмиране. И така, самият Страуструп отначало го нарича "С с класове" ("С с класове").

Впоследствие новият език започва да набира популярност. Към него бяха добавени нови функции, които го направиха не просто допълнение към C, а напълно нов език за програмиране. В резултат на това "C с класове" беше преименуван на C++. И оттогава и двата езика започнаха да се развиват независимо един от друг.

C++ е мощен език, наследяващ богати възможности за памет от C. Следователно C++ често намира своето приложение в системното програмиране, по-специално при създаването на операционни системи, драйвери, различни помощни програми, антивируси и др. Между другото, Windows е написан предимно на C++. Но използването на този език не се ограничава до системното програмиране. C++ може да се използва в програми от всяко ниво, където скоростта и производителността са важни. Често се използва за създаване на графични приложения, различни приложни програми. Също така се използва особено често за създаване на игри с богати богати визуализации. Освен това мобилната посока напоследък набира скорост, където C ++ също намери своето приложение. И дори в уеб разработката можете също да използвате C++ за създаване на уеб приложения или някакъв вид спомагателни услуги, които обслужват уеб приложения. Като цяло C++ е широко използван език, на който можете да напишете почти всякакъв вид програма.

C++ е компилиран език, което означава, че компилаторът превежда изходния код на C++ в изпълним файл, който съдържа набор от машинни инструкции. Но различните платформи имат свои собствени характеристики, така че компилираните програми не могат просто да бъдат прехвърлени от една платформа на друга и да се изпълняват там. Въпреки това, на ниво изходен код, C++ програмите са предимно преносими, освен ако не се използват някои специфични за ОС функции. А наличието на компилатори, библиотеки и инструменти за разработка за почти всички често срещани платформи прави възможно компилирането на същия изходен код на C++ в приложения за тези платформи.

За разлика от C, езикът C++ ви позволява да пишете приложения в обектно-ориентиран стил, представяйки програма като колекция от класове и обекти, взаимодействащи един с друг. Това опростява създаването на големи приложения.

Основни етапи на развитие

През 1979-80 г. Bjarne Stroustrup разработва разширение на езика C - "C с класове". През 1983 г. езикът е преименуван на C++.

През 1985 г. излиза първата комерсиална версия на езика C++, както и първото издание на книгата „The C++ Programming Language“, която представлява първото описание на този език при липса на официален стандарт.

През 1989 г. е пусната нова версия на езика C++ 2.0, която включва редица нови функции. След това езикът се развива относително бавно до 2011 г. Но в същото време през 1998 г. е направен първият опит за стандартизиране на езика от ISO (Международна организация за стандартизация). Първият стандарт се нарича ISO/IEC 14882:1998 или накратко C++98. По-късно през 2003 г. беше публикувана нова версия на стандарта C++03.

През 2011 г. беше публикуван новият стандарт C++11, който съдържа много допълнения и обогати езика C++ с голям брой нови функции. Това беше последвано през 2014 г. от незначително допълнение към стандарта, известен също като C++14. Друго ключово издание на езика е планирано за 2017 г.

Компилатори и среди за разработка

За да разработвате програми на C++, имате нужда от компилатор - той превежда изходния код на C++ в изпълним файл, който след това може да бъде стартиран. Но в момента има много различни компилатори. Те могат да се различават в различни аспекти, по-специално в прилагането на стандартите. Основен списък с компилатори за C++ може да се намери в wikipedia. Препоръчително е за разработка да изберете тези компилатори, които разработват и прилагат всички най-нови стандарти. Например, в този урок ще се използва предимно свободно достъпният g++ компилатор, разработен от проекта GNU.

Можете също да използвате IDE като Visual Studio, Netbeans, Eclipse, Qt и т.н., за да създавате програми.

1. Въведение

Програмирането се нуждае от нови универсални алгоритмични модели, а хардуерът реализира алгоритми не само в различна форма, но и на базата на друг алгоритмичен модел - автомат. Заемането на технология от разработката на хардуер е ключовата идея зад автоматичното програмиране. Въпреки това, синтезът на цифрови устройства е различен от програмирането. Но, заимствайки модела, от една страна, не е желателно да се променя значително, а от друга страна е невъзможно да не се вземе предвид вече съществуващата теория и практика на програмиране.

След това ще разгледаме технологията SWITCH за проектиране на автоматични програми, в които се сблъсквате с подобни процеси през цялото време. От една страна, той промени модела на крайния автомат по такъв начин, че всъщност го извади от рамката на теорията на автоматите. И, от друга страна, въвежда в програмирането концепции, които трудно се възприемат от програмистите и понякога са просто излишни, т.к. има по-познати аналози от теорията на програмите и практиката на програмирането.

Като основа за обсъждане на проблемите на автоматичното програмиране, ние приемаме скорошна лекция на Shalyto A.A. и неговите "софтуерни" документи към дефиницията на парадигмата за програмиране на автомати.



Продължение на темата:
Windows

Наталия Комарова , 28.05.2009 (25.03.2018) Когато четете форум или блог, запомняте авторите на публикациите по псевдоним и ... по снимката на потребителя, така наречения аватар ....

Нови статии
/
Популярен