Основы C++: первая программа
Здравствуй, уважаемый читатель сайта CodeLessons.ru! Сейчас пойдет речь о самых важных моментах в C++ на которых и основана любая программа. Мы узнаем главные части программы, а также и назначение каждой из них. Для начала вам потребуется установленная IDE (как установить Code::Blocks) готовая к работе. Если у вас все готово, то можем начинать изучение!
Видео урок
Основные особенности кода на C++
Прежде чем мы напишем первую программу на C++, надо узнать основные требования к коду на C++.Их не так много, как может показаться на первый взгляд. Вот собственно список:
- каждая команда заканчивается точкой с запятой
;
; - в названии команд и прочих инструкций не может быть пробелов, а также они не могут начинаться с цифр;
- язык С++ чувствителен к регистру символов. То есть, CODE, CoDe и code могут выполнять абсолютно разные задачи;
Это и есть главные правила, на которых основан фундамент программирования на C++.
Начало работы с C++
Для того чтобы начать работу, вы должны создать файл с расширением
или новый проект в своей среде программирования.
Теперь давайте разберем главные аспекты C++ на примере. Для этого мы запустим тестовою программу, а затем шаг за шагом рассмотрим структуру программ в C++:
#include <iostream> using namespace std; int main() { cout << «I love coding!» << endl; return 0; }
#include <iostream> using namespace std;
int main() { cout << «I love coding!» << endl;
return 0; } |
Можете скопировать данный код или напечатать самостоятельно (рекомендуется).
После выполнения программы мы увидим такое окно:
I love coding!
Process returned 0 (0x0) execution time : 0.020 s
Press any key to continue.
Разбор кода
Теперь давайте приступим к разбору написанного нами кода:
- Строка 1:
Здесь мы указываем для C++, какие именно дополнительные функции мы хотим использовать. За это отвечает#include
, гдеiostream
, в нашей программе, требуемый нами функционал. Этот модуль отвечает за ввод и вывод информации на экран и с него. В дальнейших уроках мы научимся использовать другие стандартные модули языка C++. - Строка 2:
Эта команда отвечает за использование области имен переменныхstd
. Это отдельная тема для обсуждения, о которой мы обязательно поговорим. Пока что можете просто запомнить данную строку кода. - Строки 4-8:
Это стандартная функцияmain
. Она запускается автоматически вместе с программой. Весь код, который мы хотим исполнить, мы должны помещать между двумя фигурными скобками{ }
послеint main()
. - Строка 5:
cout << «I love coding!» << endl;
cout << «I love coding!» << endl;
cout
(который относиться к заголовочному файлуiostream
). Операторendl
переводит вывод на новою строку. Как видите, чтобы вывести сроку мы должны обвернуть ее в кавычки. С помощью символов<<
мы отделяем друг от друга различные операторы. - Строка 7:
Она отвечает за код ошибки, который вернет наша программа после своего выполнения. Сам код указывается после оператораreturn
. Код 0 означает что программа отработала корректно без каких-либо ошибок. При возникновении ошибки ваша программа будет возвращать другие значения отличные от нуля. По умолчаний программа возвращает 0. Так что данная строка не обязательна.
Как видите здесь нет ничего сложного, лишь пару шаблонных строк кода. Остальное же, ограничено лишь вашим воображением и знанием языка программирования. Пожалуй основы C++ мы изучили, осталось лишь подитожить все выше перечисленное.
Подводим итоги
Из главных правил хотелось бы выделить следующие:
- каждая инструкция в C++ не может начинаться с цифры или содержать пробелы, а заканчивается точкой с запятой;
- чтобы использовать встроенный функционал, необходимо использовать директиву
#include
; - весь код нужно оборачивать в функцию
main
; - чтобы вывести сообщение мы должны использовать оператор вывода
; - с помощью
return
мы можем вернуть код ошибки нашей программы;
На этом все. Можете пройти тест по пройденному материалу.
Тест «Основы С++»
Пожалуйста, подождите пока страница загрузится полностью.Если эта надпись не исчезает долгое время, попробуйте обновить страницу. Этот тест использует javascript. Пожалуйста, влкючите javascript в вашем браузере.
If loading fails, click here to try again
Пройдите тест и проверьте уровень усвоения материала.
Количество оставшихся вопросов: 5.
В качестве домашнего задания попробуйте вывести два любых сообщения на разных строках. Свои вопросу по уроку задавайте в комментариях.
Поделиться ссылкой:
codelessons.ru
Как программировать на C++
Содержание.
Глава 1. Введение в компьютеры, Internet и World Wide Web 53
1.1. Введение 54
1.2. Что такое компьютер 56
1.3. Организация компьютера 57
1.4. Первые операционные системы 58
1.5. Модели обработки данных: персональная, распределенная и клиент/сервер 59
1.6. Internet и World Wide Web 59
1.7. Машинные языки, языки ассемблера и языки высокого уровня. . 60
1.8. История С и C++ 61
1.9. Стандартная библиотека C++ 62
1.10. История языка Java 64
1.11. FORTRAN, COBOL, Pascal и Ada 64
1.13. Ключевая тенденция в программировании: объектная технология 66
1.14. Типичная среда разработки C++ 67
1.15. Замечания о C++ и этой книге 70
1.16. Тестовый запуск приложения на C++ 72
1.17. Конструирование программного обеспечения. Введение в объектную технологию и UML (обязательный раздел) 78
1.18. Заключение 85
1.19. Ресурсы Web 85
Глава 2. Введение в программирование на C++ 95
2.1. Введение 96
2.2. Первая программа на C++: печать строки текста 96
2.3. Модификация нашей первой программы 101
2.4. Другая программа на C++: сложение целых чисел 102
2.6. Арифметика 109
2.7. Принятие решений: операции равенства и отношений 113
2.8. Конструирование программного обеспечения. Исследование требований к АТМ (необязательный раздел) 118
2.9. Заключение 129
Глава 3. Введение в классы и объекты 139
3.1. Введение 140
3.2. Классы, объекты, элемент-функции и элементы данных 141
3.3. Обзор примеров главы 142
3.4. Определение класса с элемент-функцией 143
3.5. Определение элемент-функции с параметром 147
3.6. Элементы данных, set-функции и get-функции 151
3.7. Инициализация объектов при помощи конструкторов 159
3.8. Размещение класса в отдельном файле 163
3.10. Подтверждение данных посредством set-функций 174
3.11. Конструирование программного обеспечения. Идентификация классов в спецификации требований к АТМ (необязательный раздел) 180
3.12. Заключение 188
Глава 4. Управляющие операторы: часть I 197
4.1. Введение 198
4.2. Алгоритмы 199
4.3. Псевдокод 199
4.4. Управляющие структуры 201
4.5. Оператор выбора if 205
4.6. Оператор выбора if…else 207
4.7. Оператор повторения while 212
4.8. Формулирование алгоритмов: повторение, управляемое счетчиком 214
4.9. Формулирование алгоритмов: повторение, управляемое контрольным значением 221
4.10. Формулирование алгоритмов: вложенные управляющие операторы 233
4.12. Операции инкремента и декремента 239
4.13. Конструирование программного обеспечения. Идентификация классовых атрибутов в системе АТМ (необязательный раздел) 242
4.14. Заключение 247
Глава 5. Управляющие операторы: часть II 265
5.1. Введение 266
5.2. Основы повторения, управляемого счетчиком 267
5.3. Оператор повторения for 269
5.4. Примеры операторов for 274
5.5. Оператор повторения do…while 279
5.6. Оператор множественного выбора switch 281
5.7. Операторы break и continue 292
5.8. Логические операции 294
5.9. Случайная подмена операции равенства (==) присваиванием (=). 299
5.11. Конструирование программного обеспечения. Идентификация состояний объектов и деятельности в системе АТМ (необязательный раздел) 307
5.12. Заключение 313
Глава 6. Функции и введение в рекурсию 325
6.1. Введение 326
6.2. Компоненты программ на C++ 327
6.3. Функции математической библиотеки 329
6.4. Определения функций с несколькими параметрами 331
6.5. Прототипы функций и принудительное приведение аргументов 336
6.6. Заголовочные файлы стандартной библиотеки C++ 339
6.7. Пример: генерация случайных чисел 341
6.8. Пример: азартная игра с использованием перечисления 347
6.9. Классы памяти 351
6.11. Стек вызовов и активационные записи 358
6.12. Функции с пустым списком параметров 363
6.13. Встроенные функции 365
6.14. Ссылки и ссылочные параметры 366
6.15. Аргументы по умолчанию 372
6.16. Унарная операция разрешения области действия 374
6.17. Перегрузка функций 375
6.18. Шаблоны функций 379
6.19. Рекурсия 381
6.20. Пример рекурсии: числа Фибоначчи 385
6.21. Рекурсия в сравнении с итерацией 388
6.22. Конструирование программного обеспечения. Идентификация операций классов в системе АТМ (необязательный раздел) 392
6.23. Заключение 400
Глава 7. Массивы и векторы 423
7.1. Введение 424
7.2. Массивы 425
7.3. Объявление массивов 427
7.4. Примеры с массивами 428
7.5. Передача массивов функциям 446
7.6. Пример: класс GradeBook с массивом для хранения оценок 450
7.7. Линейный поиск в массивах 457
7.8. Сортировка массивов вставкой 459
7.9. Многомерные массивы 461
7.10. Пример: класс GradeBook с двумерным массивом 465
7.11. Введение в шаблон класса vector стандартной библиотеки C++ 472
7.12. Конструирование программного обеспечения. Кооперация объектов в системе АТМ (необязательный раздел) 477
7.13. Заключение 486
Глава 8. Указатели и строки-указатели 505
8.1. Введение 506
8.2. Объявление и инициализация переменных-указателей 507
8.3. Операции указателей 508
8.4. Передача аргументов по ссылке с помощью указателей 512
8.5. Квалификатор const в применении к указателям 516
8.6. Сортировка выборкой с передачей по ссылке 524
8.7. Операции sizeof 527
8.8. Выражения с указателями и арифметика указателей 530
8.9. Взаимосвязь указателей и массивов 534
8.10. Массивы указателей 538
8.11. Пример: моделирование тасования и сдачи карт 540
8.12. Указатели на функцию 546
8.13. Введение в обработку строк-указателей 551
8.13.1. Элементарные сведения о символах и строках 551
8.13.2. Функции обработки строк из библиотеки <cstring> 554
8.14. Заключение 562
Глава 9. Классы: часть I 591
9.1. Введение 592
9.2. Пример: класс Time 593
9.3. Область действия класса и доступ к элементам класса 601
9.4. Отделение интерфейса от реализации 603
9.5. Функции доступа и сервисные функции 604
9.6. Пример: класс Time. Конструкторы с аргументами по умолчанию 607
9.7. Деструкторы 613
9.8. Когда вызываются конструкторы и деструкторы 613
9.9. Пример: класс Time. Скрытая ошибка — возвращение ссылки на закрытый элемент данных 617
9.10. Поэлементное присваивание по умолчанию 620
9.11. Утилизируемость программного обеспечения 622
9.12. Конструирование программного обеспечения. Начало программирования классов системы АТМ (необязательный раздел) 623
9.13. Заключение 631
Глава 10. Классы: часть II 639
10.1. Введение 640
10.2. Константные объекты и константные элемент-функции 641
10.3. Композиция: объекты в качестве элементов класса 651
10.4. Дружественные функции и дружественные классы 658
10.5. Указатель this 662
10.6. Динамическое управление памятью с помощью операций new и delete 668
10.7. Статические элементы класса 670
10.8. Абстракция данных и сокрытие информации 677
10.8.1. Пример: абстрактный тип данных — массив 678
10.8.2. Пример: абстрактный тип данных — строка 679
10.8.3. Пример: абстрактный тип данных — очередь 679
10.9. Классы-контейнеры и итераторы 680
10.10. Классы-посредники 681
10.11. Заключение 684
Глава 11. Перегрузка операций; объекты Array и String 691
11.1. Введение 692
11.2. Основы перегрузки операций 693
11.3. Ограничения на перегрузку операций 695
11.4. Функции-операции как элементы класса и как глобальные функции 697
11.5. Перегрузка операций передачи в поток и извлечения из потока 698
11.6. Перегрузка одноместных операций 702
11.7. Перегрузка двухместных операций 703
11.8. Пример: класс Array 703
11.9. Преобразование типов 716
11.10. Пример: класс String 717
11.11. Перегрузка 730
11.12. Пример: класс Date 732
11.13. Класс string стандартной библиотеки 737
11.14. explicit-конструкторы 741
11.15. Заключение 744
Глава 12. Объектно-ориентированное программирование: наследование 759
12.1. Введение 760
12.2. Базовые и производные классы 762
12.3. Защищенные элементы 765
12.4. Отношения между базовыми и производными классами 766
12.4.1. Создание и тестирование класса CommissionEmployee 767
12.4.2. Создание класса BasePlusCommissionEmployee без наследования 772
12.4.3. Создание иерархии наследования CommissionEmployee — BasePlusCommissionEmployee 777
12.4.4. Иерархия наследования CommissionEmployee — BasePlusCommissionEmployee с защищенными данными 783
12.4.5. Иерархия наследования CommissionEmployee — BasePlusCommissionEmployee с закрытыми данными 790
12.5. Конструкторы и деструкторы в производных классах 798
12.6. Открытое, защищенное и закрытое наследование 806
12.7. Наследование в конструировании программного обеспечения 807
12.8. Заключение 809
Глава 13. Объектно-ориентированное программирование: полиморфизм 815
13.1. Введение 817
13.2. Примеры полиморфизма 818
13.3. Отношения между объектами в иерархии наследования 820
13.3.1. Вызов функций базового класса из объектов производного класса 821
13.3.2. Установка указателей производного класса на объекты базового класса 828
13.3.3. Вызов элемент-функций производного класса через указатели базового класса 829
13.3.4. Виртуальные функции 831
13.3.5. Сводка допустимых присваиваний объектов указателям базового и производного классов 837
13.4. Поля типа и операторы switch 838
13.5. Абстрактные классы и чисто виртуальные функции 839
13.6. Пример. Система начисления заработной платы, использующая полиморфизм 842
13.6.1. Создание абстрактного базового класса Employee 843
13.6.2. Создание конкретного производного класса SalariedEmployee 847
13.6.3. Создание конкретного производного класса HourlyEmployee 849
13.6.4. Создание конкретного производного класса CommissionEmployee 851
13.6.5. Создание косвенного конкретного производного класса BasePlusCommissionEmployee 853
13.6.6. Демонстрация полиморфной обработки 855
13.7. (Дополнительный раздел.) Техническая сторона полиморфизма, виртуальных функций и динамического связывания 860
13.8. Пример. Система начисления заработной платы, использующая полиморфизм и информацию о типе времени выполнения с нисходящими приведениями типа, dynamic_cast, typeid и type_info 864
13.9. Виртуальные деструкторы 868
13.10. Конструирование программного обеспечения. Введение наследования в систему АТМ (необязательный раздел) 869
13.11. Заключение 878
Глава 14. Шаблоны 885
14.1. Введение 886
14.2. Шаблоны функций 887
14.3. Перегрузка шаблонов функции 891
14.4. Шаблоны классов 891
14.5. Нетиповые параметры и типы по умолчанию для шаблонов класса 898
14.6. Замечания о шаблонах и наследовании 899
14.7. Замечания о шаблонах и друзьях 900
14.8. Замечания о шаблонах и статических элементах 901
14.9. Заключение 901
Глава 15. Потоковый ввод/вывод 907
15.1. Введение 909
15.2. Потоки 909
15.2.1. Классические и стандартные потоки 910
15.2.2. Заголовочные файлы библиотеки iostream 911
15.2.3. Классы и объекты потокового ввода/вывода 911
15.3. Потоковый вывод 914
15.3.1. Вывод переменных типа char 914
15.3.2. Вывод символов с помощью элемент-функции put 915
15.4. Потоковый ввод 915
15.4.1. Элемент-функции get и getline 916
15.4.2. Элемент-функции peek, putback и ignore класса istream 919
15.4.3. Безопасный по типу ввод/вывод 920
15.5. Бесформатный ввод/вывод с помощью read, gcount и write 920
15.6. Введение в манипуляторы потоков 921
15.6.1. Основание целых чисел: dec, oct, hex и setbase 921
15.6.2. Точность чисел с плавающей точкой (precision, setprecision) 922
15.6.3. Ширина поля (setw, width) 924
15.6.4. Определяемые пользователем манипуляторы выходного потока 925
15.7. Состояния формата потока и потоковые манипуляторы 927
15.7.1. Конечные нули и десятичные точки (showpoint) 928
15.7.2. Выравнивание (left, right, internal) 929
15.7.3. Заполнение (fill, setfill) 930
15.7.4. Основание целых чисел (dec, oct, hex, showbase) 932
15.7.5. Числа с плавающей точкой: научная и фиксированная нотация (scientific, fixed) 933
15.7.6. Управление верхним/нижним регистрами (uppercase) 934
15.7.7. Спецификация булева формата (boolalpha) 935
15.7.8. Установка и сброс состояний формата с помощью элемент-функции flags 936
15.8. Состояния ошибки потоков 937
15.9. Привязка потока вывода к потоку ввода 939
15.10. Заключение 940
Глава 16. Управление исключениями 951
16.1. Введение 952
16.2. Обзор управления исключениями 953
16.3. Пример: обработка попытки деления на ноль 954
16.4. Когда следует применять управление исключениями 961
16.5. Перебрасывание исключений 962
16.6. Спецификации исключений 964
16.7. Обработка непредусмотренных исключений 965
16.8. Разматывание стека 966
16.9. Конструкторы, деструкторы и управление исключениями 967
16.10. Исключения и наследование 968
16.11. Обработка отказов операции new 969
16.12. Класс auto_ptr и динамическое выделение памяти 973
16.17. Иерархия исключений стандартной библиотеки 976
16.14. Другие методы обработки ошибок 978
16.15. Заключение 979
Глава 17. Обработка файлов 987
17.1. Введение 988
17.2. Иерархия данных 988
17.3. Файлы и потоки 991
17.4. Создание последовательного файла 992
17.5. Чтение данных из последовательного файла 996
17.6. Обновление последовательных файлов 1003
17.7. Файлы произвольного доступа 1003
17.8. Создание файла произвольного доступа 1004
17.9. Произвольная запись данных в файл произвольного доступа 1010
17.10. Последовательное чтение из файла произвольного доступа 1012
17.11. Пример. Программа обработки транзакций 1015
17.12. Ввод/вывод объектов 1021
17.13. Заключение 1022
Глава 18. Класс string и обработка строковых потоков 1033
18.1. Введение 1034
18.2. Присваивание и конкатенация строк 1036
18.3. Сравнение строк 1038
18.4. Подстроки 1041
18.5. Обмен строк 1041
18.6. Характеристики строки 1042
18.7. Поиск в строке подстрок и символов 1045
18.8. Замена символов в строке 1047
18.9. Вставка символов в строку 1049
18.10. Преобразование в строки-указатели C типа char 1050
18.11. Итераторы 1051
18.12. Обработка строковых потоков 1053
18.13. Заключение 1056
Глава 19. Поиск и сортировка 1063
19.1. Введение 1064
19.2. Алгоритмы поиска 1065
19.2.1. Эффективность линейного поиска 1065
19.2.2. Двоичный поиск 1067
19.3. Алгоритмы сортировки 1073
19.3.1. Эффективность сортировки выборкой 1073
19.3.2. Эффективность сортировки вставкой 1073
19.3.3. Сортировка слиянием (рекурсивная реализация) 1074
19.4. Заключение 1081
Глава 20. Структуры данных 1089
20.1. Введение 1090
20.2. Автореферентные классы 1091
20.3. Динамическое распределение памяти и структуры данных 1092
20.4. Связанные списки 1093
20.5. Стеки 1109
20.6. Очереди 1113
20.7. Деревья 1117
20.8. Заключение 1127
Глава 21. Биты, символы, строки C и структуры 1153
21.1. Введение 1154
21.2. Определение структур 1155
21.3. Инициализация структур 1157
21.4. Использование структур с функциями 1158
21.5. typedef 1158
21.6. Пример. Высокоэффективное моделирование тасования и сдачи карт 1159
21.7. Поразрядные операции 1162
21.8. Битовые поля 1171
21.9. Библиотека обработки символов 1175
21.10. Функции преобразования строк-указателей 1181
21.11. Функции поиска из библиотеки обработки строк-указателей 1186
21.12. Функции управления памятью из библиотеки обработки строк-указателей 1191
21.13. Заключение 1195
Глава 22. Библиотека стандартных шаблонов (STL) 1209
22.1. Введение в Библиотеку стандартных шаблонов (STL) 1211
22.1.1. Введение в контейнеры 1213
22.1.2. Введение в итераторы 1218
22.1.3. Введение в алгоритмы 1224
22.2. Контейнеры последовательностей 1226
22.2.1. Контейнер последовательности vector 1227
22.2.2. Контейнер последовательности list 1236
22.2.3. Контейнер последовательности deque 1240
22.3. Ассоциативные контейнеры 1242
22.3.1. Ассоциативный контейнер multiset 1242
22.3.2. Ассоциативный контейнер set 1245
22.3.3. Ассоциативный контейнер multimap 1247
22.3.4. Ассоциативный контейнер тар 1249
22.4. Адаптеры контейнеров 1250
22.4.1. Адаптер stack 1251
22.4.2. Адаптер queue 1253
22.4.3. Адаптер priority_queue 1254
22.5. Алгоритмы 1256
22.5.1. fill, fill_n, generate и generate_n 1257
22.5.2. equal, mismatch и lexicographical_compare 1258
22.5.3. remove, remove_if, remove_copy и remove_copy_if 1261
22.5.4. replace, replace_if, replace_copy и replace_copy_if.1264
22.5.5. Математические алгоритмы 1266
22.5.6. Элементарные алгоритмы поиска и сортировки 1269
22.5.7. swap, iter_swap и swap_ranges 1272
22.5.8. copy_backward, merge, unique и reverse 1273
22.5.9. inplace_merge, unique_copy и reverse_copy 1276
22.5.10. Операции над множествами 1277
22.5.11. lower_bound, upper_bound и equal_range 1281
22.5.12. Кучевая сортировка 1283
22.5.13. min и max 1286
22.5.14. Алгоритмы STL, не представленные в этой главе 1287
22.6. Класс bitset 1289
22.7. Функциональные объекты 1292
22.8. Заключение 1296
22.9. Ресурсы по STL в Internet и Web 1296
Глава 23. Специальные вопросы 1307
23.1. Введение 1308
23.2. Операция const_cast 1308
23.3. Пространства имен 1310
23.4. Ключевые слова для операций 1315
23.5. Элементы класса со спецификатором mutable 1317
23.6. Указатели на элементы класса (.* и ->*) 1319
23.7. Сложное наследование 1321
23.8. Сложное наследование и виртуальные базовые классы 1326
23.9. Заключение 1331
23.10. Последние замечания 1331
Приложения.
Приложение А. Таблица старшинства и ассоциативности операций 1337
Приложение Б. Набор символов ASCII 1341
Приложение В. Основные типы 1343
Приложение Г. Код, унаследованный от C 1345
Г.1. Введение 1346
Г.2. Переадресация ввода/вывода в системах UNIX/LINUX/Mac OS X и Windows 1346
Г.З. Списки аргументов переменной длины 1348
Г.4. Аргументы командной строки 1351
Г. 5. Замечания о компиляции программ из нескольких исходных файлов 1352
Г. 6. Выход из программы с помощью exit и at exit 1354
Г.7. Квалификатор типа volatile 1356
Г. 8. Суффиксы для целых констант и констант с плавающей точкой 1356
Г.9. Обработка сигналов 1357
Г. 10. Динамическое распределение памяти с помощью calloc и realloc 1359
Г.11. Безусловный переход: goto 1360
Г.12. Объединения 1362
Г.13. Спецификации компоновки 1366
Г. 14. Заключение 1366
Приложение Д. Препроцессор 1373
Д.1. Введение 1374
Д.2. Директива препроцессора #include 1375
Д.З. Директива #define: символические константы 1375
Д.4. Директива #define: макросы 1376
Д.5. Условная компиляция 1378
Д.6. Директивы #error и #pragma 1380
Д.7. Операции # и ## 1380
Д.8. Предопределенные символические константы 1381
Д.9. Макрос подтверждения 1381
Д.10. Заключение 1382
Приложение Е. Код учебного примера АТМ 1387
Е.1. Реализация проекта АТМ 1387
Е.2. Класс АТМ 1388
Е.З. Класс Screen 1395
Е.4. Класс Keypad 1397
Е.5. Класс CashDispenser 1398
Е.6. Класс DepositSlot 1400
Е.7. Класс Account 1401
Е.8. Класс BankDatabase 1403
Е.9. Класс Transaction 1407
Е.10. Класс Balancelnquiry 1409
Е. 11. Класс Withdrawal 1411
Е.12. Класс Deposit 1416
Е.13. Тестовая программа ATMCaseStudy.cpp 1420
Е.14. Заключение 1420
Приложение Ж. UML 2. Дополнительные типы диаграмм 1421
Ж.1. Введение 1421
Ж.2. Дополнительные типы диаграмм 1421
Приложение 3. Ресурсы в Internet и Web 1423
3.1. Ресурсы 1423
3.2. Учебные руководства 1425
3.3. FAQ (часто задаваемые вопросы) 1426
3.4. Visual C++ 1426
3.5. Группы новостей 1426
3.6. Компиляторы и инструменты разработки 1427
Техническая литература 1429
Предметный указатель 1435
www.htbook.ru
Как научиться кодить? Подборка ресурсов
Среди современных успешных специалистов есть очень много тех, кто вообще не имеет профильного образования, зато потратил много времени на самообучение и повышение квалификации. Сейчас есть огромная база обучающих материалов в сети, которые предоставляются в открытом доступе, позволяя любому желающему освоить азы программирования, а затем углубить свои знания. Есть сайты, где вам совершенно бесплатно дают практические задания, проводят обучение через видеоконференции и другими удобными для пользователей способами.
Есть лишь одна проблема – большая часть этих материалов не была переведена на русский язык.
Потому, мы решили собрать небольшой список важнейших для самообучения ресурсов, где вы можете получить необходимые знания на русском.
Среди наиболее интересных сайтов можно назвать:
Geek Times. Тут вас ждёт 11 онлайн-курсов в видео-формате. Здесь уже всё распределено по отдельным урокам. Не нужно искать, где начало, а где конец, как на YouTube. Регистрация простая и быстрая. Доступ ко всем материалам бесплатный. Большая часть из них доступна постоянно, но есть такие курсы, которые выходят строго в определённое время.
Geekbrains — основы программирования
Стартует программа 15 января и продолжится в течение двух недель. Еженедельно будет 2 урока, стартующие в 19-00 (часовой пояс +2 GMT).
Будут изучать не только основы и теорию. Вам дадут простые практические задачи по написанию программ на различных языках. Это вводный курс, после которого вы сможете продолжить дальнейшее образование, уже понимая общие принципы и термины.
Если ваш ритм жизни, работа и прочее не позволяют обучаться по расписанию, есть другой видео-курс из 15 занятий. Сможете проходить обучение в удобное для вас время.
Git. Быстрый старт
Отличная обучающая программа для начинающих разработчиков. Вас научат создавать интернет-хранилище кода и пользоваться им.
11 уроков позволят вам разобраться в разработке программ и работать командно. Будет предложено сразу два клиента для GIT. Один консольный, второй более удобный, с пользовательским интерфейсом.
Объектно-ориентированное программирование
По сути, это логическое продолжение курса по основам программирования, в рамках которого вы научитесь работать на языке С#. Первым заданием станет написание всем известной игры «Змейка». Будет применяться система GIT, потому не помешает пройти курс «Быстрый старт», изучающий её работу.
PHP. Быстрый старт
15 увлекательных занятий, в рамках которых найдётся место для теории и практики. Это обучение созданию блога, включающее работу с базами данных и аутентификацией. Учить вас будут с нуля, потому новичкам будет легко ориентироваться.
Вот описание с самого сайта:
«Напишите не просто програмульку, а работающее приложение. После курса можно смело приступать к более детальному погружению в профессию»
С#. Мини-программы
Курс из 10 уроков работы по Windows Forms Net.Framework. Писать придётся на всё том же С#. Практическая часть будет включать написание полезных утилит на этой платформе. Всё обучение бесплатное и в максимально удобной и понятной для новичка форме.
C#. Викторина «Угадай мелодию»
Следующий шаг на пути к освоению языка С#. Это средний уровень сложности обучения. Программы, которые вам нужно будет написать на практике, это уже не простейшие утилитки.
Вас научат думать, как программист. Это весьма важный аспект, напоминающий изучение иностранного языка. Если вы учите английский, учитесь думать на нём. Хотите стать программистом? Думайте, как программист.
Objective C. Приложение TO-DO List
Пишем приложение под iPhone на языке Objective C.
Для прохождения обучения необходим компьютер с операционной системой MacOS. За 16 уроков вас обучат азам программирования, а затем дадут практическое задание – написать To-Do List.
Курс интересный и увлекательный. Сделан таким образом, что с ним стоит ознакомиться не только новичкам.
Android. Быстрый старт
Учитывая распространённость этой операционной системы, уметь писать для неё приложения и игры будет весьма полезно. Перед тем, как начать обучение (курс из 15 уроков), вам придётся изучить основы Java.
С#. Работа с API Вконтакте
VK Api – платформа весьма перспективная для разработчиков. Новичков научат писать приложения для Вконтакте, расскажут про XAML-разметку, пользовательские интерфейсы и привязку данных. Весь курс займёт 11 уроков, в ходе которых вас обучат всему самому необходимому.
WordPress. Личный блог
WordPress, это не просто популярный движок для сайтов, но и самая распространённая платформа для блогов в мире. Вы не разбираетесь в HTML? Не беда. После этого курса вы сможете запросто сверстать свой блог. Это будет не страничка «живого журнала», а вполне самостоятельный ресурс, который вы сможете разместить на подходящем хостинге.
Интересные курсы разработки/тестирования ПО есть на Prometheus.
Основы программирования
Задача этой обучающей программы побороть стереотип о сложности программирования для простых людей. Не забывайте, что все самые известные разработчики ПО когда-то были обычными студентами, читали книги, смотрели видео, и совершенно ничего не понимали.
Вам расскажут об истории компьютеров, научат программировать на популярном языке Python, и много чего ещё. Всё это за 8 уроков. Выложенные занятия доступны 24 часа в сутки.
В скором времени на Prometheus начнётся обучение по гарвардскому курсу CS50. Он считается лучшим в мире, и позволяет ознакомиться с основами программирования всем желающим. В феврале также начнутся бесплатные оффлайн-занятия в 10 украинских городах. В программе принимают участие лучшие ВУЗы страны.
Разработка и анализ алгоритмов
Как разрабатывать, сравнивать, исследовать различные типы алгоритмов. Весь курс занимает не так много времени. Вам нужно просмотреть девять видео-уроков. Начиная с самых азов, вас постепенно приводят к всё более сложным задачам. Еженедельно сложность материала постепенно нарастает. В курс входит структура данных, теория графов.
Основы тестирования ПОЭта обучающая программа создана для людей, не имеющих образования и подготовки в IT-сфере. Вам преподадут базовый курс тестировшика. Авторы этого курса – профессиональные преподаватели из Lviv IT School.
Есть русскоязычные курсы и на Coursera, но там материал не для начинающих.
Андрей Панченко, founder of GreenRedbrandstudio.com
spark.ru
Основы программирования на C#
Существует огромное количество людей, которые интересуются компьютерными технологиями, их еще можно назвать гиками. Рано или поздно такому энтузиасту приходит в голову мысль о создании своих собственных прикладных программ, конечно в этом случае речь не идет о новой операционной системе, скорее о простеньком приложении а-ля математический калькулятор. Многие школьники, которые только начали изучать Visual Basic на уроках информатики, мечтают создать собственную игру и т.п. Конечно можно начать с логарифмической линейки и пройти весь путь матерого программиста, но можно и почти мгновенно окунуться в мир программирования, естественно, не для практического опыта а для ознакомления с целью вовлечения! Существуют языки программирования традиционно наиболее подходящие для обучения, но в процессе освоения обучающихся отпугивает большой, непонятный исходный код примеров программ, сложности с настройкой инструментария, непривычные среды исполнения программы, такие как запуск в интерпретаторе команд. Исходя из этих соображений многие педагоги рекомендуют делать первые шаги с современным и активно развивающимся языком C# или C Sharp, который базируется на программной платформе .NET Framework.
В этой статье я коротко изложу теорию предназначения и работы с языком C Sharp, а так же суть работы с программой для создания проектов на различных языках программирования — Visual Studio. Вы спросите, почему именно Visual Studio, потому что это наиболее оптимальная программа для создания подобных проектов. Надо сказать, что программировать на всех представленных в VS языках можно и в других средах или редакторах, но в качестве IDE для C# программирования явных конкурентов у VS пока не существует или они находятся на «незрелой» стадии развития. Благодаря Visual Studio мы без всяких затруднений можем создать любой интерфейс программы (GUI или UI), любые параметры обработки информации. В этой статье также будет приведен пример работы в этой IDE. А в моих следующих статьях я помогу вам создать свои первые программы — такие как калькулятор, простые игры и многое другое. Но для начала давайте рассмотрим возможности Visual Studio.
Возможности Visual Studio
Приступив к изучению C# мы получаем целую связку готовых для работы решений, многие из них предоставляются бесплатно, например, одна из современных версий Visual Studio. Благодаря простому интерфейсу программы, с ней не тяжело разобраться. С помощью VS мы можем создавать программы на таких известных языках программирования как: C, C++, C#, Visual Basic и т.д. На всех этих языках в VS мы можем создать любое приложение, любого формата — консольное приложение, обычную Windows форму, приложение для Windows Phone смартфона, библиотеку классов и тому подобные приложения. Студия очень удобна тем, что там не нужно прописывать абсолютно все коды элементов в ручном режиме (как в простом текстовом редакторе), в среде уже готовы все коды элементов управления (кнопки, чек-боксы, текстовые окна и тому подобные элементы). Что же из себя представляет C# (произносится как си шарп) непосредственно как язык?
- C# — является наследственным сыном двух мощных языков — C++ и Java,
- C# — очень удобен в использовании (написании программ), у него достаточно простой синтаксис и мощные сигнатуры, благодаря которым мы можем создать базы данных не хуже чем SQL или LINQ,
- C# — сейчас очень распространен и является одним из самых оптимальных языков программирования.
История появления C#
История си шарп — является недавней. Язык появился на свет в июне 2000 г. в результате кропотливой работы большой группы разработчиков компании Microsoft, возглавляемой Андерсом Хейлсбергом (Anders Hejlsberg). Этот человек известен как автор одного из первых компилируемых языков программирования для персональных компьютеров IBM — Turbo Pascal. Наверное, на территории бывшего Советского Союза многие разработчики со стажем, да и просто люди, обучавшиеся в той или иной форме программированию в вузах, испытали на себе очарование и удобство использования этого продукта. Кроме того, во время работы в корпорации Borland Андерс Хейлсберг прославился созданием интегрированной среды Delphi (он руководил этим проектом вплоть до выхода версии 4.0).
Появление языка си шарп и инициативы .NET отнюдь не случайно пришлось на начало лета 2000 г. Именно к этому моменту компания Microsoft подготовила промышленные версии новых компонентных технологий и решений в области обмена сообщениями и данными, а также создания Интернет-приложений (COM+, ASP+, ADO+, SOAP, Biztalk Framework). Несомненно, лучшим способом продвижения этих новинок является создание инструментария для разработчиков с их полноценной поддержкой. В этом и заключается одна из главных задач нового языка. Кроме того Microsoft не могла больше расширять одни и те же инструменты и языки разработки, делая их все более и более сложными для удовлетворения конфликтующих между собой требований поддержки современного оборудования и обеспечения обратной совместимости с теми продуктами, которые были созданы в начале 1990-х гг. во время первого появления Windows. Наступает момент, когда необходимо начать с чистого листа для того, чтобы создать простой, но имеющий сложную структуру набор языков, сред и средств разработки, которые позволят разработчику легко создавать современные программные продукты.
С# и .NET являются той самой отправной точкой. Если говорить упрощенно, то .NET представляет собой новую платформу, новый API для программирования в Windows, а С# ее новый язык, созданный с нуля, для работы с этой платформой, а также для извлечения всех выгод из прогресса сред разработки и нашего понимания принципов объектно-ориентированного программирования в течение последних 20 лет.
Необходимо отметить, что обратная совместимость не потеряна. Существующие программы будут выполняться, а платформа .NET была спроектирована таким образом, чтобы она могла работать с имеющимся программным обеспечением. Связь между компонентами в Windows сейчас почти целиком осуществляется при помощи СОМ. С учетом этого .NET обладает способностью создавать оболочки (wrappers) вокруг существующих компонентов СОМ, так что компоненты .NET могут общаться с ними, и создавать оболочки вокруг компонентов .NET, что позволяет им выглядеть как обычные СОМ-компоненты.
Авторы C# стремились создать язык, сочетающий простоту и выразительность современных объектно-ориентированных языков (вроде Java) c богатством возможностей и мощью C++. По словам Андерса Хейлсберга, C# позаимствовал большинство своих синтаксических конструкций из C++. В частности, в нем присутствуют такие удобные типы данных, как структуры и перечисления (другой потомок C++ — Java лишен этих элементов, что создает определенные неудобства при программировании). Синтаксические конструкции С# унаследованы не только от C++, но и от Visual Basic. Например, в С#, как и в Visual Basic, используются свойства классов. Как и C++ позволяет производить перегрузку операторов для созданных вами типов, Java не поддерживает ни ту, ни другую возможность. С# — это фактически гибрид разных языков, при этом синтаксически не менее (если не более) чист чем Java, так же прост как Visual Basic, и обладает практически той же мощью и гибкостью, что и C++.
Особенности С#
Одной из областей, для которых не предназначен этот язык, являются критичные по времени и высокопроизводительные программы, когда имеет значение, занимать исполнение цикла 1000 или 1050 машинных циклов, и освобождать ресурсы требуется немедленно. C++ остается в этой области наилучшим из языков низкого уровня. В С# отсутствуют некоторые ключевые моменты, необходимые для создания высокопроизводительных приложений, в частности подставляемые функции и деструкторы, выполнение которых гарантируется в определенных точках кода.
- Полный и хорошо определенный набор основных типов.
- Встроенная поддержка автоматической генерации XML-документации.
- Автоматическое освобождение динамически распределенной памяти.
- Возможность отметки классов и методов атрибутами, определяемыми пользователем. Это может быть полезно при документировании и способно воздействовать на процесс компиляции (например, можно пометить методы, которые должны компилироваться только в отладочном режиме).
- Полный доступ к библиотеке базовых классов .NET, а также легкий доступ к Windows API (если это действительно необходимо).
- Указатели и прямой доступ к памяти, если они необходимы. Однако язык разработан таким образом, что практически во всех случаях можно обойтись и без этого.
- Поддержка свойств и событий в стиле VB.
- Простое изменение ключей компиляции.
- Позволяет получать исполняемые файлы или библиотеки компонентов .NET, которые могут быть вызваны другим кодом так же, как элементы управления ActiveX (компоненты СОМ).
- Возможность использования С# для написания динамических web-страниц ASP.NET
Теоретические основы программирования на C# was last modified: Март 3rd, 2016 by Admin
compuzilla.ru
Как перестать программировать на Delphi и начать жить / Habr
Если ты, %username%, едва прочитав заголовок этой статьи, чувствуешьС завидной регулярностью появляются новые статьи как сторонников так и противников Delphi, и неизменно с новой силой разгорается холивар. И если лет 10-15 назад холивар назывался «Delphi vs C++», то теперь фронт переместился вплотную к окопам сторонников бывшего Borland и спор идет уже в рамках «Delphi vs не-Delphi». Даже самые упрямые последователи Н.Вирта иногда задумываются, почему вдруг стали изгоями и чудаками в сообществе программистов?
Если ты, читатель, все же считаешь что ничего кроме Delphi тебе не нужно для работы, сравни хотя бы вилки зарплат для вакансий Delphi и той же Java. Появилось желание изучить что-нибудь кроме Delphi? Я расскажу с чего начать на основе собственного опыта.
Откуда берутся Delphi-программисты
Будучи еще студентом, 7-8 лет назад я устроился в небольшую компанию тестировщиком. Шли годы, я освоил Delphi, на котором писались все десктопные приложения этой компании, стал ведущим программистом. Не считаю себя гуру, однако Delphi и VCL для меня — зачитанная до дырок книга. Все дырки пришлось научиться либо обходить, либо закрывать собственными заплатками. Справедливости ради стоит сказать, что VCL имеет совсем немного откровенных отказов. Многое из того что давным-давно есть в Delphi совсем недавно стало появляться в других платформах, однако на текущий момент у Delphi практически нет никаких преимуществ перед современными средствами разработки. Увы, но это факт.
Некоторое время назад биг-боссы пригласили меня на совещание и уговорили заняться новым проектом. Пришлось отложить любимый Delphi7 в самый темный и пыльный угол жесткого диска и, вооружившись интернетами, срочно осваивать Qt. Из глубин памяти, затянутые паутиной, понемногу всплыли скромные институтские познания С. Помноженные на популярные книги по С++ и документацию по Qt они начали давать первые результаты.
Разрабатывая desktop-приложения на любом языке программирования вы рано или поздно сталкиваетесь с синтаксисом С и элементами С++. Это и документации и примеры и мучительный «перевод» хедеров на любимый язык. С приходом опыта, программист Delphi все же может сносно понимать программы на С++, обилие «звездочек», «анперсандов», символы «==» уже не кажутся бессмысленной кашей и заговором коварного Страуструпа по уничтожению ваших мозговых клеток. В конце концов, начинаешь в некоторых конструкциях видеть определенную красоту. Далее будем предполагать, что читатель умеет сносно понимать С-синтаксис.
Итак, читатель, согласен изучить что-нибудь новое, но что же выбрать?
Путь первый. Самый простой. C#
Из современных языков С#, как ни странно, проще всего воспринимается Delphi-ориентированными мозгами. Чтобы пересесть с Delphi на C# вовсе не обязательно начинать с толстой книжки от Microsoft. Большинство вещей будут интуитивно понятны, остальное есть в MSDN. Все объекты, как и положено, являются указателями, методы и свойства доступны всегда через «точечку», никаких вам «->». Автоматическая сборка мусора, конечно, вызовет укоризненное покачивание головой у настоящего Delphiста, однако к хорошему быстро привыкаешь. Стоит отметить, что программировать на C# можно не только в Visual studio, есть прекрасная IDE SharpDevelop. Она бесплатна
Главное, не забывайте, оператор сравнения на равенство это двойное равно «==».
Путь второй, тернистый. С++
Сравнивая Delphi и С++ можно провести такую аналогию: Delphi это сильное тоталитарное государство. Исповедуй его идеологию — и будешь жить долго и счастливо и даже достигнешь определенных высот. Делать карьеру легко и приятно, путь предначертан. Но стоит сделать шаг в сторону — расстрел!
С++ — это демократия. Хочешь — сделай так, хочешь — эдак. Или наплюй и сделай по-своему. Но за свои действия отвечай, пожалуйста, сам.
Тут уже придется почитать специальную литературу. Лично я всегда предпочитаю книги для начинающих. Важно твердо разобраться именно в базовых вещах, тогда до высшего пилотажа быстрее дойдете сами. В данный момент дочитываю «C++ для начинающих» Герберта Шилдта. Если вы действительно опытный Delphi-программист, первые страниц сто можно полистать не очень внимательно. Особое внимание следует уделить работе с указателями и объектной модели.
Теперь надо выбрать IDE. Можно взять проверенную Visual Studio, я же выбрал Qt. Он бесплатен, кроссплатформеннен, имеет богатый набор классов, прекрасную IDE, а также широкую поддержку в сообществе. Качаем Qt, ставим, всё! Надо отдать должное, Qt не беспокоит начинающего программиста лишними вопросами, имеет встроенную документацию, примеры. Все как у дорогостоящих коммерческих IDE. Мышкой программировать уже не получится, хотя может это и к лучшему.
Первое, что не укладывается в Delphi-ориентированный мозг, это отсутствие примитивного типа string. К этому сложно привыкнуть, но это так. Во-вторых, чтобы использовать привычный нам подход к работе с объектами, придется явно объявлять их как указатели. В третьих, интерфейс модулей обычно хранится в отдельных заголовочных файлах. Это кажется избыточным на первый взгляд, однако в чужой монастырь со своим уставом, как известно, не ходят. Это только первые впечатления. Переварив и осмыслив их, вооружаемся книгами, мануалами, гуглами и начинаем переворачивать свое представление о программировании. Qt вам в помощь.
Путь третий. Извилистый. Web
Хотите открыть новые горизонты — добро пожаловать в web-программирование. Здесь царит анархия. Десятки технологий, сотни реализаций, тысячи взаимоисключающих рекомендаций. Здесь нет среды разработки, в которой можно было бы сделать весь проект. Впрочем, попробовать стоит, это интересно. Однако, не смотря на обилие и простоту большинства web-технологий сделать качественный продукт ничуть не проще, чем настольное приложение.
Заключение
Что вы выберете, решать конечно вам. Даже если вы останетесь верны Delphi — это ваш выбор, и не самый худший, надо сказать. В любом случае, читатель, помни: качество продукта определяется твоими способностями и навыками и только в самую последнюю очередь зависит от инструментов.
PS: За что я все-таки действительно люблю делфи, так это за быструю компиляцию:
habr.com
Женя
02 апр 2019 09:55
Добрый день, я зашёл по ссылке в вкладке Что нужно, чтобы начать программировать на Си-шарп? и у меня вышло меню, нельзя ли подробнее написать, что нужно скачать у меня windows 10? |
Alex — MANOWAR
01 мар 2019 11:50
Добрый день! Хочу сказать, что Visual Studio достаточно «тяжелая» программа для многих нетбуков и ноутбуков. Предпочитаю пользоваться SharpDevelop 5.1, рекомендую, она намного легче и предоставляет тот же функционал. |
bzinel
28 авг 2018 15:33
а Visual Studio Community 2017 подойдет вместо Visual Studio Community 2013? |
Inferno
04 авг 2017 00:35
Если у вас в Visual Studio 2017 нет консольных приложений и debug зайдите в инсталлер и установите нужные компоненты . |
Doom
19 июл 2017 12:01
Сколько можно задавать одни и тот-же вопрос. |
Максим
13 июн 2017 20:03
Можно ли пользоваться версией 2017 года? Если нет, то скиньте 2013 версию. |
Артем
07 июн 2017 08:02
Да уж.Чтобы начать программировать, нужно 5 ГБ, а это как-бы не выгодно. Тем более, так много места у меня нету….. |
hacker
21 мар 2017 19:58
Нужно обязательно пользоваться Visual Studio Community 2013 года? Или можно и 2017 года? |
евгений
27 ноя 2016 08:59
А вот английская версия поставилась. спасибо |
евгений
27 ноя 2016 08:54
попробовал скачать вс 2013 4 дополнение. на русском. вышла следующая ошибка: Update 4 does not apply, or is blocked by another condition on your computer.. у меня вин 10. думаю из за винды не ставиться. попробовал с отключенным антивирусом и фаерволом. та же истоирия. что посоветуете? может все же возможно использовать 2015 версию? |
snowrussia
15 авг 2016 08:46
Maks 12 авг |
snowrussia
14 авг 2016 13:45
ещё для линукса конечно-же Monodevelop … который кстати встроен в Unity3d |
snowrussia
14 авг 2016 12:34
для лини и оси юзаем Visual Studio Code |
Maks
12 авг 2016 11:06
Здраствуйте. Пробую установить VS 2013 на Win 7 Ultimate. Выдает ошибку, что ВС не подходит на мою ОС и что у меня нету Експлорера 10 версии. Ну ладно. експлорер и скачать можно, но вот как установить Вижуал Стадио, если оно на операционну систему гонит? |
Юрец 000
21 июл 2016 17:35
почему столько вопросов , программа проста в использовании не сложно найти |
machito11
19 июн 2016 20:14
У меня стоит VS 2015. Можно ли воспользоватся ей? |
Сергей
15 июн 2016 11:17
Visual Studio 2015 Enterprise сойдет или именно 2013 нужен? |
6eJIblu_BoJIK
04 апр 2016 13:48
Ребята, у кого проблемы с установкой студии на различные операционные системы, в особенности на 8 (8.1), настоятельно рекомендую ПОЛНОСТЬЮ отключить UAC (User Accounts Control), ибо эта фича ОС на подсистемном уровне фильтрует все ваши действия, и большинство из них эту фильтрацию не проходят, ну сделали майки такую защиту в ОС своих новых, ничего тут не поделаешь. |
maelnor
13 мар 2016 12:38
Роман 29 фев 2016 11:47, от хрюшки уже потихоньку все отказываются. на данный момент Семерка — самая рентабельная система. она поддерживает как старые, так и новые функции системы. хрюшка — только старые, Восьмерка — только новые. посему большой процент людей живет на Семерке… |
Роман
29 фев 2016 11:47
У меня на хр не устанавливается что мне делать пишет win не является и.т.д |
Donate
19 фев 2016 19:48
на win7 что установится |
Евгений
10 янв 2016 23:36
Не морочьте голову все есть |
Анна
10 янв 2016 16:17
Да, там 2013 нет, а 2015 на компе есть, но не открывается. |
Yurets9
26 дек 2015 20:42
Слава, вот тут в списке ниже есть 13-я студия https://www.visualstudio.com/downloads/download-visual-studio-vs |
слава
17 дек 2015 18:26
а где взять 2013-ую? На офф. сайте 2015 |
Максим
24 сен 2015 21:46
Gmes |
Gmes
24 сен 2015 03:54
У меня Мак, могу ли я использовать Unity чтобы практиковать ваши уроки? |
Mikhail
22 июн 2015 14:04
Я установил Visual Studio Community 2013. Программа из 1-го урока hello world запустилась без ошибок. |
Максим
22 июн 2015 10:02
Алексей |
Алексей
22 июн 2015 00:07
У меня не устанавливается. Пишет «Не удается выполнить установку Visual Studio в режиме совместимости». Win 8.1 |
Максим
04 июн 2015 21:47
Владимир |
Владимир
04 июн 2015 12:36
Можно ли пользоваться версией 2013? |
greenwayfarer
01 июн 2015 19:10
окей, ясно, а есть ли какие-то ограничения для несовершеннолетних ? |
greenwayfarer
01 июн 2015 19:06
А что, чтобы установить , обязательно регистрироваться на сайте MS::? |
Максим
25 май 2015 22:54
Станислав |
Станислав
25 май 2015 20:42
А меня не забанят при регистрации на сайте c Visual Studio 2010 Express из-за пиратской винды? |
Максим
11 мар 2015 09:24
ARRAY com#3 — Отличаются. Учитесь гуглить: «A comparison between the different Visual Studio Express editions can be found at Visual Studio Express. The difference between Windows and Windows Desktop is that with the Windows edition you can build Windows Store Apps (using .NET, WPF/XAML) while the Windows Desktop edition allows you to write classic Windows Desktop applications. It is possible to install both products on the same machine. Visual Studio Express 2010 allows you to build Windows Desktop applications. Writing Windows Store applications is not possible with this product.» |
ARRAY com#3
10 мар 2015 20:13
ОТЛИЧАЕТСЯ ЛИ Visual Studio 2013 Express от 2010-ой ? Обе были(2013-ая и сейчас есть), оличий не нашёл 🙁 ! |
Максим
02 мар 2015 15:38
Dima — Загуглил за вас, на stackoverflow пишут такое: «I recently purchased a MacBook Air (mid-2011 model) and was really happy to find that Apple officially supports Windows 7. If you purchase Windows 7 (I got DSP), you can use the Boot Camp assistant in OSX to designate part of your hard drive to Windows. Then you can install and run Windows 7 natively as if it were as Windows notebook. I use Visual Studio 2010 on Windows 7 on my MacBook Air (I kept OSX as well) and I could not be happier. Heck, the initial start-up of the program only takes 3 seconds thanks to the SSD. As others have mentions, you can run it on OSX using Parallels, etc. but I prefer to run it natively.» |
Dima
01 мар 2015 15:51
а как на счет OS X? |
Максим
23 фев 2015 17:52
Владимир |
Владимир
23 фев 2015 12:27
Можно ли писать программы на С# с помощью Андроид-смартфона? Будет ли на нем работатьMicrosoft Visual C# 2010 Express? |
Максим
19 янв 2015 13:57
Lol |
Lol
18 янв 2015 19:48
у меня не устанавливается прога на win8 |
mycsharp.ru
Как начать программировать на C++, подробная инструкция
C++ — язык высоко уровня, на котором работают высоконагруженные системы. На нём пишутся драйверы, игры и многий другой софт. Надо сразу уточнить, что выучить его быстро не получится. В этой статье будет рассказано как начать программировать на C++.
Основы
Чтобы начать писать серьёзные программы нужно выучить основы языка C++, его синтаксис и научиться писать основные алгоритмы, понимать как они работают и создавать собственные. Существует не мало порталов, где учат программировать. Мы будем рассматривать бесплатные решения, так как реальный опыт подтверждает их эффективность, а учеба без материальных вложений доступна всем.
Установка IDE — программы, где происходит работа с кодом
В любом случае понадобится IDE. Эта среда подскажет, где закралась синтаксическая ошибка в коде, упрощает процесс написания программ.
Проверенные программы:
- Windows: Visual Studio 2017
- Mac: Xcode
- Linux: Code::Blocks
Вы можете использовать любую программу, пробуйте разные и найдите лучшую для себя. Инструкции по установке без труда можно найти в интернете. Для программирования с компьютера, где нет этих программ можно использовать онлайн-компиляторы, такие как ideone.com.
Курсы
Первым делом стоит поступить на курс, созданный факультетом компьютерных наук Национального исследовательского университета Высшая школа экономики (НИУ ВШЭ) на stepic.org. Лектор — Михаил Густокашин. (https://stepik.org/course/363) Курс идеально подойдет новичкам. Ваша деятельность будет разделена на теорию и практику. В курсе доступны бесплатные видео-уроки и письменный конспект.
Понятными словами Вам расскажут основы, а после предложат решить несколько задач, сложность которых увеличивается от урока к уроку. При появлении вопросов, их можно задать авторам в комментарии. Решения проверяются автоматической системы. После прохождения курса на 80% Вам дадут сертификат, а если пройдете курс до конца, получите сертификат с отличием. Вы получите базу знаний, с которой сможете принимать участие в соревнованиях по программированию — повышать свой навык.
Решайте задачи на informatics.mccme.ru. Абсолютно бесплатно доступна база задач, олимпиад. У некоторых курсов есть конспекты. Решения принимаются автоматически. К сожалению, на этом сайте вряд ли получится получить помощь в решении задач, но на многие есть разборы, которые подскажут верный путь к решению.
Практические задания
Во время прохождения курсов и после Вы можете тренироваться на практике и попробовать написать программу, которая будет полезна для Вас. Примером может стать будильник, который в определенное время запустит воспроизведение музыки, можете попробовать занять робототехникой, есть много информации в интернете на эти темы. Использование готового кода в практических заданиях допускается, но не стоит искать решения задач из курсов. Используйте публичные проекты, «склеивайте» их в свой с изменениями и пользуйтесь на здоровье!
Следуя этим советом можно начать программировать уже сейчас, Уже через пару дней учебы Вы сможете написать что-то интересное для себя. Возможно, эта статья изменит Вашу жизнь. Уверен, в лучшую сторону!
ks-intel.ru