Ir para conteúdo
Faça parte da equipe! (2024) ×

programação zone Ache o Erro


Newt Scamander
 Compartilhar

Posts Recomendados

Introdução

 

Nós programadores, sabemos que que no decorrer de uma codificação nos deparamos com diversos erros que impendem que possamos usar nosso programa. Sabendo disso, o evento tem como objetivo corrigir um ou mais erros que estão presentes num determinado código.

divisores.gif Como funciona o evento?

 

Simplesmente irei disponibilizar um código em três linguagens diferentes (C, C++ e Vb.net). Esse código irá conter um ou mais erros, podendo ser lógico, aritmético, sequencial e afins. Você terá que escolher qual linguagem você irá usar para corrigir e encontrar esse(s) erro(s). Após encontrar você deverá destacar o(s) erro(s) e dizer o por que está/estão errado(s).

divisores.gif

O Código

 

 

C

É necessário se cadastrar para acessar o conteúdo.

 

 

C++

É necessário se cadastrar para acessar o conteúdo.

 

 

Vb.Net

É necessário se cadastrar para acessar o conteúdo.

divisores.gif

Modelo de Inscrição

Linguagem Escolida:

Código:

#include <std.h>

 

int main(){

printf("Hello World");

return 0;

}

 

A declaração da biblioteca está errado, o correto seria <stdio.h>

divisores.gif

 

Regras

divisores.gif

 

Premiação

Primeiro:150 Posts + 130 WCoins

Segundo:130 Posts + 100 WCoins

Terceiro:100 Posts + 80 WCoins

 

divisores.gif

Cronograma

Inscrições: 23/05/2016 até 31/05/2016

Vencedores: 01/05/2016

 

Sujeito a alterações sem aviso prévio

divisores.gif

 

Qualquer dúvida utilize o tópico - http://www.webcheats.com.br/threads/duvida-mês-de-maio.2528118/

bXbEjwF.png

Em meio a tantas guerras, feras, eras de rancor

Quem vai dizer de amor?

E num mundo onde muita coisa é cara e sem valor

Quem vai dizer de amor?

Link para o comentário
Compartilhar em outros sites

Linguagem Escolhida: C.

 

ERRO: Comportamento inesperado.

É necessário se cadastrar para acessar o conteúdo.

 

Lendo e exibindo como float uma variável (valor1) definida como integer, isso resultará em undefined behavior.

Por comportamento indefinido, entenda valor inesperado, crash da aplicação, etc. O correto seria fazer a leitura/exibição utilizando "%i" ou "%d", e.g:

É necessário se cadastrar para acessar o conteúdo.

 

________________________________

 

ERRO: Resultado incorreto.

É necessário se cadastrar para acessar o conteúdo.

 

Para obter o triplo do valor, o correto seria:

É necessário se cadastrar para acessar o conteúdo.

 

________________________________

 

ERRO: Resultado incorreto.

É necessário se cadastrar para acessar o conteúdo.

 

Para obter o dobro do valor, o correto seria:

É necessário se cadastrar para acessar o conteúdo.

 

________________________________

 

ERRO: Sintaxe incorreta.

 

É necessário se cadastrar para acessar o conteúdo.

 

Falta de ";" no final do comando, e.g:

 

É necessário se cadastrar para acessar o conteúdo.

+ - + - + - + - + - +

FAÇO PROGRAMAS

+ - + - + - + - + - +

Link para o comentário
Compartilhar em outros sites

Linguagem escolhida : C ( tanto faz C com C++, mas como estou vendo essa na facul neh )

 

O primeiro erro é na hora da definição da variável, você está a definindo como inteiro, porém no printf você está usando como um valor flutuante. ( Você teria que defini - la como tipo float ).

Os outros erros são na parte de fazer o cálculo, você quer informar o dobro e o triplo do número, porém a operação que realiza é o elevar o número ao quadrado e ao cubo ( o correto seria multiplicar o número por 2, não o número vezes o número ).

 

O código correto seria o seguinte :

 

É necessário se cadastrar para acessar o conteúdo.

Link para o comentário
Compartilhar em outros sites

VB.Net, eu escolho você!!!

 

1º No vb.net n se declara váriaveis assim:

É necessário se cadastrar para acessar o conteúdo.

O certo seria:

É necessário se cadastrar para acessar o conteúdo.

 

2º Na parte abaixo o dobro do número seria valor1 * 2:

É necessário se cadastrar para acessar o conteúdo.

 

3º Na parte abaixo o tripo do número seria valor1 * 3:

É necessário se cadastrar para acessar o conteúdo.

 

Observação: No VB.Net existem duas formas de concatenar, sendo elas o + e o &, O + tem a finalidade principal de adicionar dois números enquanto o & é somente para Strings.

Link para o comentário
Compartilhar em outros sites

Linguagem Escolida: C++

É necessário se cadastrar para acessar o conteúdo.

 

"cout" com simbolo >> está errado

"cin" com simbolo << está errado

ultimo "cout" está faltando o << após o valor1*valor1

Olá Mundo :)

Link para o comentário
Compartilhar em outros sites

Segundo meus poucos conhecimentos em C

No código abaixo, as linhas incorretas estarão com o comentário "#INCORRETO".

 

Código incorreto:

É necessário se cadastrar para acessar o conteúdo.

 

Código corrigido:

É necessário se cadastrar para acessar o conteúdo.

 

-

 

Sobre return 0;

O motivo é que se existe um valor a ser retornado, não é lógico pedir para o programa return 0;

 

Sobre %f

%f é usado para tipo float. O correto para ser usado é %d

"Call me King, call me Demon. The Water forget the Names of the drowned."

Link para o comentário
Compartilhar em outros sites

É necessário se cadastrar para acessar o conteúdo.

 

Na linha 4, a declaração deve ser "float" e não "int", pois podemos receber um valor inteiro ou decimal.

Na linha 9 há um acento circunflexo que não é suportado deste modo pela API.

Na linha 13, falta-se um ponto e vírgula para encerrar a linha de comando, como padrão na sintaxe C.

Na linha 15, o return 0 não pausa o programa e espera ser encerrado, ele já encerra o programa. Seria necessário a substituição do "return 0;" por "system("pause>NULL");" e a adição da #include <stdlib.h>

Membro - Bronze - Geek - Bronze - Tech - Mod - Coord - Co-Admin - Platinum

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.