Analise de Discurso Critica Viviane Resende e Viviane Ramalho
Linguagem C – Estrutura de Repetição Automação Industrial Informática Básica Profa. Ms....
-
Upload
fernanda-jacinto -
Category
Documents
-
view
214 -
download
1
Transcript of Linguagem C – Estrutura de Repetição Automação Industrial Informática Básica Profa. Ms....
Linguagem C – Estrutura de Repetição
Automação IndustrialInformática BásicaProfa. Ms. Viviane Guimarães RibeiroProf. João Sanches
2
Estruturas de RepetiçãoEssas estruturas são utilizadas para que uma parte de seu programa possa ser repetida n vezes sem a necessidade de reescrevê-lo. Também são conhecidas com LOOP ou laços.
Existem 3 estruturas de repetição na linguagem C:• for;• while;• do... while.
3
forA idéia básica do comando for é que você execute um conjunto de comandos, um número fixo de vezes, enquanto uma variável de controle é incrementada ou decrementada a cada passagem pelo loop.
4
forFluxograma
5
forPseudocódigo
Para <var> de <início> até <fim> incr de <inc> faça <comando 1>;
Fim_para
6
forLinguagem C
for ( <var> = <início>; <fim> ; <inc> ){
<comando 1>; }
7
forObserve que dentro dos parênteses tem 3 expressões separadas por ponto-e-virgula. A primeira expressão é, normalmente, a inicialização da variável de controle do for. A segunda expressão é um teste que, enquanto o resultado for verdadeiro, reflete em continuação do laço. A terceira expressão é, normalmente, o incremento ou decremento da variável de controle do for.
8
forExemplo 1:
#include <stdio.h>main(){
int i;for(i=1; i<=10; i++){
printf(“%d \n”,i);}
}
9
forExemplo 2:
#include <stdio.h>main(){int i,j;for(i=1; i<=10; i++){for(j=1; j<=10; j++){ printf(“\n %d x %d = %d”,i,j,i*j);}}}
10
for
Veja que o laço externo executa 10 vezes, enquanto o laço interno executa 10 vezes para cada passagem do laço externo, totalizando assim, 10x10 = 100 vezes.
11
while
É o mais genérico dos 3 e pode ser usado para substituir os outros 2; em outras palavras, o laço while supre todas as necessidades. Já os outros dois são usados por uma questão de comodidade.
12
while
Fluxograma
13
while
Pseudocódigo
Enquanto <condição> faça<comando>;
Fim_enquanto
14
while
Linguagem C
while (condição){
<comando>;}
15
whileExemplo:
#include <stdio.h>main(){int x,y;x = y = 0;while(y<10){x += ++y;}printf(“\n x=%d \n y=%d”,x,y);}
16
do.. while
O comando do.. while é semelhante ao comando while. A diferença está no momento da avaliação da expressão, o que ocorre sempre após a execução do comando do. Isso faz com que o comando do laço do.. While sempre execute pelo menos uma vez antes de realizar tal teste.
17
do.. while
Fluxograma
18
do.. while
Pseudocódigo
Repita<comando 1>;
até que <condição>
19
do.. while
Linguagem C
do<comando 1>;
while (condição);
20
do.. whileExemplo
#include <stdio.h>main(){
int i = 1;do
printf(“%d \n“,i);while (++i<=10);
}
21
Comando break
O comando break, quando utilizado em um bloco de comandos, associado a um for, while ou do.. While, faz com que o laço seja imediatamente interrompido, transferindo o processamento para o primeiro comando seguinte do laço.
22
Comando break#include <stdio.h>#include <conio.h>main() {
char ch;int i;for(i =0; i<10; i++){ ch =getch(); if(ch==‘\x1b’){ /*ESC*/
break; }
printf(“\n %c”, ch);}puts(“\n acabou”);getch();
}
23
Comando continue
O comando continue funciona de forma semelhante ao comando break. A diferença reside em que, ao invés de interromper a execução do laço, como o comando break, o comando continue pula as instruções que tiverem abaixo e força a próxima iteração do laço.
24
Comando continue#include <stdio.h>#include <conio.h>main() {
char ch;int i;for(i =0; i<10; i++){ ch =getch(); if(ch==‘\x1b’){ /*ESC*/
continue; }
printf(“\n %c”, ch);}puts(“\n acabou”);getch();
}
25
Exercícios
Faça o fluxograma, portugol e três códigos em linguagem C, cada código utilizando cada uma das estruturas de repetição, para cada exercício abaixo.
1. Imprimir todos os números existentes entre 1 e 20 em ordem crescente.2. Imprimir todos os números existentes entre 1 e 20 em ordem decrescente.3. Imprimir a soma de todos os números existentes entre 10 e 35 em ordem crescente.