Operadores e loops “if else”
O mundo está constantemente a evoluir: desde o mais pequeno inseto à espécie Humana. Evolução, mudança, futuro – são das palavras que mais são ouvidas atualmente.
A tecnologia tem revolucionado o mundo das mais diversas formas. Se quer entrar no mundo da tecnologia e deixar a sua marca, pode começar aqui.
Visualize este vídeo no YouTube
Operadores
Operadores são símbolos para efetuar determinadas ações. Na programação existem diversos tipos de operadores. Operadores estes que também existem noutras áreas do conhecimento como matemática, por exemplo.
Serão abordados 3 tipos de operadores: aritméticos, de atribuição e relacionais. O primeiro grupo de operadores serve, obviamente, para efetuar operações matemáticas. São utilizados os seguintes símbolos:
Operadores Aritméticos | ||
Nome | Símbolo | Exemplo |
Soma | + | 5 + 4 = 9 |
Subtração | – | 154 – 10 = 144 |
Multiplicação | * | 5,55 * 10 = 55,5 |
Divisão | / | 40 / 2 = 20 |
Resto de uma divisão | % | 1500 % 11 = 4 |
Os operadores de atribuição, tal como o próprio nome indica, servem para atribuir a uma variável, determinado valor. Existem vários operadores de atribuição e, muitos deles, funcionam como abreviatura para operações aritméticas.
Relembro que os operadores que aqui estão representados existem em muitas outras linguagens e que existem alguns outros dependendo da linguagem de programação.
Operadores de Atribuição | ||
Símbolo | Exemplo* | |
= | var = 20 → 20 | |
+= | var += 5 (igual a var = var + 5) → 25 | |
-= | var -= 10 → 15 | |
*= | var *= 4 → 60 | |
/= | var /= 5 → 12 | |
%= | var %= 5 → 2 |
* Os exemplos aqui apresentados estão todos encadeados. O valor de var no segundo exemplo é atribuído no primeiro exemplo e assim consequentemente. Os valores a negritos precedidos por uma seta (→) correspondem ao valor com que a variável ficou.
Os operadores que agora vamos abordar, serão extremamente úteis para a matéria seguinte (Loops) pois permitem-nos efetuar comparações entre variáveis numéricas. Ora veja:
Operadores Relacionais | ||
Nome | Símbolo | Exemplo |
Igualdade | == | x == y → retorna TRUE se x for igual a y e FALSE se tiverem valores diferentes |
Diferente | != | x != y → retorna TRUE se x for diferente de y ou FALSE se x for igual a y |
Maior | > | x > 40 |
Maior ou Igual | >= | y >= 25 |
Menor | < | y < 20 |
Menor ou Igual | <= | x <= y |
Loops “if else”
Os loops “if else” permitem executar determinados trechos de código dependendo do resultado de um teste lógico/condicional. A palavra if quer dizer “se” e else quer dizer, neste caso, “ou”. A sintaxe deste loop é a seguinte: if (condição) { //Se a condição retornar TRUE então este código é executado. } else { //Caso contrário, isto é executado. }
Comentários
No código acima pode verificar que utilizámos duas barras (//) e depois escrevemos algo. Isto chamam-se comentários e são simplesmente ignorados pelo compilador.
Existem dois tipos de comentários: comentários de uma linha e comentários de várias linhas. Veja o seguinte exemplo:
#include
int main()
{
int n = 1; //Até ao final da linha é um comentário.
/*
TUDO ISTO é um comentário
*/
}
Imagine que tem uma variável que contém um número qualquer e quer que o seu código imprima se a variável é maior ou igual a 50 ou menor que 50. Como vai proceder?
Para criar este algoritmos precisamos de inicializar uma variável, efetuar um teste condicional (utilizando um operador relacional) e depois executar o código em questão. Veja: #include
int main() { int n = 25;
if (n >= 50) { printf(“O valor %d é maior ou igual a 50.”, n); } else { printf(“O valor %d é menor que 50.”, n); }
return 0; } Este trecho de código imprime uma mensagem a dizer que 25 é menor que 50. Como pode ver, isto apenas nos diz se a variável é menor que 50 ou então maior ou igual.
Mas, e seu quiser que as seguintes condições sejam testadas:
- Se for maior que 50 imprime X.
- Se for igual a 50 imprime Y.
- Se for menor que 50 imprime Z.
Podíamos efetuar este teste condicional da seguinte forma:
if (n > 50) { printf(“O valor %d é maior que 50.\n”, n); }if (n < 50) { printf("O valor %d é menor que 50.\n", n); } if (n == 50) { printf("A variável é igual a 50.\n"); } Isto tornaria o código um pouco repetitivo. Podemos utilizar o comando else if que quer dizer “ou se” da seguinte forma: if (n == 50) { printf(“A variável é igual a 50.\n”); } else if (n < 50) { printf("O valor %d é menor que 50.\n", n); } else { printf("O valor %d é maior que 50.\n", n); }
Como gerar um número aleatório
Nos exercícios seguintes, irá precisar de gerar um número aleatório. Para o fazer, irá necessitar de incluir mais um ficheiro .h que se chama time.h.
Pode utilizar a função para gerar números aleatórios da seguinte forma: #include #include #include
int main() { //Inicializar a seed para o número aleatório srand (time(NULL)); //Atribuir o número aleatório (entre 1 e 10) a uma variável int n = (rand() % 10) + 1;
return 0; } Mais tarde falaremos melhor sobre esta função. Deverá incluir a biblioteca “stdlib” que é uma biblioteca de propósito geral que contém um leque de funções muito utilizadas, incluindo a rand e a srand.
Exercícios
1 – Crie três variáveis. Duas com números à sua escolha e uma terceira com a soma das outras duas. De seguida, imprima o valor das duas.
2 – Crie uma variável do tipo número inteiro que contenha um valor entre 1 e 100. De seguida, duplique o seu valor.
Depois, verifique se o seu valor é igual a 100 e, caso seja, imprima uma mensagem de congratulação.
Caso o valor seja mais pequeno que 100, imprima o valor e que este é menor que 100. Faça o mesmo caso o número seja maior que 100 alterando a mensagem para corresponder.
3 – Crie um programa que resolva uma equação de 2º grau completa de 3 números aleatórios lembrando que a fórmula para resolver equações de 2º grau completas é a seguinte:
Na próxima semana iremos falar de como interagir com o utilizador. Será, talvez, um dos pontos mais emocionantes até hoje.
Mais uma vez, gostávamos de saber a sua opinião. Caso tenha alguma dúvida, pode sempre utilizar os comentários para colocar a questão. Caso o faça, pedimos que utilize a keyword [DUVIDA] no início do seu comentário.