Você está na página 1de 11

Aula 3 – Lab.

de informática e
computadores (14205)
Prof. Gabriel Carneiro
gabrielc@utad.pt

1
Na aula passada
• Palavras-chave: scanf, stdio.h, constantes
• Lê dados através do teclado (scanf)
• Tipos de dados e como referi-los ‘&’ seguido da variável que desejamos
guardar o valor lido
• stdio.h, math.h
scanf("%d",&variavel);

Referência ao tipo de
dados que deseja-se ler

3
Objetivos de hoje
Let’s
• Estruturas de controlo de fluxo do programa do this!
• Estruturas de decisão
• Estrutura case
• Exercícios 6, 7, 8, 9

• Palavras-chave: ou, e, if, else, else if, case


4
Operadores em C
• Leitura complementar: https://www.inf.ufpr.br/roberto/ci067/02_operad.html
• Operadores aritméticos: soma, subtração, divisão, multiplicação, …
• Resultam números
• Operadores relacionais
• Verifica relações entre valores
• Igual, diferente, maior que, menor que, maior ou igual, menor ou igual
• Resultam “true”, “false”
• Operadores lógicos
• AND, OR, NOT
• Resultam em “true”, “false”
• Operadores de atribuição
• = é diferente de ==

5
#define _CRT_SECURE_NO_WARNINGS
Exemplo: Exc. 6 #include<stdio.h>
#include <stdlib.h>
int main()
{
Escreva um programa que int t_dias, anos, semanas, dias;
peça ao utilizador um printf("Introduza os dias: ");
valor em dias e os scanf("%d", &t_dias);
converta para anos,
semanas e dias (suponha anos = t_dias / 365;
t_dias = t_dias % 365;
que não existem anos semanas = t_dias / 7;
bissextos). dias = t_dias % 7;

printf("Anos: %d\n", anos);


printf("Semanas: %d\n", semanas);
printf("Dias: %d\n", dias);

return 1;
}
6
Exercício 7
Let’s code
Escreva um programa que calcule as raízes de this!
uma equação de segundo grau. Considere a=3,
b=11 e c=2.

7
Estruturas de Decisão
• Alteram o fluxo de execução de um programa: if, else, else if
• Leitura:
https://www.inf.pucrs.br/~pinho/LaproI/ComandosDeDecisao/Decisao.htm
Expressão lógica! (retorna
VERDADEIRO ou FALSO)

if (x % 2 == 0) {
printf("x é par");
}
Em caso de falso testa a
else if (x % 3 == 0) {
nova expressão
printf("x é divisível por 3");
} Caso todas as
else { expressões anteriores
printf("x não é par e nem é divisível sejam falsas, executa
por 3"); OBRIGATORIAMENTE
} 8
int opcao, valor;

Estruturas de Decisão printf("Converter: \n");


printf("1: Decimal para Hexadecimal.\n");
printf("2: Hexadecimal para Decimal.\n");
• Swich case printf("\nInforme sua Opcao.\n");
scanf("%d", &opcao);

switch (opcao)
{
case 1:
printf("\nInforme o valor em decimal: ");
scanf("%d", &valor);
printf("%d em hexadecimal e: %x", valor,
valor);
break;

case 2:
printf("\nInforme o valor em hexadecimal: ");
scanf("%x", &valor);
printf("%x em decimal e: %d", valor, valor);
break;

default:
printf("\nOpcoes invalidas. tente outra
vez.");
}
9
Exemplo: Exc. 9

Escreva um programa que


[…]
leia um inteiro através do int x;
teclado e determine se
printf("Insira um inteiro:");
ele é simultaneamente scanf("%d", &x);
divisível por 3 e por 5 if (x % 3 == 0 && x % 5 == 0)
printf("E simultaneamente divisivel por 3 e por
5\n");
else
printf("Nao e simultaneamente divisevel por 3 e por
5\n");

[…]

10
Exercício 8
Let’s code
Escreva um programa que leia um inteiro this!
introduzido através do teclado e determine se
ele é par ou ímpar.

11
Exercício Extra!
Let’s turn this a
Escreva um programa que leia um inteiro little hard!
introduzido através do teclado e determine se
se ele é divisível por 2, 3 e 5.

Por exemplo, para o número 2 o programa


deve retornar que ele é divisível por 2.
Enquanto para o número 6, que ele é divisível
por 2 e 3. Para o 30, que ele é divisível por 2, 3,
5. Enquanto, caso o número dado seja o 11,
que ele não é divisível por nenhum dos três!

12

Você também pode gostar