Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
uchoa84

pls! erro de sintase ==> ":=" não esperado

Recommended Posts

gente, peço a ajuda de vocês pra me ajudar nesse programa.

quando ele vai compilar, quando é vai nessa linha:

f1:=A_triang(b,h);

dá um erro de sintase, dizendo ":=" não esperado!

repeat

write('Digite o valor do lado da base do triangulo:');

read(B);

write('Agora digite o valor da altura do triangulo:');

read(h);

clrscr;

until (h>B);

f1:=A_triang(b,h);

writeln('A area do triangulo é: ',f1,'m2');

Compartilhar este post


Link para o post
Compartilhar em outros sites

'A_triang' é uma função? Coloca o código dela, porque nesse código ae não parece ter nada errado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Código original

repeat
write('Digite o valor do lado da base do triangulo:');
read(;
write('Agora digite o valor da altura do triangulo:');
read(h);
clrscr;
until (h>;
f1:=A_triang(b,h);
writeln('A area do triangulo é: ',f1,'m2');

1) Só para constar: use a tag CODE (símbolo #) para posta códigos neste fórum!!!

2) Use "radln();" em vez de "read();"

No pascal tem diferença de uma para o outro. (visualmente são iguais, mas em terminadas situações o uso do "read();" pode causar problemas difíceis de se detectar no código!"

É mais ou menos assim, o read() lê somente até a parte onde a variável consegue armazenar, e deixa o resto para ser lido no próximo "read", sendo "ln" ou não !!!!. Não tenho certeza plena de como funciona um e outro, mas na dúvida use sempre "readLN", pois como dito antes, pode ocorrer erros de lógica com o "read" em alguns casos... com "ln" não... (se a lógica exigir "read" você com certeza saberá que deve usar "read", ou simplesmente não usaria esta lógica... sacou?)

3) Essa lógica de ler os lados dos triângulos está um pouco confusa:

Porquê deve digitar os valores em ordem de tamanho? Porquê não podem ser iguais?... outra coisa interessante é informar, dentro do laço, como deve ser digitado os valores... senão o usuário vai ficar digitando valores até a sorte permitir que sai do laço... (ou digite uma letra, ou algo do tipo)

4) f1 é uma variável? E como disse nosso colega "thiago_m", "A_triang" está declarado como "function" ou "procedure"...

OBS: "Function" é exatamente mesma coisa de "procedure"... só muda que o um valor na "function" deve ser obrigatoriamente retornado na função (ou não, mas ela terá um valor sempre)... no resto não muda nada. Tudo, sim, tudo que se faz com uma faz com a outra, mas a "function" tem vantagem que você pode imprimir ela, usar diretamente numa expressão... etc

5) Voltando ao ponto 3... e se o cara digitar "0" e "1', não existe esse triângulo...

6) Após corrigir o erro, você poderá mudar o código para imprimir diretamente

{f1:=A_triang(b,h);}

writeln('A area do triangulo é: ',A_triang(b,h), 'm2');

Espero ter ajudado

PS: Mesmo se achar a solução das tuas dúvidas, poste-as para servir se experiência para nós e para os visitantes que tenham a mesma dúvida!!!

PS2: Se você quiser ajudamos você a definir as validações para um triângulo qualquer... inclusive com métodos otimizados para validar a leitura dos dados... existem vários formas, inclusive não dando erro ao ler "letras" num "variável numérica"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×