Baixe o app para aproveitar ainda mais
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
Compartilhar