Sie sind auf Seite 1von 25

ALGORITMOS II

APRENDER A APRENDER deve ser nossa meta.


Leandro Oliveira de Souza
Homepage: www.leosouza.com leouneb@gmail.com

ALGORITMOS II

EXPRESSES EM C

Constantes e Operadores
APRENDER A APRENDER
deve ser nossa meta.

Prof. Me. Leandro Oliveira de Souza

EXPRESSES EM C

Problema
Preciso fazer um programa para minha empresa. No entanto, preciso ter certeza que o valor do CNPJ da empresa utilizado no programa no ser alterado durante sua execuo? Preciso fazer um programa que converta temperatura em graus Celsius e mostre a temperatura em fahrenheit
Utilizando a seguinte formula: Fahrenheit = (9/5)*(Celsius) + 32

Como fao para testar se um valor de uma varivel igual ou maior que outra?

Introduo Linguagem C

Constantes

Em C, constantes referem-se a valores fixos que o programa no pode alterar. Para constantes obrigatria a atribuio do valor.
Existem duas formas bsicas para declarar uma constante em C: Usando #define
Voc dever incluir a diretiva de pr processador #define antes de incio do cdigo: A sintaxe para isso (nesse caso, no coloque ponto-e-vrgula no final):

#define [nome da constante] [valor] Ex: #define GERENTE = Joo #define CNPJ = 123.456.77.88-987

Introduo Linguagem C

Constantes
Usando const
Usando const, a declarao no precisa estar no incio do cdigo. A sintaxe para const :
const [tipo] [nome] = [valor]; // uma constante inteira que armazena o nmero 500. // uma constante real que armazena o valor aproximado de PI.

Ex:

const int I = 500; const double PI = 3.1415;

Constantes em caractere so envolvidas por aspas simples (). Ex. a e %. Constantes em Strings em so envolvidas por aspas dupla a

Lembre-se a diferente de a
string
Introduo Linguagem C

char
5

Constantes (usando #define)


Programa para o calculo da rea e comprimento de um circulo

Introduo Linguagem C

Prtica
Faa o programa anterior usando declarando com a sintaxe const

Introduo Linguagem C

Operadores de Atribuio
Atribui o valor da direita varivel da esquerda A sintaxe para isso : [nome_varivel] = [expresso] ou [varivel] ou [constante]. O valor pode ser uma constante, uma varivel ou uma expresso
Ex: a = 3; media = (n1+n2+n3+n4) / 4 (L-se media recebe N1+...)
Neste caso, estamos atribuindo o resultado da frmula varivel mdia, ou seja, a varivel mdia est recebendo como valor o resultado da frmula

Atribuies multiplas a = x =y = 4;
Introduo Linguagem C 8

Operadores Aritmticos
OPERADOR AO + Adio * Multiplicao / Diviso % Resto da diviso inteira Subtrao (unrio) -Decremento ++ Incremento
Introduo Linguagem C 9

Operadores Relacionais e Lgicos


Operador
> >= <

Ao
Maior que Maior ou igual que Menor que

<=
== != && || !

Menor ou igual que


Igual a Diferente de Condio E Condio OU No
Introduo Linguagem C 10

Operadores - Observao
Em C o resultado da comparao ser ZERO se resultar em FALSO e DIFERENTE DE ZERO no caso de obtermos VERDADEIRO num teste qualquer.

Introduo Linguagem C

11

Operadores - Exemplo

Sada: Verd.=1 Falso = 0

Introduo Linguagem C

12

Operadores - Observao
Operadores relacionais so muito usados quando temos que tomar decises nos algoritmos. Com eles fazemos testes, comparaes, que resultam em valores lgicos (verdadeiro ou falso):
Exemplo: tendo duas variveis, A = 5 e B = 3:

Introduo Linguagem C

13

Exerccio
1. Tendo as variveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expresses so verdadeiras ou falsas.

2. Sabendo que A=3, B=7 e C=4, informe se as expresses abaixo so verdadeiras ou falsas. a) (A+C) > B ( ) b) B >= (A + 2) ( ) c) C = (B A) ( ) d) (B + A) <= C ( ) e) (C+A) > B ( )
Introduo Linguagem C 14

Operadores Lgicos
1. Operadores lgicos combinam resultados lgicos, gerando novos valores lgicos (verdadeiro ou falso). A tabela-verdade abaixo mostra todos os valores possveis de se obter com oper. lgicos:

T = Verdad. F = Falso AND = E OR = OU NOT = NO


Introduo Linguagem C 15

Operadores Lgicos
1. Combinando operadores relacionais e operado-res lgicos criamos operaes lgicas, que pro-duziro resultados lgicos (verdadeiro ou falso).
Por exemplo, se A = 5, B = 8 e C = 1: (A = B) E (B > C) (A <> B) OU (B < C) NO (A > B) (A < B) E (B > C) (A >= B) OU (B = C) NO (A <= B)

falso (f e v) verdadeiro (v ou f) verdadeiro (no f) verdadeiro (v e v) falso (f ou f) falso (no v)

1. So usadas em decises nos algoritmos...

Introduo Linguagem C

16

Comparaes e Testes
int x = 1; int y = 2; printf(%d == %d e %d\n, x, y, x==y );

Qual seria a sada deste comando? resultaria em 1 == 2 0 (pois a expresso falsa)


Introduo Linguagem C 17

Comparaes e Testes

if (10 > 4 && !(10 < 9) || 3 <= 4) Como seria avaliado esta instruo? resultaria em Verdadeiro, pois dez maior que quatro E dez no menor que nove OU trs menor ou igual a quatro

Introduo Linguagem C

18

Operadores de Incremento e Decremento


O operador de increment ++ soma 1 ao seu operando, e o subitrai 1:
X = x+1; X = x-1; o mesmo que x++; o mesmo que x--;

Ambos operadores podem ser usados tanto ser utilizados como prefixo ou sufixo do operando. Ex: x++ e ++x Observemos antes de mais nada que ++x diferente de x++!

Introduo Linguagem C

19

Operadores de Incremento e Decremento


Quando um operando de incremente ou decremento precede seu operando, C executa a operaao de incremento ou decremento antes de usar o valor do operando. Se ele estiver aps seu operando, C usar o valor do operado antes de increment-lo ou decrement-lo.
Se x = 10; y = ++x; Porm Se x = 10; y = x++;

/* x=x+1;
ento x = 11 e y = 11

y=x; */

/* y=x;

x=x+1 */

ento x = 11 e y = 10

Introduo Linguagem C

20

Programa Exemplo Pre/Pos Incremento


Quais so as sadas deste programa ?

Introduo Linguagem C

21

Operador em tempo de compilaao sizeof Este operador retorna o tamanho em bytes, da varivel ou especificador de tipo que est em seu operando.
Ex: float f; printf(%f, sizeof f); printf(%f, sizeof (int)); Retornar na tela os valores 8 e 2

Outro exemplo sizeof(char) resultaria em 1.

Introduo Linguagem C

22

Converses de Tipos
Quando forem misturadas variveis de diferentes tipos, o compilador C converter os operandos para o tipo de operando maior, de acordo com as regras descritas a seguir: 1-Todo char e short int convertido para int. Todo float convertido para double. 2-Para os demais pares de operandos valem as seguintes regras em seqncia: 2.1- Se um operando for long double, o outro tambm o ser. 2.2- Se um operando for double, o outro tambm o ser. 2.3- Se um operando for long, o outro tambm o ser. 2.4- Se um operando for unsigned, o outro tambm o ser.

Introduo Linguagem C

23

Converses de Tipos - NOTA


Nota: Devemos observar que o compilador C bastante flexvel e pouco vigilante, comportando-se de maneira muito diferente de um compilador Clipper ou Pascal, sempre vigilantes com relao aos tipos das variveis. De fato aqueles compiladores podem gerar executveis misturando tipos, porm a ocorrncia de erros de execuo quase inevitvel. Ao contrrio destes compiladores, os compiladores C ajeitam as coisas para o programa funcionar da melhor maneira possvel, o que no significa em hiptese alguma que os resultados sero os esperados por programadores relapsos. Assim esta boa caracterstica dos compiladores C, pode transformar-se numa autntica bomba relgio para programas no muito bem Linguagem C Introduo elaborados. 24

Exerccios
1) Tendo como dados de entrada a altura de uma pessoa, construa um algoritmo que calcule seu peso ideal, utilizando a seguinte frmula: peso ideal = (72.7*altura) 58 2) Tendo como entrada o total vendido por um funcionrio no ms de abril, faa um algoritmo que mostres a sua comisso e salrio bruto neste ms, sabendo que o seu salrio base R$1.200,00 e sua comisso de 10% sobre o total vendido.

Introduo Linguagem C

25

Das könnte Ihnen auch gefallen