Buscar

Aula 04 Controle de Fluxo (1)

Prévia do material em texto

Programação em C:
Aprendendo a programar computadores
Inserir título
Controle de Fluxo
Estrutura de controle de fluxo:
Comando if
Comando if else
Comando while
Comando do while
Comando for
Comando switch case
Agenda
Inserir título
Controle de Fluxo
Compreender diversos tipos de controle de fluxo disponíveis na linguagem C.
Aprender a implementar algoritmos em C com tomadas de decisões.
Objetivos
Inserir título
Controle de Fluxo
Necessidade de tomada de decisões baseado em fatos passados;
Repetição de certos trechos de código;
Proporciona inteligência ao programa;
Utilidade
Inserir título
Controle de Fluxo
Os comandos de controle de fluxo podem ser divididas nas categorias:
	Instruções Condicionais;
		if else;
		switch;
	Estruturas de Repetição;
		while;
		for;
		do while;
	
Inserir título
Controle de Fluxo
A linguagem C interpreta falso como 0 e verdadeiro como 1.
	Operador			Condição
		>			maior que
		>=			maior ou igual
		< 			menor que
		<=			menor ou igual
		== 			igual
		!= 			diferente
Expressões Condicionais
Inserir título
Controle de Fluxo
Podemos também combinar condições com o auxílio dos operadores abaixo:
	Operador		Significado
		||			ou
		&&			e
		!			não
Expressões Condicionais
Inserir título
Controle de Fluxo
Podemos também combinar condições com o auxílio dos operadores abaixo:
		(x == y) && (y == z)
		(a+1 > 2*b) || (2*c == 6)
Expressões Condicionais
Inserir título
Controle de Fluxo
Comando if
Sintaxe:
if (condição)
{
	bloco de comandos
}
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando if
Primeiramente, a expressão da condição é avaliada. Caso o resultado seja verdadeiro (diferente de zero), o bloco de comandos entre { } é executado. Caso a expressão resulte em falso (igual a zero), o bloco de comandos não será executado.
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando if
Veja o exemplo:
#include <stdio.h>
void main (void){
int num;
int resultado;
printf ("Entre com um numero : ");
scanf ("%d", &num);
if ((num % 2) == 0){
printf ("Numero Par\n");
}}
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando if else
Sintaxe:
if (condição) {
bloco de comandos 1
}
else {
bloco de comandos 2
}
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando if else
Este comando inicialmente testa a condição. Caso seja verdadeiro, o bloco de comando será executado.
Caso a condição resulte em valor falso, será executado o bloco de comandos 2.
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando if else
Veja o exemplo:
#include <stdio.h>
void main (void){
int num;
int resultado;
printf ("Entre com um numero : ");
scanf ("%d", &num);
if ((num % 2) == 0)
printf ("Numero Par\n");
else
printf ("Numero Impar\n");
}
Inserir título
Controle de Fluxo
Operador ? :
Sintaxe:
(cond? bloco_verd : bloco_falso)
O operador ? : é uma maneira simplificada de escrever um if else. Apesar de possuir a mesma funcionalidade, não se deve usar este operador quando os comandos envolvidos são complexos.
Instruções Condicionais
Inserir título
Controle de Fluxo
Operador ? :
Primeiramente a condição é avaliada. Dependendo do resultado o bloco respectivo será executado.
Veja o exemplo:
#include <stdio.h>
void main (void){
int num;
printf ("Entre com um numero : ");
scanf ("%d", &num);
printf ((num%2 == 0? "Numero Par\n" : "Numero Impar\n"));
Inserir título
Controle de Fluxo
Comando while
Sintaxe:
while (condição)
{
bloco de comandos
}
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando while
Deve ser usado quando não se pode determinar com certeza quantas vezes um bloco de comandos será executado. Inicialmente a condição é testada. Caso seja falso, o programa não executará o bloco de comando indicado e continuará no comando após o comando while.
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando while
Caso a condição seja verdadeira, o bloco de comando é executado. Ao final da execução do bloco, volta-se a testar a condição. O bloco de comandos, portanto, será executado até que se alcance uma condição falsa. De uma outra maneira, comando será executado enquanto a condição for verdadeira.
Instruções Condicionais
Inserir título
Controle de Fluxo
Veja o exemplo:
#include <stdio.h>
void main (void){
int num, i;
printf ("Contar ate : ");
scanf ("%d", &num);
i =1;
while (i <= num){
printf ("%d\n", i);
i++;
}
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando do while
Sintaxe:
do
{
bloco de comandos
} while (condição);
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando do while
O comando do while diferencia-se do comando while em somente um detalhe. O bloco de comando indicado é sempre executado pelo menos uma vez.
Após a execução do bloco, a condição é testada. Caso seja verdadeira, o bloco continua a ser executado. 
A execução passará para o próximo comando somente quando a condição retornar falso. 
Instruções Condicionais
Inserir título
Controle de Fluxo
Veja o exemplo:
#include <stdio.h>
void main (void){
int num;
do{
printf ("Entre com um numero diferente de zeros: ");
scanf ("%d", &num);
}
while (num == 0);
printf ("Valor digitado: %d\n", num);
}
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando for
Sintaxe
for(inicialização; condição de fim; incremento)
{
	bloco de comandos
}
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando for
Quando se quer executar um bloco de comando um número determinado de vezes, deve-se utilizar o comando for. Na sua declaração, o comando for determina três áreas distintas. Na primeira área são os comandos que serão executados inicialmente. Deve-se colocar nesta área comandos de inicialização de variáveis.
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando for
A segunda área é a de teste. A cada interação, as condições colocadas aí são testadas e, caso sejam verdadeiras, segue-se com a execução do bloco de comandos. 
A última área possui comandos que serão executados ao final da interação.
Geralmente são colocados nesta área os comandos de incrementos de variáveis.
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando for
Pode-se omitir os comandos da área de inicialização e de incremento, bastando-se colocar o ponto e vírgula. Veja o exemplo:
#include <stdio.h>
void main (void){
int num, i;
printf ("Contar ate : ");
scanf ("%d", &num);
for (i=1; i <= num; i++)
printf ("%d\n", i);
}
Instruções Condicionais
Inserir título
Controle de Fluxo
Instruções Condicionais
Inserir título
Controle de Fluxo
Instruções Condicionais
#include <stdio.h>
main (void)
{
Int i;
for(i=0; i<1000; i++);
Printf(“Eu não devo desrespeitar o professor”);
}
Inserir título
Controle de Fluxo
Comando switch case
Sintaxe:
switch (expressão) {
case const1:{ bloco_1...;break;}
case const2:{ bloco_2...;break;}
.......default : { bloco_n... }
}
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando switch case
Caso seja necessário realizar operações baseadas em um valor de uma expressão ou variável, em vez de se construir para isto uma cadeia de if...else...if...else..if...else, pode-se utilizar o comando de seleção múltipla switch...case.
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando switch case
Inicialmente valor da expressão é avaliado.
Depois é feita uma comparação com cada valor colocado na seção case.
Caso o valor seja coincidente, o bloco ligado ao case será executado.
Para interromper a execução deve-se utilizar um break, indicando que deve ser interrompida a execução e passar a executar os comandos após o switch. 
Instruções Condicionais
Inserir título
Controle de Fluxo
Comando switch case
Existe a possibilidade de colocar uma condição para que, se nenhumcase foi selecionado, um bloco seja executado. A palavra default indicará este bloco padrão a ser executado.
Instruções Condicionais
Inserir título
Controle de Fluxo
Veja o exemplo:
#include <stdio.h>
void main (void){
int vlr1;
printf ("Entre com um numero : ");
scanf ("%d", &vlr1);
switch (vlr1){
case 1 : {
printf ("Um\n");
break;}
Instruções Condicionais
Inserir título
Controle de Fluxo
case 2 : {
printf ("Dois\n");
break;}
case 3 : {
printf ("Tres\n");
break;}
default :
printf ("Valor nao associado\n");
break;
}
}
Instruções Condicionais
http://www.inf.pucrs.br/~pinho/LaproI/IntroC/IntroC.htm
http://www2.dcc.ufmg.br/disciplinas/pc/source/introducao_c_renatocm_deeufmg.pdf
http://www.ferrari.pro.br/home/documents/FFerrari-CCechinel-Introducao-a-algoritmos.pdf
http://www.ead.cpdee.ufmg.br/cursos/C/c.html
Linguagem C Luis Damas_10ª Edição
Programação em C no GNU/Linux (Lucas Correia Villa Real)
Programando em C para Linux, Unix e Windows (Marcos Aurélio Pchek Laureano)
Imagens:
http://umblogprogramado.blogspot.com.br/
https://www.facebook.com/vidadeprogramador.com.br
https://www.google.com.br/imghp?hl=pt-BR&tab=ii&biw=1366&bih=667

Continue navegando