💀
Второй курс РПО
C++
C++
  • Свойства и типы
  • Блок-схемы
  • Visual Studio
  • Первый проект
  • Вывод данных
  • Типы данных
  • Переменные и Константы
  • Ввод данных
  • Литералы
  • Задание [ ! ]
  • Первая практическая
  • Операторы в языке программирования
  • Арифметические операции в C++
  • Применение арифметических операций
  • Практическая работа №2
  • Практическая работа №3
  • Логические операции
    • Справочник по командам
  • Практическая работа №4
  • Практическая работа №5
  • Массивы
    • Спец. задание
  • ⚙️Справочник по C++
  • Домашнее задание №1
  • Функции
    • Более краткая версия
  • Практическая работа №6
  • Указатели
  • Задание на экране 12.12
  • Введение в строки
  • Перегрузка функций в C++
  • Функции класса
  • Полезные штуки
  • Работа с классами в C++
  • Дружественные классы в C++
Powered by GitBook
On this page
  • Задача 1: Построение линии из символов
  • Задача 2: Сумма нечётных чисел в диапазоне
  • Задача 3: Вычисление факториала числа

Практическая работа №4

27.11.2024

Задача 1: Построение линии из символов

Условие: Написать программу, которая выводит горизонтальную или вертикальную линию из символов. Пользователь вводит:

  • Количество символов.

  • Символ для построения линии.

  • Направление линии (горизонтальное или вертикальное).

cpp
#include <iostream>
#include <locale.h>
using namespace std;

int main() {
    setlocale(LC_ALL, "");

    int length;
    char symbol;
    char direction;

    cout << "Введите количество символов: ";
    cin >> length;
    cout << "Введите символ для линии: ";
    cin >> symbol;
    cout << "Введите направление (h - горизонтальное, v - вертикальное): ";
    cin >> direction;

    if (direction == 'h') {
        for (int i = 0; i < length; i++) {
            cout << symbol;
        }
        cout << endl;
    } 
    else if (direction == 'v') {
        for (int i = 0; i < length; i++) {
            cout << symbol << endl;
        }
    } 
    else {
        cout << "Ошибка: неизвестное направление!" << endl;
    }

    return 0;
}

Задача 2: Сумма нечётных чисел в диапазоне

Условие: Написать программу, которая вычисляет сумму всех нечётных чисел в указанном диапазоне. Пользователь вводит начало и конец диапазона.

cpp
#include <iostream>
#include <locale.h>
using namespace std;

int main() {
    setlocale(LC_ALL, "");

    int start, end;
    int sum = 0;

    cout << "Введите начало диапазона: ";
    cin >> start;
    cout << "Введите конец диапазона: ";
    cin >> end;

    for (int i = start; i <= end; i++) {
        if (i % 2 != 0) {
            sum += i;
        }
    }

    cout << "Сумма нечётных чисел в диапазоне [" << start << ", " << end << "] равна " << sum << "." << endl;

    return 0;
}

Задача 3: Вычисление факториала числа

Условие: Написать программу, которая вычисляет факториал заданного натурального числа.

Формула

  • n!=1×2×3×…×nn!=1×2×3×…×nn!=1×2×3×…×nn! = 1 \times 2 \times 3 \times \ldots \times nn!=1×2×3×…×nn!=1×2×3×…×n

  • 0!=10!=10!=10! = 10!=10!=1

Что такое факториал?

Факториал — это произведение всех чисел от 111 до n n n. Обозначается как n!n! n!. Например, 5!=5×4×3×2×1=1205! = 5 \times 4 \times 3 \times 2 \times 1 = 120 5!=5×4×3×2×1=120. Факториал помогает считать, сколько способов можно расположить объекты.

Что такое факториал?

Факториал числа nn (обозначается как n!n!) — это произведение всех целых чисел от 111 до nnnnnn.

Например

  • 5!=5×4×3×2×1=1205!=5×4×3×2×1=1205!=5×4×3×2×1=1205! = 5 \times 4 \times 3 \times 2 \times 1 = 1205!=5×4×3×2×1=1205!=5×4×3×2×1=120

  • 4!=4×3×2×1=244!=4×3×2×1=244!=4×3×2×1=244! = 4 \times 3 \times 2 \times 1 = 244!=4×3×2×1=244!=4×3×2×1=24

  • 3!=3×2×1=63!=3×2×1=63!=3×2×1=63! = 3 \times 2 \times 1 = 63!=3×2×1=63!=3×2×1=6

  • 1!=11!=11!=11! = 11!=11!=1

  • 0!=10!=10!=10! = 10!=10!=1 (по определению, что важно помнить)

cpp
#include <iostream>
#include <locale.h>
using namespace std;

int main() {
    setlocale(LC_ALL, "");

    int n;
    unsigned long long factorial = 1;

    cout << "Введите натуральное число: ";
    cin >> n;

    if (n < 0) {
        cout << "Ошибка: факториал определён только для неотрицательных чисел!" << endl;
    } 
    else {
        for (int i = 1; i <= n; i++) {
            factorial *= i;
        }

        cout << "Факториал числа " << n << " равен " << factorial << "." << endl;
    }

    return 0;
}

PreviousСправочник по командамNextПрактическая работа №5

Last updated 6 months ago

"char" - Что это?

char — это тип данных в C++, который хранит один символ или маленькое число.

"direction" - Что это?

direction - это просто переменная, ничего особенного.

"i++" - Что это?

i++ — это оператор постфиксного инкремента, который увеличивает значение переменной i на 1 после её текущего использования.

"unsigned" - Что это?

unsigned — это тип для хранения только положительных чисел.

"if" и его параметры

if — проверяет условие (в скобках). Параметр — логическое выражение.

"else if" и его параметры

else if — добавляет дополнительную проверку условий, если предыдущее if не сработало.

"unsigned" - Что это?

unsigned — это тип для хранения только положительных чисел.

"long long" - Что это?

long long — это тип данных в C++, используемый для хранения очень больших целых чисел.

"for" - Что это?

for — это цикл в C++, который повторяет блок кода несколько раз, пока выполняется заданное условие.