310 likes | 432 Views
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 4. Agenda. Operador condicional Switch Precedência de Operadores Lógicos Precedência de Operadores Relacionais Switch Estruturas de repetição: do... while Estruturas de repetição: for
E N D
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMASLINGUAGEM DE PROGRAMAÇÃO IAula 4 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Agenda • Operador condicional • Switch • Precedência de Operadores Lógicos • Precedência de Operadores Relacionais • Switch • Estruturas de repetição: do...while • Estruturas de repetição: for • Desenvolvimento teórico e prático: Exercícios com todas as estruturas, sequenciais, compostas e de repetição. 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Operador Condicional - ? • Único operador Ternário em C, indica a espera de três argumentos. • Sintaxe : condição ? Expressao1 : expressao2 • Funcionamento • Condição é avaliada • Se resultado for verdade, o resultado de toda a expressão é o valor devolvido por expressão1 • Se resultado for falso, o resultado de toda a expressão é o valor devolvido por expressão2 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Operador Condicional ? • Exemplos 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Operador Condicional ? • Considerações – embora pareça semelhante a instrução if-else o operador condicional “?“ Funciona de forma diferente, enquanto o operador condicional devolve sempre um resultado o if-else determina quais instruções deve ser executadas 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Switch • Quando existem algumas condições diferentes possíveis para o mesmo valor torna-se impraticável o uso de if-else. • Para essa situação a linguagem C fornece uma instrução que permite a seleção do código a executar a partir de um conjunto de valores possíveis para uma determinada expressão 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Switch • A instrução switch é usada em tomada de decisões em que o numero de possibilidades é elevado para reduzir a complexidade do if-else, sintaxe: 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Switch • Funcionamento • Se o Valor da expressão for igual a alguma das constantes que seguem os varioscase, então são executadas as instruções que seguem o case correspondente • Se o valor da expressão não for igual a nenhuma das constantes apresentadas pelos case, então são executadas as instruções que seguem o parâmetro default • Após realizar teste de expressão e encontrar valor correspondente todas as linhas de código são executadas até a instrução break • O parâmetro default é opcional, caso não seja mencionado nada é executado caso o valor da expressão não seja igual a nehum dos case • Em cada case do switch só uma única constante do tipo char, int ou long pode estar presente para avaliação 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Switch • Exemplo prog0312.c : 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Precedência de operadores Lógicos • Existem circunstâncias em que uma condição simples nâo é suficiente para tomar uma decisão, é necessario a interligação de duas ou mais condições lógicas 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Precedência de operadores Lógicos • Permitem a combinação de duas ou mais expressões lógicas numa única expressão que devolve um único valor lógico (Verdadeiro ou Falso) 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Precedência de operadores Relacionais • Em C, como na maioria das linguagens de programação uma expressão nem sempre é avaliada (lida pelo compilador/interpretador) da esquerda para direita, • Exemplo: 2 + 3 * 4 = 14 (2 +3) * 4 = 20 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Precedência de operadores Relacionais • Para definir a ordem pela qual as operações são executadas existe a tabela de precedências. • Ocupam patamares Diferentes na hierarquia. • Seta indica maior precedência 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Estruturas de repetição: do...while • Laço while • Implementa uma estrutura de repetição controlada pela verificação de uma condição. • Sintaxe : While (condição) OU While (condição) <instrução>; { <instrução>; <instrução> } • Ao final da ultima instrução no corpo do comando avalia se a condição continua verdadeira, caso continua repete as instruções dentro do corpo até que a condição não seja mais verdadeira 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Estruturas de repetição: do...while • Laço while – continuação • Ex.: int Ndia =1 while (ndia<=7) { printf (“Dia : %d\n",Ndia); Ndia++; } • Execução do laço pode ser interrompida por quebra de condição ou comando Break que causa a saida do laço para a proxima instrução após o laço (}). 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Estruturas de repetição: do...while • O comando Break afeta apenas o laço interno a ele no caso de laços aninhados • Lacos Aninhados : while (true) { intnCont = 1000; intnPara=0; printf("\n Entre com o numero de parada "); scanf("%d", &nPara); while (nCont > 0) { nCont--; cout << "\n \n" << nCont << "\n"; if(nCont==nPara) break; } } 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Estruturas de repetição: do...while • O comando CONTINUE força a proxima iteração do laço e pula o codigo que estiver abaixo dele, ou seja força a avaliação da expressão de teste e depois continua o laço • Ex.: Imprime caracteres digitados que são diferentes de digitos 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Estruturas de repetição: do...while • O comando CONTINUE força a proxima iteração do laço e pula o codigo que estiver abaixo dele, ou seja força a avaliação da expressão de teste e depois continue o laço • Ex.: Imprime caracteres digitados que são diferentes de digitos 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Estruturas de repetição: do...while • A estrutura DO-WHILE, similar a estrura WHILE, faz a verificação de teste no final da estrura, bom para situações em que instruções no corpo devam ser excutadas antes da verificação, com sintaxe no exemplo a seguir: 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Estruturas de repetição: for • Usada para implementar estrutura de controle de repetição de forma similar ao while/do-while • Três expressões separadas por ponto e virgula regulam seu funcionamento 20 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Exercícios: • Implemente : Programa prog0313.c, utilizando switch, que indique o estado Civil através da primeira letra do mesmo.,letras maiúsculas e minúsculas (Casado, Solteiro,Divorciado e Viúvo) Prog0314.c, utilizando switch, calculando o imposto pago por mulheres e homens, sendo 10% para mulheres e 5% a mais para homens do que o percentual pago pelas mulheres. Prog0316.c, utilizando switch, leia uma operação binária entre dois inteiros e apresenta em seguida o resultado (calculadora) 21 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Exercícios: 22 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Exercícios: 23 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Exercícios: 24 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Exercícios: 25 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Exercícios: 26 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Exercícios: 27 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Exercícios: 28 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Exercícios: 29 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Exercícios: • Escreva um programa (prog0403.c) que coloque na tela a tabuada do 5, utilizando a estrutura de controle while. • Reescreva o programa anterior como programa0404.c de forma a apresentar a tabuada de qualquer numero introduzido. 30 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Bibliografia 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com