Buscar

Aula05_Constantes_expressoes_AP

Prévia do material em texto

Universidade Federal da Grande Dourados
Faculdade de Ciências Exatas e de Tecnologias
Curso de Bacharelado em Sistemas de Informação
Algoritmos e Programação
constantes, expressões
Profª Janne Oeiras Lachi
1
Plano de aula
` O objetivo da aula é abordar a manipulação de dados 
pelo computador
` Veremos:
` Constantes
` Expressões
2
Constantes
` É tudo que é fixo, estável, inalterável, imutável, invariável, de 
valor fixo e que é aplicado sob diversos pontos de vista.
` Pode ser um número, um valor lógico ou uma seqüência 
qualquer de caracteres (cadeia, string ou literal)
` Exemplos:
` Numérica: 15, -15, 0.342, -2.726
` Lógico: verdadeiro ou falso
` Literal: “José da Silva”, “123456”, “*A!B?-”, “16/08/2010”
3
Constantes
` Em C é possível definir constantes usadas por meio diretiva 
define. 
` Sintaxe: 
` #define <nome> <valor>
` Exemplo:
#include <stdio.h>
#include <stdlib.h>
#define ano 2012
#define curso "Bacharelado em Sistemas de Informação"
int main ()
{
printf("Ano: %d\n", ano);
printf("Curso: %s\n", curso);
system("pause");
return 0;
}
4
Constantes
` Podemos usar também o qualificador const
` Sintaxe: 
` const <tipo> <nome>= <valor>
` Exemplo: /* Mostra o uso de const para declarar constantes */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
const char Bip = ‘\a’; /* declaração de constante */
const float Pi = 3.14; /* declaração de constante */
float raio, area;
printf(″Digite o raio da esfera:);
scanf(“%f”, &raio);
area = 4.0 * Pi * raio * raio;
printf(″%c%c″, Bip, Bip);
printf(″\nArea da esfera = %.2f\n″, area);
system(″PAUSE″);
return 0;
}
5
Atribuição
` Na linguagem C o comando de atribuição utiliza o 
símbolo =
` Sintaxe:
` <identificador> = <expressão>;
` identificador é o nome da variável ou constante à qual está sendo 
atribuída a expressão;
` = é o símbolo de atribuição
` expressão pode ser uma expressão aritmética, lógica ou literal, cujo 
valor (obtido após avaliação) e atribuído à variável
NÃO ESQUEÇA O ; NO FINAL
6
Atribuição: exemplos
` X = 2000;
` Y = X = 3;
` Y = (X = 3);
` MEDIA = SOMA/N;
Atribuição é executada da direita para a esquerda.
7
Expressões Aritméticas
` São as expressões cujos operadores são aritméticos e cujos 
operandos são constantes e/ou variáveis do tipo numérico
` Exemplos:
` X + Y X- Y
` 2 x nota total/n
` AxB+C soma2
` √P √F1 + G2 - H 
Adição
Multiplicação
Potenciação
Subtração
Divisão
Radiciação
8
Operadores: símbolos usados
Operador binário Operação Tipo
- Menos unário Unário
= Atribuição Binário
+ Adição Binário
- Subtração Binário
* Multiplicação Binário
/ Divisão Binário
% Módulo (resto da divisão inteira) Binário
9
Operadores em C: observações
` O operador menos unário é usado somente para indicar a 
troca de sinal algébrico do valor associado.
` Exemplo: 
` x = 8; 
` x = -x; 
` O valor de x será -8 depois das duas instruções
10
Operadores em C: observações
` O operador % opera somente com operandos inteiros e dá
como resultado o resto da divisão do inteiro à esquerda pelo 
inteiro à sua direita.
` Exemplo: 17%5 resulta em 2, pois a divisão de 17 por 5 tem resto 2
` Se tentar fazer com reais, dá erro (20.6%5)
` O operador / faz a divisão entre números inteiros ou reais
` Inteiros: 5 / 2 resulta em 2
` Exemplo: 5.0 / 2 resulta em 2.5
` Exemplo: 5 / 2.0 resulta em 2.5
11
Operadores em C: precedência
` Os operadores *, / e % têm precedência sobre os operadores 
+ e –
` Exemplo: 5 + 17 * 2 resulta em 39
` Exemplo: 15 - 5 * 3 % 2 resulta em 14
` Os operadores *, / e % têm a mesma precedência e 
associatividade da esquerda para a direita
` Exemplo: 17 / 5 * 2 % 2 resulta em 0
` Exemplo: 17 / 5 * 3 % 2 resulta em 1
` Os operadores + e - têm a mesma precedência e 
associatividade da esquerda para a direita
` Exemplo: 20 + 5 - 2 resulta em 23
` Exemplo: 20 - 5 + 2 resulta em 17
12
Operadores aritméticos de atribuição
` Combinam operações aritméticas com o operador de 
atribuição.
` Sintaxe:
` <variável> op = <expressão>;
` variável é o nome da variável à qual está sendo atribuída a 
expressão;
` op é um operador aritmético
` = é o símbolo de atribuição
` expressão pode ser uma expressão aritmética, lógica ou literal, cujo 
valor (obtido após avaliação) e atribuído à variável
` Equivale a <variável> = <variável> op (<expressão>)
13
Operadores aritméticos de atribuição
` Exemplos:
` i += 2; equivale a i = i + 2; 
` x *= y+1; equivale a x = x * (y+1); 
` t /=2.5; equivale a t = t / 2.5; 
` p %= 5; equivale a p = p % 5;
` d -= 3; equivale a d = d – 3;
14
Operadores de incremento e decremento
` Podem ser pré-fixados ou pós-fixados
` Pré-fixado: adição ou subtração ocorre antes da 
atribuição
` Pós-fixado: adição ou subtração ocorre depois da 
atribuição
Operador Exemplo Comentário
++ x++ Equivale a x = x + 1
++ y = ++x Equivale a x = x + 1 e depois y = x
++ y = x++ Equivale a y = x e depois x = x + 1 
-- x-- Equivale a x = x – 1
-- y = --x Equivale a x = x - 1 e depois y = x
-- y = x-- Equivale a y = x e depois x = x - 1 
Precedência em Operadores de incremento e 
decremento
` x = a * b++;
` b é multiplicado por a, o valor atribuído a x e depois b 
é incrementado
` x = a * ++b;
` b é incrementado, depois é multiplicado por a, e 
o valor é atribuído a x.
Funções matemáticas
` Para usá-las você deve incluir o módulo <math.h> no início 
do seu arquivo
Função Exemplo Significado
ceil ceil(x) Arredonda um número real para cima. Por 
exemplo, ceil(3.2) é 4.
floor floor(x) Arredonda o número para baixo. Por exemplo, 
floor(3.2) é 3.
abs abs(x) Obtém o valor absoluto de x.
sqrt sqrt(x) Calcula a raiz quadrada de x.
pow pow(x,y) Calcula a potência de x elevado a y.
modf z = modf(x, &y) Decompõe o número real armazenado em x em 
duas partes: y recebe a parte fracionária e z, a 
parte inteira do número.
17
Funções matemáticas
` Para usá-las você deve incluir o módulo <math.h> no início 
do seu arquivo
Função Exemplo Significado
cos cos(x) Calcula o coseno de x (deve ser apresentado em 
radianos).
sin sin(x) Calcula o seno de x (deve ser apresentado em 
radianos).
tan tan(x) Calcula a tangente de x (deve ser apresentado em 
radianos).
log log(x) Obtém o logaritmo natural de x.
log10 log10(x) Obtém o logaritmo de base 10 de x.
exp exp(x) Obtém o logaritmo natural e elevado à potência x.
Operadores relacionais
` Uma expressão relacional (relação) é uma comparação 
realizada entre dois valores do mesmo tipo
` O resultado obtido de uma relação é sempre um valor lógico
(verdadeiro ou falso)
Operador Operação
== Igual a
!= Diferente de
> Maior que
< Menor que
>= Maior ou igual a
<= Menor ou igual a
19
Operadores relacionais: exemplo
` Qual a saída produzida pelo programa abaixo?
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int Verdade, Mentira;
Verdade = (15 < 20);
Mentira = (15 == 20);
printf(“1o. Resultado: %d\n”, Verdade);
printf(“2o. Resultado: %d\n”, Mentira);
system(“pause”);
return 0;
}
1o. Resultado: 1
2o. Resultado: 0
Após ser avaliada, uma expressão retorna o 
valor lógico 1 para verdadeiro e 0 para 
falso.
20
Precedência: operadores aritméticos x 
operadores relacionais
` Operadores relacionais têm precedência menor que os 
aritméticos
#include <stdio.h>
#include <stdlib.h>
int main ()
{
printf(“O valor da expressão 4 + 1 < 3 é %d\n”, 4+1<3);
printf(“O valor da expressão 2 < 1 + 3 é %d\n”,2<1+3);
system(“PAUSE”);
return 0;
}
O valor da expressão 4 + 1 < 3 é 0 
O valor da expressão 2 < 1 + 3 é 1
21
Operadores Lógicos
` Também fazem comparações
` A diferença das comparações lógicas e relacionais está na 
forma como os operadores avaliam seus operandos
` Operandos de operadores lógicos são avaliados como lógicos 
(0 ou 1)
Operador Operação
&& Lógico E
|| Lógico OU
! Lógico NÃO
22
Tabela de precedência
Símbolo Operador
- Menos unário
++ Incremento pré-fixado ou pós-fixado
-- Decremento pré-fixado ou pós-fixado
! Lógico NÃO
* Multiplicação aritmética
/ Divisão aritmética
% Módulo aritmético
+ Mais aritmético
- Menos aritmético
< Menor relacional
<= Menor ou igual relacional
> Maior relacional
>= Maior ou igual relacional
Operadores no 
mesmo bloco 
têm a mesma 
precedência
23
Tabela de precedência (cont.)
Símbolo Operador
== Igual relacional
!= Diferente relacional
&& E lógico
|| OU lógico
= Atribuição
*= Aritmético de atribuição (multiplicação)
/= Aritmético de atribuição (divisão)
%= Aritmético de atribuição (módulo)
+= Aritmético de atribuição (adição)
-= Aritmético de atribuição (subtração)
24
Operadores: avaliação lógica ou 
numérica
` Os operandos são avaliados como quantidades numéricas ou 
como lógicos
` O resultado de uma operação pode ser numérico ou lógico
Operadores Operandos Resultado
Aritméticos Numéricos Numérico
Relacionais Numéricos Lógico
Lógicos Lógicos Lógico
25
Exercícios
1. Para cada expressão abaixo, crie um programa em C que 
receba do usuário os valores das variáveis e imprima na tela o 
resultado da expressão.
26
Referências
` ALGORITMOS. MANZANO – Lógica para desenvolvimento 
de programação de computadores. José Augusto N. G. 
Manzano, Jayr Figueiredo de Oliveira. São Paulo: Érica, 2006.
` ALGORITMOS ESTRUTURADOS. Harry Farrer, Christiano 
Gonçalves Becker, Eduardo Chaves Faria et al. 3ª Edição. Rio 
de Janeiro: LTC, 2008.
27
	Algoritmos e Programação
	Plano de aula
	Constantes
	Constantes
	Constantes
	Atribuição
	Atribuição: exemplos
	Expressões Aritméticas
	Operadores: símbolos usados
	Operadores em C: observações
	Operadores em C: observações
	Operadores em C: precedência
	Operadores aritméticos de atribuição
	Operadores aritméticos de atribuição
	Operadores de incremento e decremento
	Precedência em Operadores de incremento e decremento
	Funções matemáticas
	Funções matemáticas
	Operadores relacionais
	Operadores relacionais: exemplo
	Precedência: operadores aritméticos x operadores relacionais
	Operadores Lógicos
	Tabela de precedência
	Tabela de precedência (cont.)
	Operadores: avaliação lógica ou numérica
	Exercícios
	Referências

Continue navegando