Transcript
Page 1: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Aula prática 2

Operadores e Expressões

Comandos de Decisão

Comentários

Monitoria de Introdução à Programação

Page 2: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Roteiro

Expressões Operadores Precedência Comandos de Decisão

– If – else if – else– Switch

Condição Ternária Comentários Dúvidas Exercícios

Page 3: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Expressões

Combinação de Operadores e operandos, que representa um cálculo.

É avaliada seguindo regras de Precedência.

Exemplo:“a = b + c”

“i = i + 3”

“Anos = Dias / 365.25”

Page 4: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Operadores Aritméticos

Representam cálculos matemáticos, operando sobre os tipos integrais¹ e de ponto flutuante²:

1. int, short, long, long long, char, etc.

2. float, double long double, etc.

Operador Ação Inteiros Ação Float

+ Adição

- Subtração

++ Incremento por 1

-- Decremento por 1

* Multiplicação

/ Divisão com resto Divisão real

% Resto de Divisão Erro de compilação

= Atribuição

Page 5: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Operadores Aritméticos

Adição e Subtração– Operações binárias.– São avaliadas como a soma/subtração dos dois

operandos.

Exemplo:“a + b”

“1 + 1”

“5 – 4”

“50 – 8”

Page 6: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Operadores Aritméticos

Incremento e Decremento– Operações unárias.– São avaliadas como o valor do operador e modificam

esse operador.– Deve ser tomado cuidado com a ordem em que são

usados: Se usado prefixado, o operador é modificado ANTES da

operação ser avaliada. Se usado pós-fixado, o operador é modificado DEPOIS.

“++x” será avaliado como “x + 1”, e x será igual a “x + 1”“x++” será avaliado como “x”, e x será igual a “x + 1”

Page 7: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Operadores Aritméticos

Multiplicação e Divisão– Operações binárias.– São avaliadas como a multiplicação/divisão dos

operandos. Com tipos integrais, a divisão tem resto. Com tipos de ponto flutuante, não.

Exemplo:“6/4” (avaliado como “1”)

“3.2/2” (avaliado como “1.6”)

Page 8: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Operadores Aritméticos

Módulo– Operação binária– É avaliado como o resto da divisão integral dos

operandos. Com tipos integrais, tem valor integral. Não existe para tipos de ponto flutuante.

Exemplo:“6 % 2” (avaliado como “0”)

“19 % 3” (avaliado como “1”)

Page 9: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Operadores Aritméticos

Atribuição– Operação binária– O operando da esquerda é modificado para o valor do

operando da direita.

Exemplo:“var = 2”

“i = 0”

“tentativas = 40”

“a = b + c”

Page 10: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Operadores Aritméticos

Atribuição– Podem ser abreviadas as atribuições que tem à direita uma

expressão que contém o operando da esquerda.– A abreviação fica na forma “variavel operador= expressão”

Exemplo:“A += B” (idêntica a “A = A + B”)

“i += 1” (“i = i + 1”)

“cota /= 2” (“cota = cota / 2”)

Page 11: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Operadores Relacionais

Representam Relações binárias sobre números, avaliadas como Verdadeiro ou Falso*

*: Em C, Falso é representado pelo valor numérico “0”, e Verdadeiro por um outro valor qualquer.

Existem as constantes TRUE e FALSE para esses valores.

Operador Relação

> Maior-que

>= Maior-ou-igual-a

< Menor-que

<= Menor-ou-igual-a

== Igual-a

!= Diferente de

Page 12: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Operadores Aritméticos

>, >=, < e <=– Operações binárias– Serão avaliados como Verdade, se os valores

concordarem com a expressão. Caso contrário, serão avaliados como Falso.

Exemplo:“3 > 4” (Falso)

“5 >= -1” (Verdade)

“i < 100” (Depende de i)

Page 13: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Operadores Aritméticos

== e !=– Operações binárias– Avaliam se os operandos são iguais ou diferentes.

Exemplo:“A == B” (Depende das variáveis)

“i != 0” (Depende de i)

“5 != 7” (Verdade)

“200 == 3” (Falso)

Page 14: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Operadores Lógicos

Operam sobre valores Verdadeiro ou Falso, e são avaliados também como Verdadeiro ou Falso.

E (AND) será Verdade se os dois operandos forem Verdade. OU (OR), se algum dos dois forem Verdade. NÃO (NOT), se o operando for Falso.

Exemplo:“A && B” (Depende de A e B)

“!FALSE” (Verdade)

Operador Relação

&& E (AND)

|| OU (OR)

! NÃO (NOT)

Page 15: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Precedência

Ao ser avaliadas, as Expressões seguem uma sequência estabelecida para avaliar cada sub-expressão.

Essa sequência serve para eliminar ambiguidades na avaliação de expressões.

Exemplo:“A + B * C” (“B * C” Será avaliado primeiro)

“rodas = carros * 4 + bicicletas * 4”

(as multiplicações serão avaliadas, depois a soma, e por ultimo a atribuição)

Page 16: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Precedência

Sequência

Avaliados Antes Desempate

var++ var-- () [] . -> Esquerda para Direita

++var --var + - ! ~ (cast) * & Direita para Esquerda

* / % Esquerda para Direita

+ - Esquerda para Direita

< <= > >= Esquerda para Direita

== != Esquerda para Direita

&& Esquerda para Direita

|| Esquerda para Direita

Condição Ternária ( c?t:f) Direita para Esquerda

Atribuições ( =, +=, etc.) Direita para Esquerda

Avaliados Depois

Page 17: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Comandos de Decisão

Usados para definir o que deve ser feito, levando em conta condições definidas pelo programador.

Existem 3 tipos:– If – Else if – Else.– Switches.– Condição ternária.

Cada um é melhor para um tipo de tarefa.

Page 18: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

If – Else if - Else

Funciona na forma:Se (isto) é verdade

faça aquilo;Se não é, e (isso) é verdade,

faça aquela outra coisa;

Se não é, e (isso aqui) é verdade,

faça essa coisa aqui;

Se nenhum,

faça essa última coisa;

Em C:if (isto)

aquilo;else if (isso)

aquela outra coisa;

else if (isso aqui)

essa coisa aqui;

else

essa última coisa;

Page 19: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

If – Else if - Else

Se for necessário executar mais de um comando, podem ser usadas chaves “{ }”:if(a > b)

{

isso();

aquilo();

}

else

{

outra_coisa();

a++;

}

Page 20: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

If – Else if - Else

As condições “else if” e “else” são opcionais. Apenas um dos blocos de comandos será executado.

Se uma das condições for verdade, as seguintes serão ignoradas.

Exemplo:if(TRUE)

isso();

else

aquilo();

“isso()” sempre será executada, pois “TRUE” sempre é avaliado como verdade, fazendo com que “aquilo()” nunca seja executado.

Page 21: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Switch

Usado quando a decisão depende que uma única variável tenha valores arbitrários:

Caso (isto)

seja isso:

faça aquilo;

pare;

seja isso aqui:

faça aquilo alí;

pare;

se nenhum desses:

faça essa última coisa;

pare;

Em C:

switch (isto)

{

case isso:

aquilo;

break;

case isso aqui:

aquilo alí;

break;

default:

essa última coisa;

break

}

Page 22: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Switch

O comando “default” é opcional. O comando “break” é usado para sair do bloco de

código. Se não for usado, o programa continua a executar a sequência, “invadindo” outro “case” do switch*.

Exemplo:switch (colocação)

{

case 1:

comemorar();

case 15:

chorar();

break;

}*: Isso pode ser usado a seu favor, mas atinge a legibilidade do código.

Se “colocação” for “1”, “comemorar()” será executado, e o programa continuará e executará “chorar()”.Se “colocação” não for nenhum dos dois, como não há condição “default”, nada é feito.

Page 23: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Comando Ternário

Serve para decisões pequenas, do tipo:

isto é verdade? Faça isso. Se não, faça aquilo.

Em C:

isto ? Isso() : aquilo();

Pode ser usado para escolher o lado direito de uma atribuição.

Usar somente com decisões pequenas, pois pode dificultar a leitura do código.

Exemplo:“A = b > a ? b : a;”

“i > j ? i /= j : j /= i;”

Page 24: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Comentários

Servem para anotar coisas relevantes ao código, de forma a explicar certos trechos de código ou deixar informação relevante.

São ignorados pelo compilador, não afetando de forma alguma no programa compilado.

São extremamente importantes em projetos maiores, onde colegas, supervisores ou até você mesmo podem esquecer os detalhes daquela implementação específica.

Page 25: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Comentários

Em C existem dois tipos:– Em linha:Assinalado por “//”.

Tudo na linha após “//” é ignorado.

Exemplo:

If (a > b) //se isso for verdade,

isso(); // faz isso,

Else // se não, algo deu errado,

avisa(); //um aviso será dado

– Em bloco:Assinalado por “/*” e “*/”Tudo entre “/*” e “*/” é ignorado.

/* essa função faz isso e aquilo,E deve ser tomado cuidado para não fazer aquela outra coisa.*/Int faz_isso(int a, int b);

Page 26: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Dúvidas?

Page 27: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Exercício 1

Escreva um programa que recebe um inteiro positivo e imprime "sim" se o inteiro for um múltiplo de 3 e "não" caso contrário.

Page 28: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Exercício 2

Faça um programa que receba 3 números do usuário e imprima qual é o maior e qual é o menor número.

Page 29: Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Exercício 2

Fazer um programa que mostre num menu as opções:

1.SOMA

2.SUBTRAÇÃO

3.MULTIPLICAÇÃO

4.DIVISÃO

e em seguida, receba 2 números e realize a operação de acordo com a opção do usuário. Imprima o resultado na tela.


Top Related