Buscar

[NEW] Dicas_G1

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Dicas importantes para G1:
*********************************************************************************
OBS: Recomendo ler essas dicas depois que ler pelo menos o "Resumo_Condição" :) 
*********************************************************************************
- Termos utilizados nos enunciados:
Ler do teclado: 
Siginifica que o usuário vai digitar no teclado os dados que foram pedidos no enunciado. Então coloque uma mensagem pedindo pra inserir os dados e logo em seguida use a função scanf pra fazer a leitura.
Imprimir/Exibir algo na tela: 
Significa que precisamos usar a função printf pra exibir dados ou mensagens na tela. Esses dados serão exibidos na janela do Cmd.
OBS: Cmd é a mini janela que abre quando executamos o programa. (ctrl + F5)
------------------------------------//-----------------------------------------
- Funções que imprimem mensagens na tela: 
Comparação puts v.s printf: 
Ambos imprimem mensagens na tela. 
Somente o printf consegue imprimir formatos de impressão Ex: %d, %f, etc.
O puts vem com o '\n' embutido nele, ou seja, sempre que você for imprimir algo, ele já pula uma linha automaticamente. (Se vc usar o '\n' no puts ele vai pular 2 linhas!)
Como o puts só serve pra imprimir mensagens, ele é um pouco mais leve que o printf na execução do programa.
OBS: Use a função puts com sabedoria, somente quando você >> NÃO << precisar imprimir formatos de impressão e além disso, muito cuidado em casos que você não pode pular linha, nesse caso use o printf! 
OBS: Nunca use acentos nas mensagens do printf ou puts! 
Ex: 
puts("Isso eh uma mensagem!");
printf("Nao leva acento nenhum!\n");
------------------------------------//-----------------------------------------
- Melhor forma de exibir valores com casas decimais:
EX: Um programa que o usuário digita duas notas e as exibe na tela.
int main (void){
 float n1, n2;
 
 puts("Digite duas notas: ");
 scanf("%f%f", &n1, &n2);
 printf("Notas: %f %f\n", n1, n2);
 return 0;
}
Vamos supor que o usuário digite a nota 8 e 8.5:
Será impresso: >> Notas: 8.000000 8.500000 << 
Percebeu que quando usamos o formato %f o padrão é sempre exibir o valor com 6 casas decimais? :)
Mas visualmente isso não fica muito bom...Por isso recomendo que use sempre o formato %.1f ou %.2f pra exbir valores do tipo float! 
Usando %.1f: >> Notas: 8.0 8.5 << (1 casa decimal após o ponto)
Usando %.2f: >> Notas: 8.00 8.50 << (2 casas decimais após o ponto)
OBS: Alguns enunciados exigem que o valor seja exibido com X casas decimais, então é bom já ficar preparado! Por isso recomendo utilizar esse formato desde a P1! :) 
------------------------------------//-----------------------------------------
- Nunca use várias condições 'if' seguidas! 
Por exemplo, imagina que precisamos verificar 5 condições: A primeira será 'if', as 3 próximas serão 'else if' e por fim, a última pode ser um else if ou um else (Dependendo se houver uma condição final!)
OBS: A >>Única<< exceção é se caso uma condição não tiver nada a ver com a outra.
Exemplo: 
int main (void){
 int valor;
 puts("Digite um valor:");
 scanf("%d",&valor);
 if(valor <= 5){
 puts("O valor eh menor ou igual a 5");
 }
 else if(valor <= 10){
 puts("O valor eh maior que 5 e menor ou igual a 10"); 
 }
 else{
 puts("O valor eh maior que 10");
 }
 return 0;
}
Percebeu que essas condições seguem uma sequência? :)
Uma condição está interligada na outra!
Imagina que o usuário digitou o valor 8, então a condição 'if' é falsa. E a condição 'else if' será verdadeira, mas é preciso verificar se o valor é maior que 5 de novo?
NÃO! Pois é justamente essa a vantagem de usar o 'else if', ele sempre leva em consideração o resultado da condição anterior, ou seja, se chegar no 'else if' já quer dizer que o valor digitado é maior que 5!
else if(valor > 5 && valor <= 10) 
OBS: Escrever dessa forma é errado! (Apesar de funcionar!) Cuidado! É só se lembrar que o 'else if' sempre leva em consideração o resultado da condição anterior! Então não tem necessidade de colocar essa condição valor > 5!
------------------------------------//--------------------------------------
- Atalho em condições:
Se a condição só possui uma >> Única << linha, podemos omitir as chaves e além disso, colocar a linha ao lado da condição pra deixar mais claro visualmente.
EX: 
int main (void){ 
 int nota;
 printf("Digite a nota: \n");
 scanf("%d",&nota);
 if(nota >= 5) puts("Aprovado!");
 else if(nota >= 3) puts("Em PF");
 else puts("Reprovado!"); 
 
 return 0;
} 
-------------------------------------//----------------------------------------
- Observações em Negrito na prova: 
Em algumas provas é pedido que o aluno faça um programa e utilize as funções cujos protótipos foram dados no enunciado. Mas muito cuidado! Antes de sair fazendo a função, dê uma olhada rápida no resto do enunciado e veja se tem alguma observação em negrito dizendo: As seguintes Funções >> NÃO << devem ser desenvolvidas, apenas chamadas! 
Nessas questões você vai fingir que a função está feita e >> SÓ << vai chamar!
OBS: Levando em conta que a prova já tem um tempo bem limitado, então perder tempo tentando fazer uma função que o enunciado deixou claro que não era pra fazer é um erro fatal! :( 
A maioria dos enunciados vêm com exemplos mostrando exatamente como seria o resultado esperado na tela. Se achar o enunciado confuso ou com muita informação, não perca tempo! Pule direto pro exemplo e tente entender a partir dele ou alterne entre o enunciado e o exemplo pra desvendar a questão! 
-------------------------------------//---------------------------------------
- Organização no papel:
Sempre deixe um espaço em branco na linha de declaração das variáveis e após os "#include" também, pois não tem como ter certeza se vc vai precisar criar outras variáveis no resto da questão. (Ainda mais na P1 e P2 que são provas teóricas!)
Exemplo:
#include <stdio.h>
int main(void){
 int valor1, valor2;
 float media, soma;
 
 puts("Margem de espaço entre as variaveis e o programa!");
 return 0;
}
OBS: O ideal é sempre deixar essas margens em todos os seus programas pra ficar mais organizado.
----------------------------------//-----------------------------------------
- Nomes de variáveis:
Nome de variáveis e funções >>NUNCA<< podem ser iguais! Muito cuidado com isso, pois esse é um dos erros mais comuns em toda P1!
Ex: O enunciado te dá o protótipo de uma função "int soma (int valor, int valor2)" e pede pra vc desenvolver a função:
O erro mais comum é criar uma variável chamada soma também! 
int soma (int valor, int valor2){
 int soma;
 
 soma = valor + valor2;
 return soma;
} 
OBS: Pode até ser uma pegadinha do próprio enunciado pra te induzir ao erro, então muito cuidado, sempre use nomes diferentes!
----------------------------------//------------------------------------------
- Atalhos na escrita:
Na maioria dos programas, em algum momento podemos precisar usar um contador ou simplesmente fazer algum tipo de conta. (soma, subtração, etc) 
Escrever soma = soma + valor; é exatamente o >> MESMO << que escrever soma+= valor;
soma = soma - valor; é o mesmo que soma-= valor;
soma = soma * valor; é o mesmo que soma *= valor;
soma = soma / valor; é o mesmo que soma/= valor;
for(i=0;i<10;i++)
OBS: Aquele i++ na repetição do 'for' é na verdade i = i+1; ou seja, qualquer variável++ equivale o mesmo a somar + 1 e atribuir nela mesmo!
Mesmo esquema pra subtrair! 
EX: i--; contador--;
----------------------------------//------------------------------------------

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando