• Nenhum resultado encontrado

Operadores Lógicos e

N/A
N/A
Protected

Academic year: 2021

Share "Operadores Lógicos e"

Copied!
20
0
0

Texto

(1)

Operadores Lógicos e Estrutura de Repetição

WHILE

Professor: Paulo de Tarso F. Júnior paulodt@gmail.com

(2)

Operadores Lógicos

A linguagem C fornece operadores lógicos que podem ser usados na criação de condições mais . complexas, combinando condições simples:

(E Lógico)  &&

(OU lógico)  ||

(NÃO lógico também chamado negação)  !

2

(3)

Operadores Lógicos - &&

Assegurar que duas condições sejam verdadeiras AO MESMO TEMPO antes de escolher determinado caminho de execução.

if (sexo == 1 && idade >= 65) idosas = idosas + 1;

3

(4)

Operadores Lógicos - ||

Assegurar de que, em algum ponto do programa, PELO MENOS UMA de duas condições seja verdadeira

if (mediaSemestre >= 90 || final >= 90) printf("O conceito do aluno e A\n");

4

(5)

Operadores Lógicos - !

Operador Unário

O operador de negação lógica é colocado antes de uma condição quando estamos em invertê-la:

if (!(conceito == valorSentinela))

printf(“Escreva a saída %f\n”, saida);

5

(6)

Operadores de Atribuição

Operadores de Atribuição  Abreviação de expressões de atribuição

Exemplo em C

c = c + 3;

Abreviação a partir do operador de atribuição de adição

c += 3;

Forma de atribuição

variável = expressão do operador de variável;

Re-escrita

operador de variável = expressão;

6

(7)

Operadores de Atribuição

Exemplos de outros operadores de atribuição

d -= 4 (d = d - 4)

e *= 5 (e = e * 5)

f /= 3 (f = f / 3)

g %= 9 (g = g % 9)

7

(8)

Operadores de

Incremento/Decremento

Operador de Incremento (++)

Uso em substituição de +=1

Operador de Decremento (--)

Uso em substituição de -=1

Pré-incremento/ Pré-decremento

Operador usado antes da variável ( ++c ou --c)

Variável alterada (incrementada/ decrementada) antes da avaliação da expressão

8

(9)

Operadores de

Incremento/Decremento

Pós-incremento/Pós-decremento

Operador usado após da variável (c++ ou c--)

Expressão executada antes da alteração (incremento/decremento) da variável

Se c igual a 5

printf( "%d", ++c );

Imprimirá 6

printf( "%d", c++ );

Imprimirá 5

Em todo caso, c assume agora o valor 6

9

(10)

Operadores de

Incremento/Decremento

Quando a variável não está numa expressão

Pré-incremento e pós-incremento apresentam mesmo efeito

++c;

printf( “%d”, c );

Apresenta o mesmo efeito de

c++;

printf( “%d”, c );

10

(11)

Estrutura de Repetição WHILE

Estrutura de Repetição

Especificação de uma ação a ser repetida enquanto uma dada condição permanecer Verdadeira

Exemplo de pseudocódigo

Enquanto houver itens no carrinho de compras

Retire um item e adicione seu preço ao somatório de itens já computados

O laço while será repetido até que a condição imposta se torne falsa

11

(12)

Estrutura de Repetição WHILE

Exemplo

while(item > 0)

total_a_pagar = total_a_pagar + custo_item;

12

(13)

Estrutura de Repetição WHILE

Repetição controlada por contador

Laço repetido até que o contador atinja um determinado limiar (pré-definido pelo programador)

Repetição Delimitada  Número de repetições é conhecido

Exemplo

Uma turma com 40 alunos fez uma prova.

As notas da prova (números reais com uma casa decimal, na faixa de 0,0 a 10,0) estão disponíveis. Determinar a média da turma na referida prova.

13

(14)

Estrutura de Repetição WHILE

1 /* Programa 01 -Média de uma turma de 40 alunos usando repetição controlada por contador */

4 #include <stdio.h>

5

6 int main() 7 {

8 int contador;

9 float nota, total, media;

10 /* fase de inicialização */

11 total = 0;

12 contador = 1;

13

14 /* fase de processamento */

15 while (contador <= 40) { 16 printf(“Digite nota: ");

17 scanf(“%f", &nota);

18 total = total + nota;

19 contador = contador + 1;

20 }

14

21 /* fase de conclusão */

22 media = total / 40;

23 printf(“A média da turma é %f\n", media);

24

25 return 0; /* indica que o programa terminou satisfatoriamente */

(15)

Estrutura de Repetição WHILE

Delineamento do Problema sobre o Exemplo Anterior

Desenvolvimento de um programa para a determinação da média de uma turma, considerando que o programa

processará um número arbitrário de notas cada vez que for executado

Número desconhecido de alunos

Como o programa será finalizado?

15

(16)

Estrutura de Repetição WHILE

Solução do Problema

Uso de um valor “sentinela”

Também denominado valor de sinalização, “testa de ferro”

(dummy value) ou flag

Indicação do final da entrada de dados

Laço finalizado quando o usuário passa para o programa o valor “sentinela”

Valor sentinela não deve ser confundido com uma entrada regular (e.g. -1 no caso do programa da média das notas)

16

(17)

Estrutura de Repetição WHILE

Representação do topo (top) em pseudocódigo

Determine a média da turma

Divisão do topo em tarefas menores e listagem ordenada das tarefas

Inicialize as variáveis

Receba as notas digitadas, some-as e conte-as

Calcule e imprima a média da turma

17

(18)

Estrutura de Repetição WHILE

Fases de diversos programas

Inicialização

Fase na qual são atribuídos valores iniciais às variáveis do programa

Processamento

Fase de aquisição dos valores dos dados de entrada e de manipulação apropriada das variáveis do programa

Finalização

Fase de cálculo e impressão dos resultados finais

18

(19)

Estrutura de Repetição WHILE

1 /* Programa 02 –Média de uma turma 2 com repetição controlada por

3 sentinela */

4 #include <stdio.h>

5

6 int main() 7 {

8 float media, nota, total; /* novo tipo de dados */

9 int contador;

10

11 /* fase de inicialização */

12 total = 0;

13 contador = 0;

14

15 /* fase de processamento */

16 printf( “Digite nota, -1 ao final: " );

17 scanf( "%d", &nota );

18

19

19 while ( nota != -1 ) { 20 total = total + nota;

21 contador = contador + 1;

22 printf( “Digite nota, -1 ao final: " ) 23 scanf( "%d", &nota );

24 } 25

26 /* fase de finalização */

27 if ( contador != 0 ) {

28 media = ( float ) total / contador; /* casting*/

29 printf( “A média da turma é %.2f", media );

30 } 31 else

32 printf( "Nenhuma nota foi digitada\n" );

33

34 return 0; /* indica que o programa termino

(20)

Operadores Lógicos e

Estrutura de Controle WHILE

Professor: Paulo de Tarso F. Júnior paulodt@gmail.com

Referências

Documentos relacionados

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

Equipamentos de emergência imediatamente acessíveis, com instruções de utilização. Assegurar-se que os lava- olhos e os chuveiros de segurança estejam próximos ao local de

Verificada a efetividade da proposta, a Comissão de Licitações declarou vencedor o licitante Francisco Souza Lima Helm, sendo o total do item 14 licitado o valor de

ABSTRACT: The toxicological effects of crude ethanolic extracts (CEE) of the seed and bark of Persea americana have been analyzed on larvae and pupae of

xii) número de alunos matriculados classificados de acordo com a renda per capita familiar. b) encaminhem à Setec/MEC, até o dia 31 de janeiro de cada exercício, para a alimentação de

O destaque é dado às palavras que abrem signi- ficados e assim são chaves para conceitos que fluem entre prática poética na obra de arte e sua reflexão em texto científico..