| Arquivo: exemplo.rs |
| use std::io; fn x_input(texto: &str) -> String { println!("{}", texto); let mut input = String::new(); io::stdin().read_line(&mut input).expect("Falha ao ler a linha"); input.trim().to_string() } fn x_int(inteiro: &str) -> i32 { inteiro.parse::<i32>().expect("Falha ao converter para inteiro") } fn main() { let numero = x_int(&x_input("Digite um número: ")); if numero % 2 == 0 { println!("O número é par!"); println!("asdfdsa"); } else { println!("O número é impar!"); println!("asdfasdf"); } } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo Digite um número: 4 O número é par! asdfdsa |
| Arquivo: exemplo.rs |
| fn main() { // Comentário de uma linha /* Comentário Com mais de uma linha */ println!("Resultado"); } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo Resultado |
Existe 1 tipos de concatenação
| Arquivo: exemplo.rs |
| fn main() { let texto1 = "texto 1"; let texto2 = "texto 2"; println!("{} {}", texto1, texto2); } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo texto 1 texto 2 |
| Arquivo: exemplo.rs |
| use std::io; // Funções fn x_input(texto: &str) -> String { println!("{}", texto); let mut input = String::new(); io::stdin().read_line(&mut input).expect("Falha ao ler a entrada"); input.trim().to_string() } fn x_int(inteiro: &str) -> i32 { inteiro.trim().parse().expect("Falha ao converter para inteiro") } fn x_float(decimal: &str) -> f64 { decimal.trim().parse().expect("Falha ao converter para decimal") } fn main() { // Qual é o seu nome? let name = x_input("Qual é seu nome?"); // Saída println!("Olá, {}!", name); // Digite um número inteiro let num_str = x_input("Digite um número inteiro:"); let num: i32 = x_int(&num_str); let add = num + 1; // Saída println!("{} + 1 = {}", num, add); // Digite um número decimal let num_str = x_input("Digite um número decimal:"); let num: f64 = x_float(&num_str); let div = num / 2.0; // Saída println!("{} / 2 = {}", num, div); } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo Qual é seu nome? Joao Olá, Joao! Digite um número inteiro: 10 10 + 1 = 11 Digite um número decimal: 2.345 2.345 / 2 = 1.1725 |
| Arquivo: exemplo.rs |
| use std::io; fn x_input(texto: &str) -> String { println!("{}", texto); let mut input = String::new(); io::stdin().read_line(&mut input).expect("Falha ao ler a linha"); input.trim().to_string() } fn x_int(inteiro: &str) -> i32 { inteiro.parse::<i32>().expect("Falha ao converter para inteiro") } fn main() { let idade = x_int(&x_input("Qual sua idade: ")); let acompanhado = true; if idade >= 18 { println!("Pode entrar e divirta-se!!!"); } else if idade >= 16 && acompanhado { println!("Entre com o seu responsável!!!"); } else { println!("Vai pra casa dormir criança!!!"); } } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo Qual sua idade: 15 Vai pra casa dormir criança!!! |
| Arquivo: exemplo.rs |
| fn main() { let numero_inteiro = 1; let numero_flutuante = 5.8; let verdadeiro = true; let falso = false; let caracteres = "SRB - Centro de Tecnologia"; println!("Variáveis e tipos mais comuns"); println!("Tipo inteiro: {}", numero_inteiro); println!("Tipo float ou ponto flutuante: {}", numero_flutuante); println!("Tipo verdadeiro: {}", verdadeiro); println!("Tipo falso: {}", falso); println!("Tipo caracteres/string: {}", caracteres); } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo Variáveis e tipos mais comuns Tipo inteiro: 1 Tipo float ou ponto flutuante: 5.8 Tipo verdadeiro: true Tipo falso: false Tipo caracteres/string: SRB - Centro de Tecnologia |
| Arquivo: exemplo.rs |
| fn main() { println!("Operador de adição (+): 10 + 4 = {}", 10 + 4); println!("Operador de subtração (-): 10 - 4 = {}", 10 - 4); println!("Operador de multiplicação (*): 10 * 4 = {}", 10 * 4); println!("Operador de divisão (/): 10 / 4 = {}", 10 / 4); println!("Operador de potenciação (**): 10 ^ 4 = {}", i32::pow(10, 4)); println!("Operador de resto da divisão (%): 10 % 4 = {}", 10 % 4); println!("Operador de negação (-): -10 - 4 = {}", -10 - 4); } |
| Resultado |
| ~$ rustc exemplo.rs ~$ ./exemplo Operador de adição (+): 10 + 4 = 14 Operador de subtração (-): 10 - 4 = 6 Operador de multiplicação (*): 10 * 4 = 40 Operador de divisão (/): 10 / 4 = 2 Operador de potenciação (**): 10 ^ 4 = 10000 Operador de resto da divisão (%): 10 % 4 = 2 Operador de negação (-): -10 - 4 = -14 |
| Arquivo: exemplo.rs |
| fn main() { let a = 3; let b = 4; let c = a < b; // c recebe o valor da comparação a < b let d = a > b; // d recebe o valor da comparação a > b let e = a == b; // e recebe o valor da comparação a == b let f = a <= b; // f recebe o valor da comparação a <= b let g = a >= b; // g recebe o valor da comparação a >= b println!("Valor de c: {}", c); println!("Valor de d: {}", d); println!("Valor de e: {}", e); println!("Valor de f: {}", f); println!("Valor de g: {}", g); } |
| Resultado: |
~$ rustc exemplo.rs |
| Arquivo: exemplo.rs |
| fn main() { let a = true; let b = false; println!("Valor de A and B: {}", a && b); println!("Valor de A or B: {}", a || b); println!("Valor de not A: {}", !a); println!("Valor de not B: {}", !b); } |
| Resultado: |
~$ rustc exemplo.rs |
Conte até 10
| Arquivo: exemplo.rs |
| fn main() { for numero in 0..10 { println!("O número da vez é: {}", numero * 2); } } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo O número da vez é: 0 O número da vez é: 2 O número da vez é: 4 O número da vez é: 6 O número da vez é: 8 O número da vez é: 10 O número da vez é: 12 O número da vez é: 14 O número da vez é: 16 O número da vez é: 18 |
Conte de 0 a 100
pulando de 2 em 2
| Arquivo: exemplo.rs |
| fn main() { for numero in (0..=100).step_by(2) { println!("O número da vez é: {}", numero); } } |
| Resultado: |
~$ rustc exemplo.rs |
Conte de 0 a 100
| Arquivo: exemplo.rs |
| fn main() { for numero in 0..=100 { if numero % 2 == 0 { println!("O número da vez é: {}", numero); } } } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo O número da vez é: 0 O número da vez é: 2 O número da vez é: 4 O número da vez é: 6 O número da vez é: 8 O número da vez é: 10 O número da vez é: 12 O número da vez é: 14 O número da vez é: 16 O número da vez é: 18 O número da vez é: 20 <...> O número da vez é: 96 O número da vez é: 98 O número da vez é: 100 |
Conte de 0 a 100
| Arquivo: exemplo.rs |
| fn main() { for numero in 0..=100 { if numero % 2 == 0 { println!("Este número é par: {}", numero); } else { println!("Este número é ímpar: {}", numero); } } } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo Este número é par: 0 Este número é impar: 1 Este número é par: 2 Este número é impar: 3 Este número é par: 4 Este número é impar: 5 Este número é par: 6 Este número é impar: 7 Este número é par: 8 Este número é impar: 9 Este número é par: 10 Este número é impar: 11 Este número é par: 12 Este número é impar: 13 Este número é par: 14 Este número é impar: 15 <...> Este número é impar: 97 Este número é par: 98 Este número é impar: 99 Este número é par: 100 |
Conte de 0 a 100
| Arquivo: exemplo.rs |
| fn main() { for numero in 0..=100 { if numero % 2 == 0 { println!("{} é par: {}", numero, numero); } else { println!("{} é ímpar: {}", numero, numero); } } } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo 0 é par: 0 1 é impar: 1 2 é par: 2 3 é impar: 3 4 é par: 4 5 é impar: 5 6 é par: 6 7 é impar: 7 8 é par: 8 9 é impar: 9 10 é par: 10 11 é impar: 11 <...> 95 é impar: 95 96 é par: 96 97 é impar: 97 98 é par: 98 99 é impar: 99 100 é par: 100 |
| Arquivo: exemplo.rs |
| fn main() { let mut controle = 0; while controle <= 10 { println!("O número da vez é: {}", controle); controle += 1; } } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo O número da vez é: 0 O número da vez é: 1 O número da vez é: 2 O número da vez é: 3 O número da vez é: 4 O número da vez é: 5 O número da vez é: 6 O número da vez é: 7 O número da vez é: 8 O número da vez é: 9 O número da vez é: 10 |
| Arquivo: exemplo.rs |
| use std::thread; use std::time::Duration; fn main() { let mut controle = 0; let mut numero = true; while numero { println!("O número da vez é: {}", controle); controle += 1; numero = true; thread::sleep(Duration::from_secs(1)); } } |
| Resultado: |
~$ rustc exemplo.rs |
| Arquivo: exemplo.rs |
| fn main() { let sexo = ["masculino", "feminino"]; let numero = [1, 2, 3, 4, 5, 6, 7, 8, 9]; let vogais = ['A', 'E', 'I', 'O', 'U']; let frutas = ["Banana", "Laranja", "Maçã", "Mamão"]; let cursos = ["Português", "Matemática", "Física", "Química", "Biologia", "Inglês", "Geografia", "História"]; let estado_civil = ["solteiro", "casado", "divorciado", "viúvo"]; println!("{}", sexo[0]); println!("{}", numero[0]); println!("{}", vogais[0]); println!("{}", frutas[0]); println!("{}", cursos[0]); println!("{}", estado_civil[0]); } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo masculino 1 A Banana Português solteiro |
| Arquivo: exemplo.rs |
| fn main() { let mut sexo = ["", ""]; sexo[0] = "masculino"; sexo[1] = "feminino"; let mut numero = [0; 10]; numero[0] = 0; numero[1] = 1; numero[2] = 2; numero[3] = 3; numero[4] = 4; numero[5] = 5; numero[6] = 6; numero[7] = 7; numero[8] = 8; numero[9] = 9; let mut vogais = [' '; 5]; vogais[0] = 'A'; vogais[1] = 'E'; vogais[2] = 'I'; vogais[3] = 'O'; vogais[4] = 'U'; let mut frutas = ["", "", "", ""]; frutas[0] = "Banana"; frutas[1] = "Laranja"; frutas[2] = "Maçã"; frutas[3] = "Mamão"; let mut cursos = ["", "", "", "", "", "", "", ""]; cursos[0] = "Português"; cursos[1] = "Matemática"; cursos[2] = "Física"; cursos[3] = "Química"; cursos[4] = "Biologia"; cursos[5] = "Inglês"; cursos[6] = "Geografia"; cursos[7] = "História"; let mut estado_civil = ["", "", "", ""]; estado_civil[0] = "solteiro"; estado_civil[1] = "casado"; estado_civil[2] = "divorciado"; estado_civil[3] = "viúvo"; println!("{}", sexo[0]); println!("{}", numero[0]); println!("{}", vogais[0]); println!("{}", frutas[0]); println!("{}", cursos[0]); println!("{}", estado_civil[0]); } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo masculino 0 A Banana Português solteiro |
| Arquivo: exemplo.rs |
| fn main() { let mut texto = String::new(); /* Em matrizes: Não podemos usar dois tipos de variáveis int e String ao mesmo tempo numa matriz. Só é possível usar um tipo de variável que é a String. */ let mut matriz = vec![vec![""; 6], vec![""; 6]]; matriz[0][0] = "Beatriz"; matriz[1][0] = "19"; matriz[0][1] = "Pedro"; matriz[1][1] = "32"; matriz[0][2] = "Cláudio"; matriz[1][2] = "23"; matriz[0][3] = "Susana"; matriz[1][3] = "27"; matriz[0][4] = "Marcos"; matriz[1][4] = "16"; matriz[0][5] = "Celina"; matriz[1][5] = "35"; for i in 0..=5 { if matriz[1][i].parse::<f32>().unwrap() < 20.0 { texto.push_str(matriz[0][i]); texto.push(' '); } } println!("{}", texto); } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo Beatriz Marcos |
| Arquivo: exemplo.rs |
| fn main() { let mut texto = String::new(); /* Em matrizes: Não podemos usar dois tipos de variáveis int e String ao mesmo tempo numa matriz. Só é possível usar um tipo de variável que é a String. */ let matriz = [ ["Beatriz", "19"], ["Pedro", "32"], ["Cláudio", "23"], ["Susana", "16"], ["Marcos", "16"], ["Celina", "35"], ]; for i in 0..=5 { if matriz[i][1].parse::<f32>().unwrap() < 20.0 { texto.push_str(matriz[i][0]); texto.push(' '); } } println!("{}", texto); } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo Beatriz Susana Marcos |
| Arquivo: exemplo.rs |
| use std::io; fn x_input(texto: &str) -> String { println!("{}", texto); let mut input = String::new(); io::stdin().read_line(&mut input).expect("Falha ao ler a linha"); input.trim().to_string() } fn x_int(inteiro: &str) -> i32 { inteiro.parse::<i32>().expect("Falha ao converter para inteiro") } // Funções fn soma(n1: i32, n2: i32) -> i32 { n1 + n2 } fn main() { let n1 = x_int(&x_input("Digite o primeiro número: ")); let n2 = x_int(&x_input("Digite o segundo número: ")); let resultado = soma(n1, n2); println!("O resultado da soma: {}", resultado); } |
| Resultado: |
| ~$ rustc exemplo.rs ~$ ./exemplo Digite o primeiro número: 10 Digite o segundo número: 40 O resultado da soma: 50 |