Bora falar de Rust e Lua com o professor José Manzano

Nesse final de semana tivemos uma live muito interessante onde conversamos com o professor José Augusto Manzano que 'e autor de vários livros sobre programação. Nesta live debatemos sobre seus dois últimos livros que foram lançados pela editora Novatec; os livros sobre Rust e Lua.


O professor Augusto Manzano leu o chat e resolveu responder as perguntas feitas e que o tempo não nos permitiu que fossem respondidas (admiro como o professor é bem atencioso com todos). Confiram as respostas abaixo :)

Respostas há algumas questões do chat

Rafael Profeta: ​seletivo seria o Select case?
RespostaNão "select case" é uma forma de decisão seletiva e não de laço seletivo. Veja um exemplo de laço seletivo escrito em Rust observando a linha em vermelho.

use std::io;

use std::io::prelude::*;



fn main() {

    let mut tabuada = String::new();



    let nu8;

    let mut iu8;

    let mut ru8;



    print!("Entre o valor da tabuada: ");

    io::stdout().flush().unwrap();

    io::stdin().read_line(&mut tabuada).unwrap();

    n = tabuada.trim().parse::<u8>().unwrap();



    println!();



    i = 1;

    loop {

        r = n * i;

        println!("{:2} x {:2} = {:3}", nir);

        i += 1;

        if i > 10 { break; }

    }



    println!();

    print!("Tecle <Enter> para encerrar...");

    io::stdout().flush().unwrap();

    io::stdin().read(&mut [0u8]).unwrap();

}

A instrução "if i > 10 { break }" pode ser colocada em qualquer posição do bloco do laço "loop". Isso caracteriza o que se chama de decisão seletiva. Veja outros exemplos de laços seletivos escritos nas linguagens BASIC (Structured) e ADA respectivamente. Observe as linhas marcadas em negrito como ações seletivas, ou seja, que podem ser colocadas em qualquer posição do bloco DO/LOOP no BASIC e Loop/End loop em ADA.

Código BASIC
============
DIM R AS STRING
DIM N AS INTEGER
DIM X AS INTEGER
DIM I AS INTEGER

I = 1
DO
  PRINT USING "Entre valor ##"; I
  INPUT "-> "N
  X = N * 3
  PRINT USING "Resultado = ###"; X
  PRINT
  INPUT "Deseja continuar? (S) p/ Sim, qualquer letra p/ Nao: ", R
  PRINT
  IF (UCASE$(R) <> "S") THEN EXIT DO
  I = I + 1
LOOP
END


Código ADA
==========
With Ada.Integer_Text_IO; Use Ada.Integer_Text_IO;
With Ada.Characters.Handling; Use Ada.Characters.Handling; 
Procedure Exemplo is 
  R : Character;
  X : Integer;
  N : Integer; 
  I : Integer; 
Begin
  I := 1;
  Loop
    Put("Entre valor:"); Put(Integer'Image(I));
    Put(" -> "); Get(N);
    X := N * 3; 
    Put("Resultado = "); Put(Integer'Image(X));
    New_Line(2);
    Put("Deseja continuar? (S) p/ Sim, qualquer letra p/ Nao: ");
    Get(R);
    New_Line;
    Exit When (To_Upper(R) /= 'S'); 
    I := I + 1;
  End Loop;
End Exemplo;

Glider Space: ninguém fala de HOPE heheh Mas acho que ele conhece a linguagem.
RespostaO livro de HOPE será publicado nos próximos 10 dias no Clube de Autores. Sou professor no Instituto Federal de São Paulo lotado na Cidade de Campos do Jordão.

Reuter Junior​: depois passa o link do seu site novamente para eu ler o artigo

Resposta: Meu site www.manzano.pro.br ou http://novo.manzano.pro.br/wp/downloads/ acessar o link Aprenda a programar em dez anos de Peter Norvig (texto traduzido para língua portuguesa).

OpenSourceBoy​: E sobre Haskell?
Resposta: Haskell é uma linguagem de programação funcional em estilo puro, muito madura e com grande número de usuários em todo o mundo. Do paradigma funcional é uma das linguagens mais conhecidas.

Livro da linguagem Hope do professor Augusto Manzano

Analista (bilíngue) de sistemas, redator do blog Diolinuxtradutor da distribuição Funtoo e parte da distribuição IPFire, do manual chamado Caixa de Ferramentas do UNIX e do manual Zsh Lovers. Dono dos canais e blogs Toca do Tux e Resenha Nerd:

Compartilhe isso

Leia outros posts

Próximo post
« Próximo post
Post Anterior
Próximo Post »

Compre na imago brinquedos

Compre na imago brinquedos
Utilize o cupom de desconto TOCADOTUX e ecnomize 5% na sua compra