Введение
В этом практическом занятии (лабораторной работе) вы узнаете о фундаментальной структуре программы на C++, изучите основные элементы синтаксиса и поймете процесс выполнения. Эта практическая работа предназначена для начинающих и даст вам прочный фундамент для написания и понимания кода на C++ в среде WebIDE.
Настройка вашей первой программы на C++
Начнем с создания и изучения простой программы на C++. Это поможет вам понять основную структуру и компоненты программы на C++.
- В WebIDE слева должна быть панель файлового менеджера. Щелкните правой кнопкой мыши в области файлового менеджера и выберите "Новый файл".
- Назовите новый файл
hello.cppи нажмите Enter. - Новый файл должен открыться в редакторе. Если этого не произошло, дважды щелкните по
hello.cppв файловом менеджере, чтобы открыть его. - В редакторе введите следующий код на C++:
#include <iostream>
using namespace std;
int main() {
cout << "Hello, C++!" << endl;
return 0;
}

Разберем этот код:
#include <iostream>: Это директива препроцессора, которая включает библиотеку ввода-вывода. Это как сказать C++, что мы хотим использовать инструменты для операций ввода и вывода.using namespace std;: Эта строка позволяет нам использовать элементы стандартной библиотеки без префиксаstd::. Это как сказать "Я хочу использовать стандартный набор инструментов без необходимости каждый раз указывать, откуда они берутся".int main() {... }: Это главная функция, с которой начинается выполнение программы. Каждая программа на C++ должна иметь функциюmain.intпередmainуказывает, что эта функция вернет целочисленное значение.cout << "Hello, C++!" << endl;: Эта строка выводит текст "Hello, C++" в консоль.coutиспользуется для вывода,<<- это оператор вывода, аendlдобавляет новую строку после текста.return 0;: Это означает, что программа выполнилась успешно. Возвращаемое значение 0 обычно используется для сигнализации о том, что все прошло как ожидалось.
Теперь скомпилируем и запустим нашу программу:
Найдите панель терминала или консоли в вашем WebIDE. Если ее нет, вам, возможно, нужно открыть ее (обычно есть опция "Новый терминал" в меню "Терминал" или "Вид").
В терминале убедитесь, что вы находитесь в правильной директории. Вы можете использовать команду
pwdдля проверки текущей директории иcdдля перехода, если это необходимо.Чтобы скомпилировать программу, введите следующую команду в терминале:
g++ -o hello hello.cppЧтобы запустить скомпилированную программу, введите:
./hello
Вы должны увидеть вывод: Hello, C++!

Если вы столкнулись с ошибками, проверьте код на наличие опечаток. Помните, что C++ чувствителен к регистру, поэтому cout отличается от Cout или COUT.
Понимание переменных и типов данных
На этом этапе мы рассмотрим переменные и базовые типы данных в C++. Переменные используются для хранения данных в программе, и понимание различных типов данных является важным аспектом эффективного программирования.
- В WebIDE создайте новый файл с именем
variables.cpp. Для этого щелкните правой кнопкой мыши в области файлового менеджера и выберите "Новый файл". - Откройте
variables.cppв редакторе и введите следующий код:
#include <iostream>
#include <string>
using namespace std;
int main() {
// Integer variable
int age = 25;
// Floating-point variable
float height = 1.75;
// Character variable
char grade = 'A';
// Boolean variable
bool isStudent = true;
// String variable (C++ string class)
string name = "Alice";
cout << "Name: " << name << endl;
cout << "Age: " << age << " years" << endl;
cout << "Height: " << height << " meters" << endl;
cout << "Grade: " << grade << endl;
cout << "Is a student: " << (isStudent? "Yes" : "No") << endl;
return 0;
}
Разберем различные типы данных, использованные в коде:
int: Используется для целых чисел. В нашем примереage- это целочисленная переменная.float: Используется для чисел с плавающей точкой. Мы используем его для переменнойheight. Также есть типdouble, который обеспечивает большую точность, но требует больше памяти.char: Используется для хранения отдельных символов. Переменнаяgradeимеет типchar.bool: Используется для значенийtrue(истина) илиfalse(ложь).isStudent- это булева переменная.string: Используется для работы с текстом. Обратите внимание, что мы подключаем<string>в начале файла, чтобы использовать этот тип.
Программа демонстрирует, как объявлять переменные различных типов и как выводить их с помощью cout.
Обратите внимание на строку cout << "Is a student: " << (isStudent? "Yes" : "No") << endl;. Здесь используется тернарный оператор ?:, который является сокращенной формой условного оператора if-else. Это означает "если isStudent равно true, вывести 'Yes', в противном случае вывести 'No'".
Для компиляции и запуска программы:
В панели терминала WebIDE убедитесь, что вы находитесь в правильной директории.
Скомпилируйте программу с помощью команды:
g++ -o variables variables.cppЗапустите программу с помощью команды:
./variables
Если вы увидите какие-либо ошибки, проверьте код на наличие опечаток. Частыми ошибками являются отсутствие точек с запятой в конце инструкций или несоответствие кавычек.
Управляющие структуры - условные операторы и циклы
Контрольные структуры позволяют управлять потоком выполнения программы. Изучим условные операторы и циклы, которые являются фундаментальными для создания динамических и отзывчивых программ.
- В WebIDE создайте новый файл с именем
control.cpp. - Откройте
control.cppв редакторе и введите следующий код:
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Enter a number: ";
cin >> number;
// If statement
if (number > 0) {
cout << "The number is positive." << endl;
} else if (number < 0) {
cout << "The number is negative." << endl;
} else {
cout << "The number is zero." << endl;
}
// For loop
cout << "Counting from 1 to 5:" << endl;
for (int i = 1; i <= 5; i++) {
cout << i << " ";
}
cout << endl;
// While loop
int count = 5;
cout << "Countdown:" << endl;
while (count > 0) {
cout << count << " ";
count--;
}
cout << endl;
return 0;
}
Разберем используемые контрольные структуры:
Условный оператор if-else: Он позволяет программе принимать решения. Структура выглядит так:
if (condition) { // code to execute if condition is true } else if (another condition) { // code to execute if this condition is true } else { // code to execute if no conditions are true }Цикл for: Используется, когда известно, сколько раз нужно повторить блок кода. Структура:
for (initialization; condition; update) { // code to repeat }В нашем примере
int i = 1инициализирует переменную цикла,i <= 5- условие продолжения цикла, аi++обновляет переменную цикла после каждой итерации.Цикл while: Используется, когда нужно повторять блок кода, пока выполняется определенное условие. Структура:
while (condition) { // code to repeat }В нашем примере цикл продолжается, пока
count > 0.
Для компиляции и запуска программы:
В панели терминала WebIDE убедитесь, что вы находитесь в правильной директории.
Скомпилируйте программу с помощью команды:
g++ -o control control.cppЗапустите программу с помощью команды:
./control
При запуске программы она попросит вас ввести число. Попробуйте разные числа (положительные, отрицательные, ноль), чтобы увидеть, как работает условный оператор. Затем программа продемонстрирует циклы for и while независимо от введенного числа.
Если вы столкнетесь с ошибками, проверьте на наличие распространенных проблем, таких как отсутствие точек с запятой, несоответствие фигурных скобок или опечатки в именах переменных.
Функции в C++
Функции - это блоки кода, выполняющие определенные задачи. Они помогают организовать код, сделать его повторно используемым и легким для понимания. Создадим программу, которая демонстрирует использование функций.
- В WebIDE создайте новый файл с именем
functions.cpp. - Откройте
functions.cppв редакторе и введите следующий код:
#include <iostream>
using namespace std;
// Function to calculate the square of a number
int square(int num) {
return num * num;
}
// Function to check if a number is even
bool isEven(int num) {
return num % 2 == 0;
}
// Function with default parameter
void greet(string name = "Guest") {
cout << "Hello, " << name << "!" << endl;
}
int main() {
int number = 7;
cout << "Square of " << number << " is: " << square(number) << endl;
if (isEven(number)) {
cout << number << " is even." << endl;
} else {
cout << number << " is odd." << endl;
}
greet(); // Uses default parameter
greet("Alice"); // Provides a name
return 0;
}
Разберем компоненты этой программы:
Определение функции: Функция определяется с типом возвращаемого значения, именем и параметрами (если они есть). Например:
int square(int num) { return num * num; }Эта функция принимает целое число
num, возводит его в квадрат и возвращает результат.Функция с булевым возвращаемым значением:
bool isEven(int num) { return num % 2 == 0; }Эта функция возвращает
true, если число четное, иfalseв противном случае. Оператор%возвращает остаток от деления.Функция с параметром по умолчанию:
void greet(string name = "Guest") { cout << "Hello, " << name << "!" << endl; }Эта функция имеет параметр по умолчанию. Если при вызове функции не передается аргумент, будет использовано значение "Guest".
Вызовы функций: В функции
main()мы показываем, как вызывать эти функции и использовать их возвращаемые значения.
Для компиляции и запуска программы:
В панели терминала WebIDE убедитесь, что вы находитесь в правильной директории.
Скомпилируйте программу с помощью команды:
g++ -o functions functions.cppЗапустите программу с помощью команды:
./functions
Эта программа демонстрирует, как функции можно использовать для организации кода в управляемые, повторно используемые части. Если вы столкнетесь с ошибками, проверьте на наличие опечаток, отсутствие точек с запятой или несоответствие фигурных скобок. Также убедитесь, что вы используете правильные имена функций при их вызове.
Основные операции ввода и вывода
На этом последнем этапе мы создадим программу, которая демонстрирует различные операции ввода и вывода в C++. Понимание того, как взаимодействовать с пользователями через ввод и вывод, является важным аспектом создания интерактивных программ.
- В WebIDE создайте новый файл с именем
io_operations.cpp. - Откройте
io_operations.cppв редакторе и введите следующий код:
#include <iostream>
#include <iomanip> // For setprecision
#include <string> // For string operations
using namespace std;
int main() {
string name;
int age;
double height;
// Input operations
cout << "Enter your name: ";
getline(cin, name); // Reads a full line, including spaces
cout << "Enter your age: ";
cin >> age;
cout << "Enter your height in meters: ";
cin >> height;
// Output operations
cout << "\n--- Your Information ---\n";
cout << "Name: " << name << endl;
cout << "Age: " << age << " years" << endl;
// Setting precision for floating-point output
cout << fixed << setprecision(2);
cout << "Height: " << height << " meters" << endl;
// Using width and fill for formatted output
cout << "\nFormatted Age Display:\n";
cout << setw(10) << setfill('.') << left << "Age" << setw(5) << right << age << endl;
return 0;
}
Разберем ключевые компоненты этой программы:
Дополнительные заголовочные файлы:
#include <iomanip>: Этот заголовочный файл предоставляет манипуляторы ввода-вывода, такие какsetprecisionиsetw.#include <string>: Этот заголовочный файл используется для операций с строками, хотя часто он неявно включается с<iostream>.
Операции ввода:
getline(cin, name): Эта функция считывает целую строку ввода, включая пробелы. Она полезна для считывания имен или предложений.cin >> age: Эта операция считывает одно значение в переменнуюage. Оператор>>используется для ввода.
Операции вывода:
cout << "Text" << variable << endl: Это базовая операция вывода. Оператор<<используется для вывода.endl: Этот манипулятор добавляет новую строку и очищает буфер вывода.
Форматирование вывода:
cout << fixed << setprecision(2): Эта команда устанавливает вывод чисел с плавающей точкой с двумя знаками после запятой.setw(10): Эта функция устанавливает ширину следующего поля вывода в 10 символов.setfill('.'): Эта функция устанавливает символ заполнения '.' для пустых мест в поле.leftиright: Эти манипуляторы устанавливают выравнивание вывода внутри поля.
Для компиляции и запуска программы:
В панели терминала WebIDE убедитесь, что вы находитесь в правильной директории.
Скомпилируйте программу с помощью команды:
g++ -o io_operations io_operations.cppЗапустите программу с помощью команды:
./io_operations
При запуске программы она попросит вас ввести ваше имя, возраст и рост. После ввода этой информации программа отобразит ее в отформатированном виде.
Общие проблемы, на которые стоит обратить внимание:
- Если ваша программа пропускает ввод имени, это, вероятно, из-за символа новой строки, оставшегося в буфере ввода. Чтобы исправить это, вы можете добавить
cin.ignore();передgetline(cin, name);. - Убедитесь, что вы вводите корректные числа для возраста и роста. Ввод нечисловых значений может привести к непредвиденному поведению.
Эта программа демонстрирует, как обрабатывать различные типы ввода, включая строки с пробелами, и как форматировать вывод для лучшей читаемости. Эти навыки являются важными для создания удобных для пользователя, интерактивных программ на C++.
Резюме
В этом практическом занятии вы получили практический опыт работы с основными концепциями программирования на C++ в среде WebIDE. Вы научились:
- Создавать, компилировать и запускать базовую программу на C++ в WebIDE.
- Использовать переменные и различные типы данных в C++.
- Реализовывать контрольные структуры, такие как условные операторы и циклы.
- Создавать и использовать функции для организации и повторного использования кода.
- Выполнять базовые операции ввода и вывода, включая форматирование вывода.
Эти концепции являются основой программирования на C++ и будут важны при переходе к более сложным темам. Помните, что практика - ключ к успеху в программировании. Попробуйте изменить эти программы или создать новые, чтобы закрепить свои знания. Не бойтесь экспериментировать и совершать ошибки - отладка является важным навыком, который нужно развивать.
По мере продвижения в изучении C++ вы откроете для себя более продвинутые возможности языка, такие как объектно-ориентированное программирование, шаблоны и работа со стандартной библиотекой. Продолжайте изучать и удачного программирования!
Использование WebIDE для разработки на C++ может быть очень удобным, особенно для начинающих. Он предоставляет стабильную среду и устраняет многие проблемы с настройкой. Однако по мере развития вы, возможно, захотите изучить локальные среды разработки и интегрированные среды разработки (IDE), такие как Visual Studio, CLion или Code::Blocks, для доступа к более продвинутым функциям и более быстрого времени компиляции.



