Skip to content

Программирование_Лабораторная_работа_RUST_1 #8

@veskprogrammer

Description

@veskprogrammer

Лабораторная работа №1 - Введение в Rust

Тема: Введение в Rust

Задача 1

Постановка задачи

Напишите программу, которая запрашивает у пользователя имя и выводит на экран приветственное сообщение с использованием этого имени.

Математическая модель

Не требуется.

Список идентификаторов

Имя переменной Тип данных Описание
name String Имя пользователя

Код программы

use std::io;

fn main() {
    println!("Введите ваше имя:");
    let mut name = String::new();
    io::stdin().read_line(&mut name).expect("Ошибка чтения строки");
    println!("Привет, {}!", name.trim());
}

Результаты работы программы

Введите ваше имя:
Жора
Привет, Жора!

Задача 2

Постановка задачи

Создайте переменную типа целое беззнаковое число и выведите ее значение на экран. Явно укажите тип переменной. Затем измените значение переменной и снова выведите его.

Математическая модель

Не требуется.

Список идентификаторов

Имя переменной Тип данных Описание
num u32 Целое беззнаковое число

Код программы

fn main() {
    let mut num: u32 = 10;
    println!("Исходное значение: {}", num);
    num = 20;
    println!("Новое значение: {}", num);
}

Результаты работы программы

Исходное значение: 10
Новое значение: 20

Задача 3

Постановка задачи

Напишите функцию, которая принимает строку и возвращает ее длину (количество символов). Затем вызовите эту функцию с различными строками.

Математическая модель

Не требуется.

Список идентификаторов

Имя переменной Тип данных Описание
s &str Входная строка
len usize Длина строки

Код программы

fn string_length(s: &str) -> usize {
    s.len()
}

fn main() {
    let s1 = "Привет";
    let s2 = "Rust";
    println!("Длина '{}': {}", s1, string_length(s1));
    println!("Длина '{}': {}", s2, string_length(s2));
}

Результаты работы программы

Длина 'Привет': 6
Длина 'Rust': 4

Информация о студенте

Киселев Георгий, 1 курс, группа ИВТ-1.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions