32
© M@nso 2003 Introdução à programação Computadores e programação I Linguagens de Linguagens de programação programação Introdução ao C (continuação)

© M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Embed Size (px)

Citation preview

Page 1: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

© M@nso 2003

Introdução à programação Computadores e programação I

Linguagens de Linguagens de programaçãoprogramação

Introdução ao C (continuação)

Page 2: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

SumárioSumário

Linguagem C Repetição de instruções

Ciclos com controlo inicial ciclo While ciclo For

Ciclos com controlo final ciclo Do While

Alteração do fluxo de dados Break continue

Resolução de Exercícios

Page 3: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Algoritmos computacionaisAlgoritmos computacionais Acções de um algoritmo computacional

Manipular dados Guardar dados

variaveis Receber dados

scanf Imprimir dados

printf Executar instruções

Fazer operações aritméticas Operadores simples Operadores sobre bites

Fazer operações lógicas Relacionais lógicos

Escolha entre várias instruções. If else Switch case

Repetir um conjunto de instruções

Page 4: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

© M@nso 2003

Introdução à programação Computadores e programação I

Estruturas de RepetiçãoEstruturas de Repetição

Page 5: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

ExercícioExercício

Construir um programa que imprima os números de 1 a 10

ContadorContador

#include <stdio.h>#include <stdio.h>int main(int argc, char* int main(int argc, char* argv[])argv[]){{

printf("1\n");printf("1\n");printf("2\n");printf("2\n");printf("3\n");printf("3\n");printf("4\n");printf("4\n");printf("5\n");printf("5\n");printf("6\n");printf("6\n");printf("7\n");printf("7\n");printf("8\n");printf("8\n");printf("9\n");printf("9\n");printf("10\n");printf("10\n");

}}

#include <stdio.h>#include <stdio.h>int main(int argc, char* int main(int argc, char* argv[])argv[]){{

printf("1\n");printf("1\n");printf("2\n");printf("2\n");printf("3\n");printf("3\n");printf("4\n");printf("4\n");printf("5\n");printf("5\n");printf("6\n");printf("6\n");printf("7\n");printf("7\n");printf("8\n");printf("8\n");printf("9\n");printf("9\n");printf("10\n");printf("10\n");

}}

EcrãEcrã

1122334455667788991010

1122334455667788991010

Page 6: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Instrução While Instrução While

Linguagem EstruturadaLinguagem Estruturada

ENQUANTO <condição> ENQUANTO <condição> FACA FACA Instrução 1 Instrução 1 Instrução 2Instrução 2 Instrução 3Instrução 3 . . .. . .FIM_ENQUANTOFIM_ENQUANTO

ENQUANTO <condição> ENQUANTO <condição> FACA FACA Instrução 1 Instrução 1 Instrução 2Instrução 2 Instrução 3Instrução 3 . . .. . .FIM_ENQUANTOFIM_ENQUANTO

condiçãocondiçãonãonão

simsim

Instruções Instruções

1.1. A condição é avaliadaA condição é avaliada2.2. Se o resultado for falsoSe o resultado for falso

O ciclo terminaO ciclo termina

3.3. Se o resultado for Se o resultado for verdadeiroverdadeiro

São executadas as São executadas as instruções do blocoinstruções do bloco

Volta-se ao ponto 1Volta-se ao ponto 1

Linguagem CLinguagem C

while (condição )while (condição ){{ Instrução 1;Instrução 1; Instrução 2;Instrução 2; Instrução 3;Instrução 3; . . .. . .}}

while (condição )while (condição ){{ Instrução 1;Instrução 1; Instrução 2;Instrução 2; Instrução 3;Instrução 3; . . .. . .}}

Page 7: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Exercício – Fluxograma Exercício – Fluxograma

InicioInicio

contador <=10contador <=10

nãonão

simsim

contador

FimFim

contador <- 1contador <- 1

Contador <- contador +1Contador <- contador +1

ContadorContador

#include <stdio.h>#include <stdio.h>int main(int argc, char* argv[]){int main(int argc, char* argv[]){

int contadorint contador==1;1;while( contador while( contador <=<= 10) 10){{

printf(" printf(" %d%d \n\n ", contador); ", contador); contadorcontador++++;;

}} return 0;return 0;

}}

#include <stdio.h>#include <stdio.h>int main(int argc, char* argv[]){int main(int argc, char* argv[]){

int contadorint contador==1;1;while( contador while( contador <=<= 10) 10){{

printf(" printf(" %d%d \n\n ", contador); ", contador); contadorcontador++++;;

}} return 0;return 0;

}}

Imprimir os primeiros dez números naturais

Page 8: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

ExercícioExercício

Escreva um programa que imprima os números ímpares menores que 20

InicioInicio

numero < 20numero < 20

nãonão

simsim

numero

FimFim

numero <- 1numero <- 1

Numero<- numero + 2Numero<- numero + 2

variáveisvariáveis

int contador = int contador = 11

int contador = int contador = 11

condiçãocondição

contador < contador < 2020

contador < contador < 2020

Intruções repetidasIntruções repetidas

printf(“%d “, printf(“%d “, contador);contador);contador = contador contador = contador +2;+2;

printf(“%d “, printf(“%d “, contador);contador);contador = contador contador = contador +2;+2;

Page 9: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

ExercícioExercícioInicioInicio

numero < 20numero < 20

nãonão

simsim

numero

FimFim

numero <- 1numero <- 1

numero <- numero + 2numero <- numero + 2

programaprograma

int main(int argc, char* argv[]){int main(int argc, char* argv[]){int contadorint contador==1;1;while( contador while( contador << 20) 20){{

printf("%dprintf("%d\t\t ", ", contador);contador); contadorcontador+=+= 2; 2;

}} return 0;return 0;

}}

int main(int argc, char* argv[]){int main(int argc, char* argv[]){int contadorint contador==1;1;while( contador while( contador << 20) 20){{

printf("%dprintf("%d\t\t ", ", contador);contador); contadorcontador+=+= 2; 2;

}} return 0;return 0;

}}

Page 10: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

MediaMedia#include <stdio.h>#include <stdio.h>int main(int argc, char* argv[]){int main(int argc, char* argv[]){

int contador =0;int contador =0; double numero, media, total;double numero, media, total; while( contador < 10 )while( contador < 10 ) {{ printf(" %d numero :",contador + 1);printf(" %d numero :",contador + 1); scanf("%lf", &numero);scanf("%lf", &numero); total += numero;total += numero; contador ++;contador ++; }} media = total / 10.0;media = total / 10.0; printf("Soma\t:%lf \t Media\t: %lf", total, media);printf("Soma\t:%lf \t Media\t: %lf", total, media); getch();getch();

return 0;return 0;}}

#include <stdio.h>#include <stdio.h>int main(int argc, char* argv[]){int main(int argc, char* argv[]){

int contador =0;int contador =0; double numero, media, total;double numero, media, total; while( contador < 10 )while( contador < 10 ) {{ printf(" %d numero :",contador + 1);printf(" %d numero :",contador + 1); scanf("%lf", &numero);scanf("%lf", &numero); total += numero;total += numero; contador ++;contador ++; }} media = total / 10.0;media = total / 10.0; printf("Soma\t:%lf \t Media\t: %lf", total, media);printf("Soma\t:%lf \t Media\t: %lf", total, media); getch();getch();

return 0;return 0;}}

ExercícioExercício

Escreva um programa que calcule e imprima a soma e a média de 10 números introduzidos pelo utilizador

InicioInicio

contador <= 10contador <= 10nãonão

simsim

FimFim

total <- 0contador <-1

total <- 0contador <-1

total <- total + valorcontador <- contador + 1

total <- total + valorcontador <- contador + 1

valorvalor

media <- total /10.0media <- total /10.0

media , total

Page 11: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Repetição – for Repetição – for

Linguagem EstruturadaLinguagem Estruturada

PARA <variavel> DE <expressao1> ATE <expressao2> PASSO PARA <variavel> DE <expressao1> ATE <expressao2> PASSO <expressao3><expressao3>           Instrução 1Instrução 1 Instrução 2Instrução 2 Instrução 3Instrução 3 . . .. . .PROXIMO PROXIMO

PARA <variavel> DE <expressao1> ATE <expressao2> PASSO PARA <variavel> DE <expressao1> ATE <expressao2> PASSO <expressao3><expressao3>           Instrução 1Instrução 1 Instrução 2Instrução 2 Instrução 3Instrução 3 . . .. . .PROXIMO PROXIMO

Linguagem C++Linguagem C++

for( inicialização ; condição ; actualização)for( inicialização ; condição ; actualização){{         Instrução 1;Instrução 1; Instrução 2;Instrução 2; Instrução 3;Instrução 3; . . .. . .}}

for( inicialização ; condição ; actualização)for( inicialização ; condição ; actualização){{         Instrução 1;Instrução 1; Instrução 2;Instrução 2; Instrução 3;Instrução 3; . . .. . .}}

Page 12: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

InicioInicio

numero < 20numero < 20

nãonão

simsim

numero

FimFim

numero <- 1numero <- 1

numero <- numero + 2numero <- numero + 2

ciclo forciclo for

Inicialização

condição

Actualização

Intruções

Page 13: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

RepetiçãoRepetição

ImparesImpares

#include <stdio.h>#include <stdio.h>int main(int argc, char* argv[])int main(int argc, char* argv[]){{

int numero;int numero; for( numero = 1 ; numero < 20 ; numero for( numero = 1 ; numero < 20 ; numero += 2)+= 2) {{ printf("%d\t", numero);printf("%d\t", numero); }}

}}

#include <stdio.h>#include <stdio.h>int main(int argc, char* argv[])int main(int argc, char* argv[]){{

int numero;int numero; for( numero = 1 ; numero < 20 ; numero for( numero = 1 ; numero < 20 ; numero += 2)+= 2) {{ printf("%d\t", numero);printf("%d\t", numero); }}

}}

InicioInicio

numero < 20numero < 20

nãonão

simsim

numero

FimFim

numero <- 1numero <- 1

numero <- numero + 2numero <- numero + 2

InicioInicio

numero < 20numero < 20

nãonão

simsim

numero

FimFim

numero <- 1numero <- 1

numero <- numero + 2numero <- numero + 2

Page 14: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

ExercícioExercício

AsteriscosAsteriscos

#include <stdio.h>#include <stdio.h>#include <conio.h>#include <conio.h>int main(int argc, char* argv[])int main(int argc, char* argv[]){{ int dimLinha, contador;int dimLinha, contador; printf("Qual o comprimento da linha :");printf("Qual o comprimento da linha :"); scanf("%d",&dimLinha);scanf("%d",&dimLinha);

clrscr();clrscr(); for( contador =0 ; contador < dimLinha ; for( contador =0 ; contador < dimLinha ; contador++)contador++) printf("*");printf("*");

getch();getch();}}

#include <stdio.h>#include <stdio.h>#include <conio.h>#include <conio.h>int main(int argc, char* argv[])int main(int argc, char* argv[]){{ int dimLinha, contador;int dimLinha, contador; printf("Qual o comprimento da linha :");printf("Qual o comprimento da linha :"); scanf("%d",&dimLinha);scanf("%d",&dimLinha);

clrscr();clrscr(); for( contador =0 ; contador < dimLinha ; for( contador =0 ; contador < dimLinha ; contador++)contador++) printf("*");printf("*");

getch();getch();}}

Escreva um programa que imprima uma sequência de asteriscos (*) no ecrã. O tamanho da sequência deve ser dado pelo utilizador 5

*****

Limpa a consola

Page 15: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

RepetiçãoRepetição

Escreva um programa que imprima um rectângulo com asteriscos no monitor. A altura e largura deve ser introduzida pelo utilizador

Page 16: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

ExercícioExercício

rectângulorectângulo

#include <stdio.h>#include <stdio.h>#include <conio.h>#include <conio.h>int main(int argc, char* argv[])int main(int argc, char* argv[]){{ int altura,largura, x , y;int altura,largura, x , y; printf("altura:");printf("altura:"); scanf("%d",&altura);scanf("%d",&altura); printf("largura:");printf("largura:"); scanf("%d",&largura);scanf("%d",&largura); for( y=0 ; y < altura ; y++){for( y=0 ; y < altura ; y++){ for( x =0 ; x < largura ; x++)for( x =0 ; x < largura ; x++) printf("*");printf("*");

printf("\n");printf("\n"); }} getch();getch();}}

#include <stdio.h>#include <stdio.h>#include <conio.h>#include <conio.h>int main(int argc, char* argv[])int main(int argc, char* argv[]){{ int altura,largura, x , y;int altura,largura, x , y; printf("altura:");printf("altura:"); scanf("%d",&altura);scanf("%d",&altura); printf("largura:");printf("largura:"); scanf("%d",&largura);scanf("%d",&largura); for( y=0 ; y < altura ; y++){for( y=0 ; y < altura ; y++){ for( x =0 ; x < largura ; x++)for( x =0 ; x < largura ; x++) printf("*");printf("*");

printf("\n");printf("\n"); }} getch();getch();}}

Page 17: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

© M@nso 2003

Introdução à programação Computadores e programação I

Repetição com controlo Repetição com controlo finalfinal

Do while

Page 18: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Estruturas de repetiçãoEstruturas de repetição

Controlo inicialControlo inicialControlo finalControlo final

condiçãocondição

nãonão

simsim

Instruções Instruções

condiçãocondição

nãonão

simsim

Instruções Instruções

Page 19: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Controlo finalControlo final

Utiliza-se para:•Validar entradas•Repetição de um bloco mais que uma vez

Utiliza-se para:•Validar entradas•Repetição de um bloco mais que uma vez

CCdo{ Instruções;} while(condiçao)

do{ Instruções;} while(condiçao)

Funcionamento1. Executa as instruções2. Avaliar a condição3. Se o resultado for falso

O ciclo termina

4. Se o resultado for verdadeiro Voltar ao passo 1

condiçãocondição

nãonão

simsim

Instruções Instruções

Page 20: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Exemplo do…WhileExemplo do…While

Pedir ao utilizador o seu mês de nascimento.

ProgramaPrograma

. . . . . . int mes;int mes; do{do{ printf(“Mês nascimento\t:");printf(“Mês nascimento\t:"); scanf("%d",&dia);scanf("%d",&dia); } while( mes <1 || mes > 12);} while( mes <1 || mes > 12); . . .. . .

. . . . . . int mes;int mes; do{do{ printf(“Mês nascimento\t:");printf(“Mês nascimento\t:"); scanf("%d",&dia);scanf("%d",&dia); } while( mes <1 || mes > 12);} while( mes <1 || mes > 12); . . .. . .

ecrãecrã

Mês de nascimento : Mês de nascimento : 2020Mês de nascimento : Mês de nascimento : -2-2Mês de nascimento : Mês de nascimento : 00Mês de nascimento : Mês de nascimento : 1111

Mês de nascimento : Mês de nascimento : 2020Mês de nascimento : Mês de nascimento : -2-2Mês de nascimento : Mês de nascimento : 00Mês de nascimento : Mês de nascimento : 1111

mes < 1ou

mes >12

mes < 1ou

mes >12

nãonão

simsim

mes

Page 21: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Exemplo do…WhileExemplo do…While

Pedir ao utilizador se que deseja repetir a execução do programa

ProgramaPrograma

do{do{ . . . .. . . .

do{do{ printf("Deseja continuar (s/n) ? ");printf("Deseja continuar (s/n) ? "); resp = getch();resp = getch(); }while( resp != 's' || resp != 'n');}while( resp != 's' || resp != 'n');

}while( resp != 'n' );}while( resp != 'n' );

do{do{ . . . .. . . .

do{do{ printf("Deseja continuar (s/n) ? ");printf("Deseja continuar (s/n) ? "); resp = getch();resp = getch(); }while( resp != 's' || resp != 'n');}while( resp != 's' || resp != 'n');

}while( resp != 'n' );}while( resp != 'n' );

condiçãocondição

nãonão

simsim

Instruções Instruções

condiçãocondição

nãonão

simsim

Instruções Instruções

Page 22: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

© M@nso 2003

Introdução à programação Computadores e programação I

Alteração do fluxo do Alteração do fluxo do programaprograma

Quebra de ciclos

Page 23: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Ciclos de instruçõesCiclos de instruções

Instruções

Condição

INICIO

FIM

V break; return; etc.

Ciclo forCiclo for

for( ; ; )for( ; ; ){{ . . .. . .}}

for( ; ; )for( ; ; ){{ . . .. . .}}

Ciclo WhileCiclo While

While( true)While( true){{ . . .. . .}}

While( true)While( true){{ . . .. . .}}

Ciclo do WhileCiclo do While

dodo{{

}While( true);}While( true);

dodo{{

}While( true);}While( true);

Page 24: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Quebra de ciclosQuebra de ciclos

Break A instrução break

pode servir para terminar uma sequencia de instruções dentro de um switch ou dentro de um ciclo

Condição

INICIO

FIM

V

Instruções

break

Instruções

F

Page 25: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Quebra de ciclos - ExemploQuebra de ciclos - Exemplo Pedir o mês de nascimento

ProgramaPrograma

. . .. . . int mes;int mes; while(true){while(true){ printf("mes\t:");printf("mes\t:"); scanf("%d",&mes);scanf("%d",&mes); if(mes >0 && mes < 13)if(mes >0 && mes < 13)

break;break; printf("mes incorrecto  »);printf("mes incorrecto  »); . . .. . . }}

. . .. . . int mes;int mes; while(true){while(true){ printf("mes\t:");printf("mes\t:"); scanf("%d",&mes);scanf("%d",&mes); if(mes >0 && mes < 13)if(mes >0 && mes < 13)

break;break; printf("mes incorrecto  »);printf("mes incorrecto  »); . . .. . . }}

EcrãEcrã

mes : mes : 200200Mês incorrectoMês incorrectomes : mes : -1-1Mês incorrectoMês incorrectomes : mes : 22

mes : mes : 200200Mês incorrectoMês incorrectomes : mes : -1-1Mês incorrectoMês incorrectomes : mes : 22

Condição

INICIO

FIM

V

Instruções

break

Instruções

F

Condição

INICIO

FIM

V

Instruções

break

Instruções

F

Page 26: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Continuação de ciclosContinuação de ciclos

Continue A instrução

continue passa o ciclo directamente para a próxima iteração

Condição

INICIO

FIM

V

Instruções

continue

Instruções

F

Page 27: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Continuação de ciclos - ExemploContinuação de ciclos - Exemplo Escrever os números impares menores que 10

ProgramaPrograma

#include <iostream.h>#include <iostream.h>main()main(){{ int i=0;int i=0; while(i< 10) {while(i< 10) { i++; i++; if( i%2 ==0){if( i%2 ==0){

continue;continue; }} cout << i << endl; cout << i << endl; }}}}

#include <iostream.h>#include <iostream.h>main()main(){{ int i=0;int i=0; while(i< 10) {while(i< 10) { i++; i++; if( i%2 ==0){if( i%2 ==0){

continue;continue; }} cout << i << endl; cout << i << endl; }}}}

Condição

INICIO

FIM

V

Instruções

continue

Instruções

F

Page 28: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

ExercicioExercicio

Contrua um programa que calcule a média de todos os termos positivos de uma sequência de números que termina com zero.

A sequencia deve ser introduzido pelo utilizador

Exemplo 1 2 -1 3 -6 0

Média: 2 2 -1 -3 -6 4 4 6 -20 0

Média: 4Condição

V

Instruções

continue

Instruções

FCondição

V

Instruções

Break

Instruções

Page 29: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

sequência de Númerossequência de NúmerosProgramaPrograma

float num, soma=0;float num, soma=0; int contador=0;int contador=0; while(true){while(true){ printf("numero :");printf("numero :"); scanf("%f",&num);scanf("%f",&num); if( num == 0 )if( num == 0 ) break;break; if( num < 0 )if( num < 0 ) continue;continue;

contador++;contador++; soma+=num;soma+=num; }} printf(" media : %f ", soma / printf(" media : %f ", soma / contador);contador);

float num, soma=0;float num, soma=0; int contador=0;int contador=0; while(true){while(true){ printf("numero :");printf("numero :"); scanf("%f",&num);scanf("%f",&num); if( num == 0 )if( num == 0 ) break;break; if( num < 0 )if( num < 0 ) continue;continue;

contador++;contador++; soma+=num;soma+=num; }} printf(" media : %f ", soma / printf(" media : %f ", soma / contador);contador);

CondiçãoV

Instruções

continue

Instruções

F

CondiçãoV

Instruções

Break

Instruções

Page 30: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

© M@nso 2003

Introdução à programação Computadores e programação I

ExercíciosExercícios

Page 31: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

Construa um programa que calcule o factorial de um número introduzido pelo utilizador. Os factoriais estão disponíveis para os

números entre 1 e 13. Construa um programa que verifique

se um número introduzido pelo utilizador é primo.

Construa um programa que imprima as dez tabuadas no ecrã separadas por uma linha em branco

ecrãecrã. . .. . .6 x 4 = 246 x 4 = 247 x 4 = 287 x 4 = 288 x 4 = 328 x 4 = 329 x 4 = 369 x 4 = 3610 x 4 = 610 x 4 = 6

1 x 5 = 51 x 5 = 52 x 5 = 102 x 5 = 103 x 5 = 153 x 5 = 154 x 5 = 204 x 5 = 205 x 5 = 255 x 5 = 25. . .. . .

. . .. . .6 x 4 = 246 x 4 = 247 x 4 = 287 x 4 = 288 x 4 = 328 x 4 = 329 x 4 = 369 x 4 = 3610 x 4 = 610 x 4 = 6

1 x 5 = 51 x 5 = 52 x 5 = 102 x 5 = 103 x 5 = 153 x 5 = 154 x 5 = 204 x 5 = 205 x 5 = 255 x 5 = 25. . .. . .

Page 32: © M@nso 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)

Introdução à programação Computadores e programação I

© M@nso 2004

ExercíciosExercícios Construa um programa que peça ao utilizador

a hora actual e imprima o número de segundos que passaram desde a meia noite. (valide a hora actual no acto da introdução)

Construa um programa que solicite ao utilizador duas horas válidas e imprima a hora mais tardia no formato hh:mm:ss.

Construa um programa que permita introduzir uma data de nascimento correcta validando o ano (>1900) o mês e o dia e a imprima no formato dd/mm/aa (ex. 05/10/99 ; 25/01/02)