A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Laços Laço for Laço while Laço do-while Os Comandos break e Continue O Comando goto.

Apresentações semelhantes


Apresentação em tema: "Laços Laço for Laço while Laço do-while Os Comandos break e Continue O Comando goto."— Transcrição da apresentação:

1

2 Laços Laço for Laço while Laço do-while Os Comandos break e Continue O Comando goto

3 Laço for As três expressões acima, podem ser compostas por qualquer expressão válida em C. Ex.: main( ) { int conta; for( conta=0;conta<10;conta++) printf(conta=%d\n, conta); } Sintaxe : for(inicialização;teste;incremento)

4 Laço for No exemplo anterior, usamos a forma mais simples para as três expressões do laço for. Qualquer uma das expressões do laço pode conter várias instruções separadas por vírgula. Ex.: main( ) { int x,y; for ( x=0, y=0; x+y<100; x+=1, y+=1) printf(x+y=%d\n, x+y); } Sintaxe : for(inicialização;teste;incremento)

5 Laço for Aninhado Ex.: main( ) { int i, j, k; printf (\n); for ( k=0; k<=1; k++) { printf ( \n); for (i=1; i<5; i++) printf (Tabuada do %3d,i+4*k+1); printf (\n); for ( i=1; i<=9; i++) { for ( j=2+4*k; j<=5+4*k; j++) printf (%3d x %3d = %3d, j, i, j*i); printf (\n); } Quando um laço esta dentro de outro laço, dizemos que o laço interior está aninhado

6 Laço for Aninhado Tabuada do 2 Tabuada do x 1 = 23 x 1 = x 2 = 43 x 2 = x 3 = 6 3 x 3 = x 4 = 83 x 4 = Tabuada do 6Tabuada do x 1 = 67 x 1 = x 2 = 127 x 2 = Saída do Programa:

7 Laço while Se a expressão de teste for verdadeira ( diferente de zero ), as instruções são executadas uma vez e a expressão de teste é validada novamente. Ex.: main ( ) { int conta=0; int total=0; while ( conta < 10 ) { total += conta; printf (conta=%d, total=%d\n, conta++, total ); } Sintaxe: while ( expressão de teste ) instrução;

8 Laço while Saída : conta=0, total =0 conta=1, total =1 conta=2, total =3 conta=3, total =6 conta=4, total =10 conta=5, total =15 conta=6, total =21 conta=7, total =28 conta=8, total =36 conta=9, total =45 Sintaxe: while ( expressão de teste ) instrução;

9 Laço while aninhado Ex.: main ( ) { int num; long resposta; while (1) { printf (\n Digite o numero: ); scanf ( %d, &num); resposta=1; while ( num >1) resposta*=num--; printf (O fatorial é: %ld\n,resposta); }

10 Laço do-while Sintaxe: do { instrução; } while (expressão de teste); Neste laço a expressão de validação se encontra após as instruções, o que significa que estas serão executadas pelo menos uma vez. Ex.: main ( ) { int num; long resposta; do { printf (\nDigite o numero:); scanf (%d, &num); resposta=1; while (num >1 ) resposta *= num--; printf (O fatorial é: %ld\n, resposta); } while ( 1 ) ; }

11 Comando break e continue O comando break é usado em qualquer estrutura de Laço C para interromper sua execução. Ex.: main ( ) { int num; long resposta; while ( 1 ) { printf (\nDigite o numero:); scanf (%d, &num); resposta=1; while (num >1 ) resposta *= num--; printf (O fatorial é: %ld\n, resposta); break }

12 Comando break e continue O comando continue força a próxima interação do laço e pula o código que estiver abaixo. Comando goto goto parte 1; // rotulo parte1: printf ( Análise dos Resultados\n); não é muito recomendável a utilização de goto em programas.

13 Comandos de Decisões O Comando if Comando if-else Operadores Lógicos | | & & ! O Comando else-if O Comando switch O Operador Condicional Ternário ? :

14 Comando if O comando if é usado em decisões simples Sintaxe: if ( expressão de teste ) instrução; Ex.: main ( ) { char ch; ch = getche ( ); if ( ch == p) printf (\n Você Digitou a Tecla %c., ch); } Resultado: Você Digitou a Tecla p.

15 Comando if aninhado O comando if pode estar dentro de outro comando if. Dizemos então que o if interno está aninhado. Ex.: main ( ) { char ch; printf (\n Digite uma letra de a a z:); ch = getche ( ); if ( ch >= a) if ( ch <= z) printf (\n Você Digitou certo); }

16 Comando if-else Nos exemplos anteriores o comando if executará uma única instrução ou um grupo de instruções, se a expressão de teste for verdadeira. Não fará nada se a expressão for falsa. O comando else associado ao if, executará um grupo de instruções, se a expressão de teste for falsa. Ex.: main ( ) { char ch; ch = getche ( ); if ( ch == p) printf (\n Você Digitou certo); else printf (\n Você não precionol a tecla p.); }

17 Comandos if-else aninhados Nos exemplos anteriores o comando if executará uma única instrução ou um grupo de instruções, se a expressão de teste for verdadeira. Não fará nada se a expressão for falsa. Ex.: main ( ) { int x,y; for (y=1;y<24;y++) { for (x=1;x<24;x++) if (x==y) printf (\xDB); else if (x==24-y) printf (\xDB); else printf (\xBO); printf (\n); }

18 Operadores Lógicos A linguagem C oferece 3 operadores chamados lógicos: && lógico E | | lógico OU ! Lógico de negação Operadores lógicos são aplicados a expressões relacionais. Se EXP1 e EXP2 são duas expressões simples, então: EXP1 && EXP2 é verdadeiro se as duas expressões forem TRUE. EXP1 | | EXP2 é verdadeiro se apenas uma das duas for verdadeira. ! EXP1 é verdadeira se EXP1 for falsa e vice-versa.

19 Ex.: main ( ) { int x,y; for (y=1;y<24;y++) { for (x=1;x<24;x++) if (x==y | | x==24-y) printf (\xDB); else printf (\xBO); printf (\n); }

20 Operadores Precedências Operadores Tipos ! unários; não lógicos * / % aritméticos + - aritméticos = relacionais == != relacionais && lógico E | | lógico OU = += -= *= /= %= aritméticos atribuição

21 Comando else-if Utilizamos o comando else-if quando desejamos realizar um série de testes aninhados. Ex.: main ( ) { char ch; ch = getche ( ); if ( ch == p) printf (\n Você Digitou a letra p.); else if ( ch == m) printf (\n Você Digitou a tecla m.); }

22 Comando break associado ao if Utilizamos o comando break quando ocorre uma condição repentina onde é necessário deixar o laço antes da expressão do laço se torna falsa. Ex.: main ( ) { char ch=; while ( ch != q) { ch = getche ( ); if ( ch == p) { printf (\n Você Digitou a letra p.); break; } else if ( ch == m) printf (\n Você Digitou a tecla m.); }

23 Comando switch Similar ao else-if mas tem maior flexibilidade e formato limpo e claro. Sintaxe : switch ( expressão constante) case constante1: instruções; break; case constante2: instruções; break;.... default : instruções;

24 Comando switch main ( ) { float num1, num2; char op; while(1) { printf ( Digite um num., operador, numer\n); scanf (%f %c %f,&num1,&op,&num2); switch (op) { case +: printf ( =%f, num1+num2); break; case -: printf ( =%f, num1-num2); break; case *: case x: printf ( =%f, num1*num2); break; case: /: case \: printf (=%f, num1/num2); break; default: printf ( Operador Desconhecido); } printf (\n\n); }

25 Operador Condicional Ternário ?: Sintaxe: condição ? Expr1 : Expr2 Ex.: max = ( Num1 > Num2) ? Num1 : Num2; esta expressão é equivalente a: if ( Num1 > Num2) max= Num1; else max=Num2;

26 Funções Funções e Estruturas de um Programa Funções que retoram um Valor Argumentos chamada por Valor Funções Recursivas

27 Funções e Estruturas de um Programa Dividem grandes tarefas de computação em tarefas menores; Geram reaproveitamento de código; Unidade de código de programa autônoma; A programação em Cgeralmente consiste em várias pequenas funções; Minimiza a duplicidade de códigos ;

28 Funções Simples São funções que não recebem e nem geram parâmetros. Ex.: int linha( ); main ( ) { linha( ); printf(\xDB Um Programa em C \xDB\n); linha ( ); } linha ( ) { int j; for (j=1;j<=20;j++) printf(\xDB); printf(\n); }

29 Estruturas das Funções em C São funções que têm a forma semelhante a da função main ( ): Sintaxe: retorno nome da função (argumentos) { Lista de Comandos;... } onde : retorno = tipo da variável de retorno nome da função = nome representativo argumentos = parâmetros da função lista de comandos = instruções

30 Chamando Funções em C Do mesmo modo que chamamos uma função de uma biblioteca C (printf ( ), scanf ( ), getch ( ), etc ) chamamos nossas próprias funções como linha ( ). Ex.:... linha ( );...

31 Variáveis Locais em C Cada função pode chamar outras funções. A função linha ( ) chama a função printf ( ) e a função main ( ) chama linha ( ), scanf ( ) e getch ( ). As variáveis que são declaradas dentro de uma função são chamadas de variáveis locais e são conhecidas somente dentro de seu próprio bloco. Variáveis locais existem apenas durante a execução do bloco de código onde estão declaradas. A variável j criada na função linha ( ) é conhecida somente em linha ( ); e é invisível à função main ( ).

32 Funções que retornam um Valor em C Você já usou uma função deste tipo, getche ( ) que devolve, à função que chama, o valor do primeiro caracter pressionado no teclado. O próximo programa cria uma função que lê um caracter do teclado e, se for maiúsculo, converte-o em minúsculo. char minusculo ( ); main ( ) { char ch; printf (Digite a e depois b:); ch=minusculo( ); printf (\n Você pressionou %c.,ch); } char minusculo ( ) { char ch; ch=geche( ); if (ch >=A && ch <=Z) ch+=a-A; return ( ch ); }

33 O Comando Return ( ) O comando return causa a atribuição de qualquer expressão entre parênteses à função contendo o return. A variável ch é local a minúsculo, mas o valor de ch é mandado para main ( ) pelo comando return. E este valor pode ser atribuido a uma variável, como no nosso exemplo, ou fazer parte de alguma expressão. char minusculo( ); main ( ) { char ch; printf (Digite a e depois b:); ch=minusculo( ); printf (\n Você pressionou %c.,ch); } Entretanto existem limitações para o return pois este comando pode retornar somente um único valor.

34 Passando dados à função Chamada. O mecanismo usado para transmitir informações à uma função é chamado argumento. Nós já utilizamos argumentos nas funções printf ( ) e scanf ( ). int abs ( x ); main ( ) { printf (%d %d %d\n,abs(0), abs(-3), abs(10) ); } abs ( x ) int x; { return( (x<0)? -x:x); } ou abs ( int x ) { return( (x<0)? -x:x); }

35 Passando variáveis como argumento Podemos também passar variáveis da função que chama ao invés de um valor. Ex.: int abs ( int ); main ( ) { int a=-3; printf (%d %d %d\n, abs(a) ); } abs ( int x ) { return( (x<0)? -x:x); } E ainda, podemos passar vários argumentos para uma determinada função. Ex.: retangulo (int largura, int altura) { instruções.... }

36 Argumentos chamada por valor Em C, todos os argumentos de uma função são passados por valor. Isto significa que à função chamada é dada uma cópia dos valores dos argumentos, e ela cria outras variáveis temporárias para armazenar estes valores. Ex.: int abs ( int ); main ( ) { int a=-3; printf (%d %d %d\n, abs(a) ); } abs ( int x ) { return( (x<0)? -x:x); }

37 Funções Recursivas Uma função é dita recursiva se é definida em termos de si mesma. Isto é, uma função é recursiva quando dentro dela está presente uma chamada a ela própria. Ex.: main ( ) { int num; long fac( int ); while (1){ printf (Digite um numero: ); scanf(%d, &num); printf (\nFatorial de %d é %1d num, fac(num) ); } long fac ( int n) { long resposta; return( (n==0)? 1:resposta=(fac(n-1)*n)); }


Carregar ppt "Laços Laço for Laço while Laço do-while Os Comandos break e Continue O Comando goto."

Apresentações semelhantes


Anúncios Google