Перехід з Delphi (Pascal)

Думаю, досить велика частина відвідувачів сайту почали вивчення програмування саме з мови Delphi. Вона вельми поширена, її рекомендують для вивчення, наводячи в якості аргументу легке розуміння коду, крім того її викладають в школах. У певному сенсі вона краще для новачків . проте ми пропонуємо перейти на С++. Зараз швиденько пройдемося по синтаксису, порівнюючи його в мовах Delphi і C++. Для більшого розуміння коду ми перепишемо програму визначення суми всіх позитивних елементів в масиві з Delphi на C++.

Спочатку напишемо код на Delphi

Зверніть увагу, що ми не розглядаємо функції, процедури, перелік та багато інших стандартних фіч, так як мета цієї статті – початкове знайомство вас, як програмістів на Delphi, з мовою програмування C++.

Почнемо з головного. Операторні дужки в C ++ позначаються фігурними дужками -, які відкриваються та закриваються { і }. Давайте ж замінимо їх! Так само можна прибрати символи точки і крапки з комою, оскільки поки що вони не грають жодної ролі.

Тепер будемо перекладати програму зверху вниз. Перша конструкція, яка буде перекладена – program sumOfArr. У C ++ немає подібної команди, тому цей рядок можна записати як коментар: // Програма, яка підраховує суму всіх додатніх чисел в масиві

Далі йде блок var. Отут і починається найцікавіше. Для C++ не має значення де саме оголошувати змінну, головне, щоб на момент її використання вона вже була визначена. Так що блоку var як такого не існує, хоча і можна зробити щось на кшталт (але навіщо?). Оголосимо змінну sum вже на початку програми, після першої фігурної дужки (хоча її можна оголосити і поза нею, але це буде розглянуто в основному курсі). Тип integer ми так само замінимо на більш раціональну назву: int. Навіщо писати більше? 🙂 Якщо в Delphi було написано sum: integer, то в C++ ім’я змінної і її тип міняються місцями int sum. Пам’ятайте, як нам довелося її обнуляти вже в програмі? Так ось, її можна обнулити і під час оголошення. Це робиться звичайним знаком присвоювання =. До речі, знак := замінюється на = і я вважаю, що це набагато логічніше. Повернемося до змінної sum. Обнулення під час визначення пишеться таким чином: int sum = 0. Масив ж оголошується набагато коротше, ніж у Delphi: int arr [10]. Ви подумаєте: “де ж початок нумерації?”. У C++ все масиви нумеруються з нуля. Звичайно, можна зробити щось на кшталт масивів в Delphi. Але це будемо розглядати в головному курсі. В квадратні лапки ми поставили саме цифру 10, оскільки це число вказує кількість елементів в масиві, а не номер останнього. Тепер подивимося на дещо змінену програму:

НЕ менш цікавою є будова команди for. У C++ цикл for є більш потужним інструментом, ніж в Delphi. Цикл for має аж три блоки: блок ініціалізації, умови і блок зміни змінної. У першому блоці ми надаємо початкові значення змінним і, якщо треба, оголошуємо їх як нові. У другому блоці міститься умова виходу з циклу. У третьому блоці змінюється значення змінної циклу. А виглядає все це так: for (int i = 0; i < 10; i++). Оператор ++ - це той же самий inc(i). Оператор розгалуження if начебто ідентичний оператору if в Delphi, проте є одна відмінність: умова обов'язково повинна бути в дужках: if (arr [i] > 0) ... else ... Зверніть увагу, що слова do і then не вживаються, або мають зовсім інше призначення. Знову поглянемо на отриманий код:

Чудово! Залишилося лише з'ясувати дрібниці: як все ж таки працює введення / виведення в C++ і що ще необхідно для роботи цієї програми. Можливостей для введення і виведення є декілька, тому розглянемо найпростіший з них: функції cin і cout. Хоч вони і є функціями, але приймають параметри дуже дивно. Це відбувається за допомогою операторів >> і <<. Головне запам'ятати, що у функціях введення / виведення замість оператора "кома" використовуються поєднання символів >> і <<, оскільки при використанні коми буде прочитана / виведена лише перша змінна. Так само в функції cout можна вивести кінець рядка за допомогою оператора endl. Отримаємо такий код:

Отже, все практично готово, залишилося лише підключити бібліотеку iostream і активувати використання простір імен std. Не бійтеся, якщо поки не знаєте про що йдеться, в основному уроці все докладно і зрозуміло описано. Додамо потрібні рядки перед першою фігурною дужкою: #include і using namespace std.

А весь головний код закинемо в тіло функції main. Саме ця функція і є базис кожної програми на C++. В результаті отримаємо нашу першу робочу програму на C++. Круто? Дійсно круто!