Статья Автор: Лебедев Дмитрий

Конспект 1. Первая программа, арифметические выражения.

Оглавление

Часть 1 Часть 2 Часть 3 Часть 4
Задачи      
       

C++_Первая программа. Часть 1

Приветствуем на курсе по изучению языка программирования C++!
Несмотря на то, что C++ появился в 1983 году, он активно развивается и остаётся очень популярным по сей день. Многие современные приложения написаны на C++. Язык C++ также полезен для участия в олимпиадах по информатике, так как на нём можно написать код, который будет работать быстрее, чем аналогичный, написанный на некоторых других языках программирования. В то же время синтаксически C++ сложнее многих языков программирования.
Данный курс состоит из модулей, в каждом модуле есть несколько видеолекций. К каждой лекции прилагается конспект. Также в модулях вам предлагается решить несколько задач и упражнений. Все упражнения проверяются с помощью автоматической системы. В большинстве упражнений от вас потребуется написать программу, которая будет скомпилирована на сервере проверяющей системы и выполнена на некотором наборе тестов, скрытом от участников курсов. Программы будут приниматься только на языке программирования С++. Если решение выдаст правильный ответ на всех тестах, то упражнение будет засчитано.
К некоторым задачам, которые представляют особую важность или сложны для понимания, добавлены письменные или видеоразборы. Мы рекомендуем сначала попробовать решить задачу самостоятельно, а если это не получилось, тогда прибегнуть к помощи разбора. Также полезно смотреть разборы и в том случае, если задачу получилось сдать самостоятельно, так как в них можно встретить какие-то другие подходы к её решению.
В некоторых задачах, особенно в начальных модулях, существуют ограничения на конструкции языка программирования и типы данных, которые можно использовать при решении. Обращайте на это внимание, иначе программа не пройдёт проверку.

C++_Первая программа. Часть 2

 

Среда разработки (программирования) — это мощный инструмент для создания программ. Она позволяет удобно писать код, компилировать его, искать в нём ошибки, а также поддерживать большие проекты.

Научимся устанавливать среду разработки Code::Blocks.

Для этого откроем официальный сайт: http://www.codeblocks.org/. Перейдём по ссылке "Download the binary release". Выберем нужную версию операционной системы, а также файл, который будет содержать в своём названии слова "mingw" и "setup" (например, codeblocks-20.03mingw-setup.exe для ОС Windows). Данный файл можно скачать с любого из доступных источников. При установке оставляем все настройки по умолчанию.


C++_Первая программа. Часть 3

Напишем первую программу на языке C++:

#include <iostream>
using namespace std; 
int main(){
    cout << "Hello, World!";
    return 0;
}

Данная программа выводит на экран фразу Hello, World! (Здравствуй, Мир!).

Разберём текст данной программы.

  • #include <iostream>
     — объявление библиотеки для использования потоков ввода-вывода.
  • using namespace std;
     — подключаем пространство имён std.
  • int main(){
     — начало главной функции нашей программы. Она всегда называется main() и возвращает целочисленный результат.
  • cout << "Hello, World!";
     — выводим в поток вывода cout (console output) фразу *Hello, World!*. Строковые константы, к которым относится данная фраза, заключаются при выводе в двойные кавычки. Инструкция завершается точкой с запятой.
  • return 0;
     — возвращаем ноль. Данная команда говорит о том, что программа отработала успешно.
  • }
     — обозначает, что все команды, относящиеся к функции main, окончены.

Для запуска данной программы создадим в среде code::blocks проект.

  1. Зайдём в меню File→New→Project.
  2. Выберем Console application.
  3. Язык C++.
  4. Введём название проекта и место для его сохранения.

Проект создан, откроем файл main.cpp. В нём мы сразу увидим код рассмотренной выше программы. Запустим программу с помощью кнопки Build and run или клавиши F9.


C++_Первая программа. Часть 4

 

С помощью языка С++ можно вычислять значения разных выражений. Для этого в поток вывода достаточно направить выражение, значение которого мы хотим посчитать. Можно использовать стандартные математические операции и скобки для указания приоритета. Также можно считать значения выражений с целыми или вещественными числами. Например:

#include <iostream>
using namespace std;
 
int main(){
    cout << (2+3)*5 << endl;               // 25
    cout << 2 << " " << 3 << endl;         // 2 3
    cout << "(2+3)*5=" << (2+3)*5 << endl; // (2+3)*5=25
    cout << 1.0 / 3.0 << endl;             // 0.3333333
    return 0;
}

В данной программе в комментариях (за двумя косыми чертами) написан результат вывода, который мы увидим в консоли, когда запустим программу. Комментарии — часть программы, которая игнорируется компилятором и обычно служит для того, чтобы добавить некоторые пояснения к написанному коду.

Также важно обратить внимание на команду endl (от английского end line). Данная команда необходима, чтобы сделать перевод строки. Так мы можем разделить вывод на разные строки.

Все вычисления с целыми числами должны находиться примерно в интервале от −2⋅109 до 2⋅109. Выражения с вещественными числами вычисляются как десятичные дроби и хранятся примерно с 15 десятичными знаками, начиная с первой осмысленной цифры.


Задачи для тренировки

1) Напишите программу, которая выводит на экран текст

Hello, World!

Обратите внимание на регистр и знаки препинания.

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello, World!" << endl;
    return 0;
}
 

2) Запустите данный код у себя на компьютере. Какое слово он выведет на экран?

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string A = "jqmspo";
    for (int i = 0; i < A.size(); ++i) {
        A[i] = (A[i] - i) ^ 25;
    }
    cout << A << endl;
    return 0;
}
sirius

3)Факториал натурального числа nn определяется как произведение всех натуральных чисел от 11 до nn включительно и обозначается n!n!:

n!=1⋅2⋅3⋅…⋅n

Например, 3!=1⋅2⋅3=6.

Напишите программу, которая выводит на экран значение 10! (10 факториал).

#include <iostream>
#include <string>
using namespace std;
int main()
{
    int f=3628800;
    cout << f << endl;
    return 0;
}

4)Напишите программу, которая выводит на экран трёх различных уточек с помощью символов псевдографики:

  _      _      _
>(.)__ <(.)__ =(.)__
 (___/  (___/  (___/ 

Обратите внимание, что в первой строке используются символы нижнего подчёркивания.

include <iostream>
#include <string>
using namespace std;


int main()
{
    cout<< "  _      _      _"<<endl;
    cout<< ">(.)__ <(.)__ =(.)__" <<endl;
    cout<< " (___/  (___/  (___/" << endl;

    return 0;
}
 

5)Палиндромом называется число, которое читается одинаково слева направо и справа налево. Например: 121 и 123321 — палиндромы, а 2312 и 123 — нет.

Выведите на экран наименьшее натуральное число, которое содержит в десятичной записи все цифры от 0 до 9, делится на 99 и является палиндромом.

Запись числа не должна содержать ведущих нулей. Например, запись 01 содержит ведущие нули, а 1 — нет.

#include <iostream>
#include <string>
using namespace std;


int main()
{
    cout<< 1023456789876543201 <<endl;
    
    return 0;
}
 
6)Напишите программу, которая подсчитает и выведет количество слов, состоящих из 10 символов, которые можно составить, используя буквы a, b, c. #include <iostream>
#include <string>
using namespace std;


int main()
{
    cout<< 243*243 <<endl;
    
    return 0;
}
 

7)Напишите программу, которая будет выводить на экран строку

2 + 2 = 4

Знаки + и = необходимо отделить пробелом. Цифру 2 использовать в коде программы запрещено.

#include <iostream>
#include <string>
using namespace std;


int main()
{
    cout<< 1+1<<" + "<<1+1<<" = 4" <<endl;
    
    return 0;
}
 

Печать