Учебник: Cay
Horstmann, Computing
Concepts with C++ Essentials, Third Edition, John Wiley
& Sons, 2003.
Cay S. Horstmann, Timothy A. Budd, Big C++, 2nd Edition, Wiley,
January 2009.
Няма дефиниция, понятието се променя с времето.
Компютрите могат да се справят с повтарящи се задачи.
Компютърът може да се програмира, за да се справи с различни
задачи:
Компютърни действия са съставени от огромен брой примитивни
операции. Примери за такива операции:
Компютърът дава илюзията за плавно изпълнение, защото той
изпълнява тези операции с голяма скорост (каква?).
Компютрите са гъвкави: те могат да се справят с широк спектър от
задачи, тъй като те изпълняват различни програми, всяка от които
прави компютърът да работи по конкретна задача.
Джон
Атанасов - история на компютрите.
От микрокомпютър до суперкомпютър. Многопроцесорни компютри,
квантови компютри.
Херц, гигахерц; байт, гигабйт; флопс (FLOPS), гигафлопс,
екзафлопс (EFLOPS = 1000 petaFLOPS)
(103 - кило, 106 - мега, 109 -
гига, 1012 - тера, 1015 - пета)
2013, Tianhe-2, рекорд от 33.86 petaFLOPS, разпределени
изчисления, облаци
Примерr:
MacBook Pro 13"
Dual-Core i5
Анонсиран: June 2012
2.5GHz / 4GB / 500GB / Intel HD Graphics
4000 / с international клавиатура
Лаптоп Apple
MacBook 12" Retina/DC i5 1.3GHz/8GB/512GB/Intel HD... 3
55300 лв.
12-inch
MacBook - 2018
1.3GHz Processor
512GB Storage
1.3GHz dual-core 7th-generation Intel Core i5 processor
Turbo Boost up to 3.2GHz
8GB 1866MHz LPDDR3 memory
512GB SSD storage1
Intel HD Graphics 615
Keyboard with second-generation butterfly mechanism
$1,599.00
* Процесорът изпълнява машинни инструкции, които са:
161 40000 45 100 127 11280
* Асемблер - език от ниско ниво:
mov 40000, %eax
sub 100, %eax
jg 11280
mov int_rate, %eax
sub 100, %eax
jg int_error
* Програмни езици от високо ниво:
if (int_rate > 100) message_box("Interest rate error");
* Специална компютърна програма, наречена компилатор, превежда
описанието на по-високо ниво (език за програмиране) в машинни
инструкции за конкретен процесор (машинен език).
* Компилаторите следват строги конвенции (правила) по отношение на
използването на езика за програмиране. Когато компилатор чете
инструкции за програмиране (изрази, операции и оператори) на език
за програмиране, той ще ги преведе в машинен код, само ако входът
следва езиковите конвенции точно.
* Строгите правила предотвратяват по-катастрофални грешки, които
биха могли да възникнат, ако компилаторът трябва "да гадае".
* Има много (стотици) езици за програмиране (List
of programming languages).
* Различията в езиците за програмиране понякога са незначителни,
но в други случаи са съществени.
if (int_rate > 100) message_box("Interest rate error");
if int_rate > 100 then System.Console.Write("Interest rate error") end if
** История на езика С++.
* Езикът С се създава и развива заедно с операционната система
UNIX. Първата версия е създадена през 1973 г. от Денис
Ричи. Езикът се развива интензивно и през 1977 г. UNIX е
пренаписана на С. Стандартна версия на езика е установена през
1989 година.
* Езикът С++ е създаден от Бьорн
Страуструп 1983 г., като към езика С са добавени нови
елементи. Всъщност възниква нов обектно-ориентиран език, който
веднага получава много широко разпространение. Стандартизацията на
езика завършва през 1998 година, като книгата на Страуструп e
всъщност този стандарт.
* 2003 - Стандарти, разработени за нови версии на C++ (The C++ Standards
Committee).
* 2011-09-11: Нов C++ стандарт - C++11,
2013-05-24: CD
за новия стандарт.
* 2013-05-24: The CD
for the new C++14 standard is released.
* 2017-03-21: Working
Draft, Standard for Programming Language C++
** Компилатори и среди за програмиране на С и С++
* Unix ОС (Ubuntu и др.), Мас:
- GCC е GNU компилатор, който
поддържа най-новите версии (стандарти) на езиците C, C++;
- текстов редактор
* Системи (среди) за програмиране за MS Windows -
обикновено се състоят от текстов редактор, компилатор, библиотеки
и система за проверка на програмите (debug). За С/С++
по-известните среди за програмиране са:
- MS Visual C++ -
продукт на Майкрософт, не поддържа С++ стандарт;
- Dev C++ - поддържа С++
стандарт, няма help за езика и удобен дебъгер;
- Code::Blocks -
The open source, cross platform, free C++ IDE.
// hello.cpp | /*Име на файла, съдържащ текста на програмата*/ |
#include <iostream> | /*Директива на препроцесора*/ |
using namespace std; | /*Стандартно пространство на имена*/ |
|
|
int main() | /*Главна функция*/ |
{ cout << "Hello, World!\n"; | /*Оператор за потоков изход*/ |
return 0; | /*Връща на операционната система числото 0*/ |
} | |
Hello, World! |
След година |
Сума (баланс) |
0 |
$10,000.00 |
1 |
$10,500.00 |
2 |
$11,025.00 |
3 |