Introduo programao Computadores e programao I Linguagens de

  • Slides: 32
Download presentation
 Introdução à programação Computadores e programação I Linguagens de programação Introdução ao C

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

 Introdução à programação Sumário n Linguagem C n Repetição de instruções n Ciclos

Introdução à programação Sumário n Linguagem C n Repetição de instruções n Ciclos com controlo inicial n n n Ciclos com controlo final n n ciclo Do While Alteração do fluxo de dados n n n ciclo While ciclo For Break continue Resolução de Exercícios © M@nso 2004 09/09/2020 Computadores e programação I

 Introdução à programação Computadores e programação I Algoritmos computacionais · Acções de um

Introdução à programação Computadores e programação I Algoritmos computacionais · Acções de um algoritmo computacional : Manipular dados : Guardar dados : : Receber dados : : scanf Imprimir dados : : variaveis printf Executar instruções : Fazer operações aritméticas : : : Fazer operações lógicas : : : Relacionais lógicos Escolha entre várias instruções. : : : Operadores simples Operadores sobre bites If else Switch case Repetir um conjunto de instruções © M@nso 2004 09/09/2020

 Introdução à programação Computadores e programação I Estruturas de Repetição © M@nso 2003

Introdução à programação Computadores e programação I Estruturas de Repetição © M@nso 2003 09/09/2020

 Introdução à programação Computadores e programação I Exercício n Construir um programa que

Introdução à programação Computadores e programação I Exercício n Construir um programa que imprima os números de 1 a 10 Contador #include <stdio. h> int main(int argc, char* argv[]) { printf("1n"); printf("2n"); printf("3n"); printf("4n"); printf("5n"); printf("6n"); printf("7n"); printf("8n"); printf("9n"); printf("10n"); } © M@nso 2004 09/09/2020 Ecrã 1 2 3 4 5 6 7 8 9 10

 Introdução à programação Computadores e programação I Instrução While Linguagem Estruturada não ENQUANTO

Introdução à programação Computadores e programação I Instrução While Linguagem Estruturada não ENQUANTO <condição> FACA Instrução 1 Instrução 2 Instrução 3 . . . FIM_ENQUANTO condição sim Instruções Linguagem C 1. 2. A condição é avaliada Se o resultado for falso n 3. O ciclo termina Se o resultado for verdadeiro n São executadas as instruções do bloco Volta-se ao ponto 1 n © M@nso 2004 09/09/2020 while (condição ) { Instrução 1; Instrução 2; Instrução 3; . . . }

 Introdução à programação Computadores e programação I Exercício – Fluxograma Inicio contador <-

Introdução à programação Computadores e programação I Exercício – Fluxograma Inicio contador <- 1 Imprimir os primeiros dez números naturais não contador <=10 sim contador Contador <- contador +1 Contador #include <stdio. h> int main(int argc, char* argv[]){ int contador=1; while( contador <= 10) { printf(" %d n ", contador); contador++; } return 0; } Fim © M@nso 2004 09/09/2020

 Introdução à programação Computadores e programação I Exercício n Inicio Escreva um programa

Introdução à programação Computadores e programação I Exercício n Inicio Escreva um programa que imprima os números ímpares menores que 20 numero <- 1 não numero < 20 sim variáveis int contador = 1 numero condição Numero<- numero + 2 contador < 20 Intruções repetidas printf(“%d “, contador); contador = contador +2; © M@nso 2004 09/09/2020 Fim

 Introdução à programação Computadores e programação I Exercício Inicio numero <- 1 programa

Introdução à programação Computadores e programação I Exercício Inicio numero <- 1 programa não int main(int argc, char* argv[]){ int contador=1; while( contador < 20) { printf("%dt ", contador); contador+= 2; } return 0; } numero < 20 sim numero <- numero + 2 Fim © M@nso 2004 09/09/2020

 Introdução à programação Exercício n Inicio Escreva um programa que calcule e imprima

Introdução à programação Exercício n Inicio Escreva um programa que calcule e imprima a soma e a média de 10 números introduzidos pelo utilizador não Media total <- 0 contador <-1 contador <= 10 sim #include <stdio. h> int main(int argc, char* argv[]){ valor int contador =0; double numero, media, total; while( contador < 10 ) { printf(" %d numero : ", contador + 1); scanf("%lf", &numero); total += numero; contador ++; } media = total / 10. 0; printf("Somat: %lf t Mediat: %lf", total, media); getch(); return 0; } © M@nso 2004 Computadores e programação I 09/09/2020 total <- total + valor contador <- contador + 1 media <- total /10. 0 media , total Fim

 Introdução à programação Computadores e programação I Repetição – for Linguagem Estruturada PARA

Introdução à programação Computadores e programação I Repetição – for Linguagem Estruturada PARA <variavel> DE <expressao 1> ATE <expressao 2> PASSO <expressao 3> Instrução 1 Instrução 2 Instrução 3 . . . PROXIMO Linguagem C++ for( inicialização ; condição ; actualização) { Instrução 1; Instrução 2; Instrução 3; . . . } © M@nso 2004 09/09/2020

 Introdução à programação Computadores e programação I ciclo for o ã ç a

Introdução à programação Computadores e programação I ciclo for o ã ç a z i l a i c i n Inicio numero <- 1 não numero < 20 I condição sim Intruções numero <- numero + 2 Actu Fim © M@nso 2004 09/09/2020 aliza ç ão

 Introdução à programação Repetição Impares #include <stdio. h> int main(int argc, char* argv[])

Introdução à programação Repetição Impares #include <stdio. h> int main(int argc, char* argv[]) { int numero; for( numero = 1 ; numero < 20 ; numero += 2) { printf("%dt", numero); } } © M@nso 2004 09/09/2020 Computadores e programação I

 Introdução à programação Computadores e programação I Exercício n Escreva um programa que

Introdução à programação Computadores e programação I Exercício n Escreva um programa que imprima uma sequência de asteriscos (*) no ecrã. O tamanho da sequência deve ser dado pelo utilizador n Asteriscos 5 n ***** #include <stdio. h> #include <conio. h> int main(int argc, char* argv[]) { int dim. Linha, contador; printf("Qual o comprimento da linha : "); scanf("%d", &dim. Linha); Limpa a consola clrscr(); for( contador =0 ; contador < dim. Linha ; contador++) printf("*"); getch(); } © M@nso 2004 09/09/2020

 Introdução à programação Computadores e programação I Repetição n Escreva um programa que

Introdução à programação Computadores e programação I Repetição n Escreva um programa que imprima um rectângulo com asteriscos no monitor. A altura e largura deve ser introduzida pelo utilizador © M@nso 2004 09/09/2020

 Introdução à programação Exercício rectângulo #include <stdio. h> #include <conio. h> int main(int

Introdução à programação Exercício rectângulo #include <stdio. h> #include <conio. h> int main(int argc, char* argv[]) { int altura, largura, x , y; printf("altura: "); scanf("%d", &altura); printf("largura: "); scanf("%d", &largura); for( y=0 ; y < altura ; y++){ for( x =0 ; x < largura ; x++) printf("*"); printf("n"); } getch(); } © M@nso 2004 09/09/2020 Computadores e programação I

 Introdução à programação Computadores e programação I Repetição com controlo final Do while

Introdução à programação Computadores e programação I Repetição com controlo final Do while © M@nso 2003 09/09/2020

 Introdução à programação Computadores e programação I Estruturas de repetição não condição sim

Introdução à programação Computadores e programação I Estruturas de repetição não condição sim Instruções sim condição não Controlo inicial © M@nso 2004 Controlo final 09/09/2020

 Introdução à programação Computadores e programação I Controlo final Funcionamento 1. 2. 3.

Introdução à programação Computadores e programação I Controlo final Funcionamento 1. 2. 3. 4. Executa as instruções Avaliar a condição Se o resultado for falso n Instruções O ciclo termina Se o resultado for verdadeiro n sim Voltar ao passo 1 condição C do { Instruções; } while(condiçao) © M@nso 2004 não Utiliza-se para: • Validar entradas • Repetição de um bloco mais que uma vez 09/09/2020

 Introdução à programação Computadores e programação I Exemplo do…While n Pedir ao utilizador

Introdução à programação Computadores e programação I Exemplo do…While n Pedir ao utilizador o seu mês de nascimento. Programa. . . int mes; do{ printf(“Mês nascimentot: "); scanf("%d", &dia); } while( mes <1 || mes > 12); . . . ecrã mes < 1 ou mes >12 não Mês de nascimento : 20 Mês de nascimento : -2 Mês de nascimento : 0 Mês de nascimento : 11 © M@nso 2004 mes 09/09/2020 sim

 Introdução à programação Computadores e programação I Exemplo do…While n Pedir ao utilizador

Introdução à programação Computadores e programação I Exemplo do…While n Pedir ao utilizador se que deseja repetir a execução do programa Programa do{ . . do{ printf("Deseja continuar (s/n) ? "); resp = getch(); }while( resp != 's' || resp != 'n'); }while( resp != 'n' ); © M@nso 2004 09/09/2020

 Introdução à programação Alteração do fluxo do programa Quebra de ciclos © M@nso

Introdução à programação Alteração do fluxo do programa Quebra de ciclos © M@nso 2003 09/09/2020 Computadores e programação I

 Introdução à programação Computadores e programação I Ciclos de instruções Ciclo for( ;

Introdução à programação Computadores e programação I Ciclos de instruções Ciclo for( ; ; ) {. . . } Ciclo While( true) {. . . } Ciclo do While do { }While( true); © M@nso 2004 09/09/2020

 Introdução à programação Computadores e programação I Quebra de ciclos n Break n

Introdução à programação Computadores e programação I Quebra de ciclos n Break n INICIO A instrução break pode servir para terminar uma sequencia de instruções dentro de um switch ou dentro de um ciclo Instruções break Instruções Condição F FIM © M@nso 2004 09/09/2020 V

 Introdução à programação Computadores e programação I Quebra de ciclos - Exemplo n

Introdução à programação Computadores e programação I Quebra de ciclos - Exemplo n Pedir o mês de nascimento INICIO Programa. . . int mes; while(true){ printf("mest: "); scanf("%d", &mes); if(mes >0 && mes < 13) break; printf("mes incorrecto » ); . . . } Ecrã mes : 200 Mês incorrecto mes : -1 Mês incorrecto mes : 2 © M@nso 2004 09/09/2020 Instruções break Instruções Condição F FIM V

 Introdução à programação Computadores e programação I Continuação de ciclos n Continue n

Introdução à programação Computadores e programação I Continuação de ciclos n Continue n INICIO A instrução continue passa o ciclo directamente para a próxima iteração Instruções continue Instruções Condição F © M@nso 2004 09/09/2020 FIM V

 Introdução à programação Computadores e programação I Continuação de ciclos - Exemplo n

Introdução à programação Computadores e programação I Continuação de ciclos - Exemplo n Escrever os números impares menores que 10 Programa #include <iostream. h> main() { int i=0; while(i< 10) { i++; if( i%2 ==0){ continue; } cout << i << endl; } } © M@nso 2004 09/09/2020

 Introdução à programação Computadores e programação I Exercicio n n n Contrua um

Introdução à programação Computadores e programação I Exercicio n n n 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 n 1 2 -1 3 -6 0 n n Média: 2 2 -1 -3 -6 4 4 6 -20 0 n Média: 4 © M@nso 2004 09/09/2020

 Introdução à programação sequência de Números Programa float num, soma=0; int contador=0; while(true){

Introdução à programação sequência de Números Programa float num, soma=0; int contador=0; while(true){ printf("numero : "); scanf("%f", &num); if( num == 0 ) break; if( num < 0 ) continue; contador++; soma+=num; } printf(" media : %f ", soma / contador); © M@nso 2004 09/09/2020 Computadores e programação I

 Introdução à programação Exercícios © M@nso 2003 09/09/2020 Computadores e programação I

Introdução à programação Exercícios © M@nso 2003 09/09/2020 Computadores e programação I

 Introdução à programação n Construa um programa que calcule o factorial de um

Introdução à programação n Construa um programa que calcule o factorial de um número introduzido pelo utilizador. n n n Computadores e programação I 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 © M@nso 2004 09/09/2020 ecrã. . . 6 x 4 = 24 7 x 4 = 28 8 x 4 = 32 9 x 4 = 36 10 x 4 = 6 1 2 3 4 5. x x x. 5 5 5. = = = 5 10 15 20 25

 Introdução à programação Computadores e programação I Exercícios n n n Construa um

Introdução à programação Computadores e programação I Exercícios n n n 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) © M@nso 2004 09/09/2020