Programação I

2006/2007

1ºano

Ficha de Trabalho nº5                                      

Tema: Instruções de Selecção                     

 

Tópicos:            Condições lógicas

                                               Operadores relacionais

                                               Operadores lógicos

                                               If-else, switch, break

                                               Instruções if-else encadeadas

                                               Operador condicional

 

Exercícios resolvidos

Exercício 1

Implemente um programa que adicione 100 euros ao salário de um indivíduo, caso este seja inferior a 400 euros.

#include <stdio.h>

main()

{

  float salario;

 printf(“Qual o salário? \n”);

 scanf("%f",&salario);

 if (salario<400)  salario=salario+100;

 printf(“Salário final: %.1f\n”,salario);

}

Exercício 2

Escreva um programa que indique qual o estado civil correspondente a um carácter introduzido em maiúsculas.

# include <stdio.h>

main()

{ char Est_Cicil;

  printf(“Qual o estado Civil: “);

  scanf(“ %c”, &Est_Civil);

  switch(Est_Civil)

     {

       case ‘C’ : printf(“Casado\n”); break ;

       case ‘S’ : printf(“Solteiro\n”); break;

       case ‘D’ : printf(“Divorciado\n”); break;

      case ‘V’ : printf(“Viúvo\n”); break;

       default: printf(“Estado Civil incorrecto\n”);

     }

}        

 

Exercícios a resolver:

 

Exercício 3

a)      Implemente um programa que leia três valores inteiros.

b)      Acrescente ao programa a capacidade de indicar se algum dos valores é zero.

c)      Reformule agora o programa de forma a que os três valores sejam apresentados por ordem crescente.

 

Exercício 4

 

Desenvolva um programa que diga se um dado carácter lido é do tipo algarismo, letra minúscula, letra maiúscula ou de um tipo não alfanumérico.

 

Exercício 5

 

a)      Escreva um programa que leia uma data e verifique se esta é ou não válida.

 

b)      Acrescente ao programa a possibilidade de determinar, com base na data lida, o n.º de dias que faltam para terminar o mês (considere que o mês de Fevereiro tem 28 dias).

 

Exercício 6

Escreva um programa capaz de identificar se uma pessoa é anã, gigante ou de estatura normal. Utilize apenas condições IF. As condições são as seguintes:

Altura<1.40m                      Anã

1.40m=<Altura<=2.00m     Estatura normal

Altura>2.00m                      Gigante

 

Exercício 7

Utilizando uma estrutura switch, escreva um programa que leia um caracter e que consoante seja esse caracter, imprima a mensagem respectiva.

S – SLB

G – G.D. BRAGANÇA

B – BEIRA MAR

A – ALVERCA

 

Se for inserido um caracter não previsto deverá aparecer a mensagem “Clube sem motivos de interesse”.

 

Exercício 8

Rescreva o programa do exercício anterior utilizando uma estrutura IF ELSE.

 

 

 

 

Exercícios extra-aulas

 

Exercício 9

Implemente um programa que receba o peso de uma pessoa e o seu sexo, e indique o seu estado actual.

Masculino

Feminino

Peso

Estado actual

Peso

Estado actual

..50

Muito Magro

..40

Muito Magra

51..60

Magro

41..50

Magra

61..80

Equilibrado

51..65

Equilibrada

81..90

Gordo

66..80

Gorda

91..

Muito Gordo

81..

Muito Gorda

 

Exercício 10

Crie um programa que simule uma máquina de calcular que efectue as operações aritméticas mais básicas (+, -, /, *).

A-Adição

S-Subtracção

D-Divisão

M-Multiplicação

Q-Sair

Escolha opção: 2

Introduza dois números:

10

4

O resultado é igual a: 6

O que se encontra descrito acima deverá repetir-se até que o utilizador escolha a opção Q.