Pesquisar este blog

Livros Recomendados

Mostrando postagens com marcador OCaml. Mostrar todas as postagens
Mostrando postagens com marcador OCaml. Mostrar todas as postagens

quarta-feira, 24 de março de 2021

URI (BEECROWD) - 1001 - Extremamente Básico - Iniciante - Lua e OCaml

Plataforma: URI (BEECROWD)

Problema1001

Linguagens: Lua e OCaml

Enunciado:
Leia 2 valores inteiros e armazene-os nas variáveis A e B. Efetue a soma de A e B atribuindo o seu resultado na variável X. Imprima X conforme exemplo apresentado abaixo. Não apresente mensagem alguma além daquilo que está sendo especificado e não esqueça de imprimir o fim de linha após o resultado, caso contrário, você receberá "Presentation Error".

Solução:

Basta ler os dois valores (números inteiros) informados e realizar a soma deles, imprimindo o resultado no formato desejado na plataforma.

Lua e OCaml não são linguagens de programação das mais populares, então nesse post eu trago o código aceito para essas duas linguagens. Veja abaixo!

Código em Lua: utilizamos io.read() para ler o valor da entrada padrão, mas passamos esse resultado para a função tonumber, que recebe também o parâmetro 10. Isso é feito para converter o valor recebido da entrada padrão para número, e o 10 é para dizer a base numérica, isto é, base decimal. Isso deve ser feito na atribuição dos dois valores, X e Y. O comando de escrita é o print, que imprime o resultado na forma 'X = resultado_da_soma'. Era só isso!

X = tonumber(io.read(), 10)
Y = tonumber(io.read(), 10)

print('X = ' .. X + Y)

Código em OCaml: Aqui é necessário usar Scanf.scanf para ler os valores, com formatação de %i porqu esão valores inteiros. Para quem não conhece, OCaml é uma linguagem funcional, então a unidade básica de trabalho dela é a função. Assim, fun a b é uma função que recebe esses dois parâmetros e imprime na tela a soma no formato desejado. Para imprimir na tela é necessário usar Printf.printf. A formatação aqui lembra um pouco a linguagem C. Assim como ocorre em C, o "\n" faz a quebra de linha, necessária para obtenção do aceite neste exercício.

Scanf.scanf "%i %i\n" (fun a b ->
        Printf.printf "X = %d\n" (a + b);
)

URI (BEECROWD) - 1000 - Hello World! - Iniciante - Lua e OCaml

Sejam bem-vindos! Nesse post eu mostro a solução do exercício Hello World em Lua e OCaml. 


Plataforma: URI (BEECROWD) 

Problema1000

Linguagens: Lua e OCaml

Enunciado:

O seu primeiro programa em qualquer linguagem de programação normalmente é o "Hello World!". Neste primeiro problema tudo o que você precisa fazer é imprimir esta mensagem na tela.

Solução:

Esse exercício é o mais simples da plataforma, então já costuma ser pequeno em linhas de código. Basta utilizar o comando de saída de dados com o texto "Hello World!", não esquecendo que é necessário quebrar a linha após a escrita. Algumas linguagens já dispõem de comandos que fazem isso automaticamente, outras não. É o que veremos nos códigos abaixo.

Código em Lua: em Lua a resposta a este exercício é muito pequena e tem somente uma linha, com um comando de escrita, print(), e a string exibida entre aspas dentro dos parênteses, como um parâmetro. Fazendo isso o BEECROWD (antigo URI) já aceita a resposta.

print('Hello World!')

Código em OCaml: aqui a solução também é simples. O comando para fazer a escrita de dados é Printf.printf, após ele usamos espaço e, entre aspas duplas, o texto a ser informado. É necessário acrescentar dentro do texto o \n para ocorrer a quebra de linha ao final da escrita. Também não podemos esquecer do ponto e vírgula no final da linha.

Printf.printf "Hello World!\n";

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas