Vous êtes sur la page 1sur 37

Algoritmos Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br selmini@fiap.com.

br Tipos de dados, Variveis e Operadores

www.fiap.com.br

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Variveis
Quando os dados so digitados para processamento em um programa, onde eles ficam armazenados?
Em uma rea de armazenamento chamada memria!! A memria um dispositivo fsico onde todos os dados a serem processados ou j processados so armazenados; Basicamente existem dois tipos de memria: primria e secundria; A memria primria tambm chamada de RAM (Random Access Memory) uma memria de acesso aleatrio e voltil; As memrias secundrias podem ser dispositivos externos tais como: discos magnticos, CD-ROM, dentre outros;

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Variveis
Podemos imaginar a memria principal como uma caixa; Essa caixa dividida em caixas menores e dispostas de forma sequencial; Essas divises so chamadas de posies de memria; Para que o computador faa a manipulao dos dados armazenados necessrio conhecer quais so as posies de memrias que esto preenchidas; A cada posio de memria associado um endereo fsico (hexadecimal);

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Variveis
Endereo Fsico 1000:3AC89 2000:AAFF3 Contedo Armazenado Hoje feriado 25

Conhecer o endereo de memria das variveis para manipular o seu contedo no nada prtico; As linguagens de programao permitem que os programadores forneam nomes s posies de memria; Os nomes so chamados de endereos lgicos ou identificadores;

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Variveis
No podemos esquecer que os nomes das posies de memria so associados aos endereos fsicos pelo sistema operacional;

Endereo Lgico frase idade

Contedo Armazenado Hoje feriado 25

As posies de memria que o computador manipula durante a execuo de um programa damos o nome de variveis;
5

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Variveis
Todas as variveis em um programa deve ter um nome (identificador);
O nome deve ser sugestivo, relacionado com o contedo; Nomes de variveis no podem ser simplesmente nmeros, mas podem conter nmeros; Smbolos especiais no so aceitos (*, !, ?, etc); No usar espaos e acentuaes;

Exemplos:
idade; nome_do_funcionario; prova1; 30; no um nome vlido, pois um nmero prova 1; no pode haver espaos

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Tipos de dados primitivos


Toda informao manipulada por um programa tem um tipo de dado; O tipo importante para que o dado possa ser armazenado corretamente e tambm indica quais so as operaes que podem ser realizadas com a varivel; Os tipos primitivos j vem com a linguagem de programao; A quantidade de tipos e os nomes podem variar de uma linguagem para outra;
7

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Tipos de dados primitivos


Basicamente os tipos primitivos so; inteiro; real: caractere; cadeia de caracteres ou string; booleano ou lgico;

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Tipos de dados primitivos


Inteiro: valores numricos sem casa decimal. Exemplo: 12, 100, -12, 0, -56, etc; Operaes: adio, subtrao, multiplicao, diviso, potenciao e resto de diviso (esta operao s definida para valores inteiros); Real: valores numricos com casa decimal. Exemplo: 1.0, 2.456, -5.9090, 0.0, etc ; Operaes: adio, subtrao, multiplicao, diviso, potenciao; Caractere: armazenar um nico caractere (podendo ser um dgito ou no). Exemplo: 1, a, A, *, ?, /, :, etc;

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Tipos de dados primitivos


String: Uma string formada por dois ou mais caracteres juntos. Exemplo: aa, Maria, Pedro, 112, etc; Booleano: toda e qualquer informao que pode assumir apenas duas situaes excludentes. So representados pelos valores: verdadeiro ou true e falso ou false. Exemplo:
A porta pode estar aberta ou fechada. A lmpada pode estar acesa ou apagada.

10

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Declarao de variveis
Toda varivel usada em um programa deve ser declarada; Declarar uma varivel significa fornecer um nome vlido e tambm indicar o tipo de dado que a varivel ir armazenar; Existem algumas linguagens de programao que no exigem a declarao de variveis; A sintaxe para declarar uma varivel ; <tipo_de_dado> <nome_da_varivel>
11

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Declarao de variveis
Exemplos: inteiro idade; real nota; caractere sexo; inteiro x, y, z; string nome; booleano situacao;
variveis com o mesmo tipo podem ser declaradas na mesma linha!

evite usar acentuao grfica

12

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Constantes
Um dado constante quando no sofre nenhuma variao no decorrer do tempo, ou seja, seu valor constante desde o incio at o fim da execuo do algoritmo; Cada linguagem de programao tem a sua forma de definir constantes. Este assunto ser abordado novamente ao estudarmos a linguagem C; Exemplo de valores constantes: (5 * a + x) / y
a, x e y so variveis!!
13

5 um valor constante!!

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores
Mecanismo presente nas linguagens de programao utilizado para manipular o contedo das variveis; Basicamente temos quatro grupos de operadores:
Atribuio Aritmticos Relacionais Lgicos

14

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operador de atribuio
responsvel por alterar o contedo armazenado em uma varivel; O operador de atribuio varia de uma linguagem de programao para outra; O smbolo mais utilizado o sinal de igual (=), que ser o nosso operador de atribuio; Vale a pena destacar que em vrios livros de algoritmos, o operador de atribuio representado de forma geral por uma seta (). A seta indica a varivel que ir receber o contedo;
15

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operador de atribuio
Exemplos
A = 10 (atribui / armazena o nmero 10 na varivel A); B = 25 (atribui / armazena o nmero 25 na varivel B); C = A (atribui / armazena o caractere A na varivel C); nome = Maria (atribui / armazena a string Maria na varivel nome); F = A (atribui / armazena o contedo da varivel A na varivel F);

16

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operador de atribuio
Neste exemplo, as variveis so declaradas e em seguida inicializadas;
Incio inteiro a, b, c, d a=2 b=3 c = 10 d=5 Fim

17

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operador de atribuio
Uma varivel tambm pode ser inicializada no momento da declarao. Exemplo:
Incio inteiro a = 2, b = 3, c = 10, d = 5 Fim

possvel tambm fazer atribuio mltipla, ou seja, um valor pode ser atribudo para vrias variveis. Exemplo:
Incio inteiro a, b, c, d a=b=2 c = d = 15 Fim

18

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores aritmticos
So responsveis por realizar as operaes aritmticas bsicas; Operao Adio Subtrao Multiplicao Diviso Smbolo + * / Exemplo A+B AB A*B A/B

Estes operadores so binrios, ou seja, trabalham com dois operandos;


19

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores aritmticos
Alm das operaes aritmticas bsicas, existe tambm a operao de resto de diviso, ou tambm chamada de resto da diviso inteira; O operador de resto de diviso varia de uma linguagem de programao para outra. Em C esse operador representado pelo smbolo de porcentagem (%); Essa operao s definida para variveis do tipo inteiro. Esse operador binrio. Exemplo:
10 % 2 = 0 10 % 5 = 0 15 % 4 = 3 7 % 13 = 7 no possvel dividir 7 por 13 (diviso inteira)

20

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores aritmticos
Duas outras operaes que aparecem com frequncia quando trabalhamos com operaes aritmtica so a potenciao e a radiciao; Neste caso no temos operadores e sim funes da linguagem. Neste caso, iremos adotar duas funes da linguagem C: pow() (power) e sqrt() (square root); Operao Potenciao Raiz quadrada Smbolo Exemplo Significado
pow() sqrt() pow(A, B) sqrt(A) AB
21

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores aritmticos
Os operadores aritmticos tm uma hierarquia que deve ser obedecida:
Parnteses; Potenciao ou radiciao; Multiplicao ou diviso ou resto da diviso; Adio ou subtrao;

22

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores aritmticos exerccio 1


Suponha as variveis A = 5, B = 1, C = 2, D = 3, E = 0 e F = 1. Qual o valor de cada expresso abaixo? a) A + B * C b) (A + B) * C c) A B * C + D * E d) A B * C + D * E / F

23

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores aritmticos exerccio 2


Resolva as seguinte expresses: a) 5 + 9 + 7 + 8 / 4 b) 1 4 * 3 / 6 32 c) 52 4 / 2 + 5 % 2 d) 9 % 7 % 3 % 2 / 5

24

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores aritmticos exerccio 3


Supondo que A, B e C so variveis do tipo inteiro, com valores iguais a 5, 10 e -8, respectivamente, e uma varivel real D, com valor 5.0. Qual o resultado de cada expresso? a) 2 * A % 3 C b) -2 * C / 4 c) 20 / 4 / 4 + 82 / 2 d) 30 % 4 * 33 1
25

e) -C2 + (D * 10) / A f) sqrt(pow(A, B/A)) + C * D

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores aritmticos exerccio 4


Escreva cada uma das expresses abaixo de forma que possam ser processadas por um computador :

b b 3 4ac + 2a 2 a) x = 2a (b + 1) 2

b)

b + b 2 4ac x= 2a
2 5 x 5 x4 y= + 3 x3 x+ y

c)

y = 3 x + 5 ( x + 2) 3

d)

26

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores aritmticos exerccio 5


Para cada uma das instrues abaixo, escreva a sua expresso aritmtica equivalente :
a) z = (x + y / 2) / 4 + a + b b) z = (x + y / 2) / (4 + a + b) c) z = (x + y / 2) / 4 + a / b d) z = sqrt(sp *(sp - a) * (sp - b) * (sp - c))

27

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores aritmticos exerccio 6


Determine quais as codificaes corretas para a expresso:

a+b x= 2c
a) x = (-a + b) / (2 * c) b) x = (b a) / (2 * c) c) x = ((-1) * a + b) / (2*c) d) x = -a + b / 2 * c e) x = - a + b / (2 * c) f) x = (-a + b) / 2 * c

28

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores relacionais
Os operadores aritmticos so utilizados para realizar clculos matemticos com o contedo das variveis; Os operadores relacionais como o prprio nome indica so utilizados para relacionar o contedo das variveis;
O contedo de uma varivel igual ou diferente do contedo de outra varivel? O contedo de uma varivel maior ou menor do que o contedo de outra varivel? Os operadores relacionais so: >, <, >=, <=, == e !=;

O resultado de uma expresso relacional um valor lgico: VERDADEIRO ou FALSO;

29

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores relacionais
Operao Smbolo Exemplo Significado Igualdade == A == B O valor de A igual ao valor de B? Maior > A > B O valor de A maior do que o valor de B? Maior ou igual >= A >= B O valor de A maior ou igual ao valor de B? Menor < A < B O valor de A menor do que o valor de B? Menor ou igual <= A <= B O valor de A menor ou igual ao valor de B? Diferente != A != B O valor de A diferente do valor de B?

Quando em uma expresso temos os operadores aritmticos junto com os operadores relacionais, a prioridade dos operadores aritmticos;
30

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores relacionais exerccio


Para resolver esse exerccio considere a existncia de trs variveis do tipo inteiro com seus respectivos contedos: A = 6, B = 3 e C = 2. a) (A + B / C) < (C / A + 4) b) ((B%C)+3) >= (B%A)+(C%B) c) ((B%C)+3) <= (B%A)+(C%B) d) A*B == A+B-3+C/4 e) A/B%B%A%C != B%A%B%C%A

31

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores lgicos
Os operadores lgicos so extremamente importantes no desenvolvimento de programas (criao de condies lgicas); Normalmente temos vrias expresses aritmticas e relacionais e devemos combinar os seus resultados com o objetivo de obter apenas um; Os operadores lgicos so utilizados para esse propsito; O resultado de uma expresso que utiliza operadores lgicos booleano (VERDADEIRO ou FALSO);
32

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores lgicos
Vamos utilizar trs operadores lgicos: E, OU e NO; O operador E e OU so binrios, enquanto que, o operador NO unrio;
p Verdadeiro Verdadeiro Falso Falso q Verdadeiro Falso Verdadeiro Falso pEq Verdadeiro Falso Falso Falso NO(p E q) Falso Verdadeiro Verdadeiro Verdadeiro p OU q Verdadeiro Verdadeiro Verdadeiro Falso NO(p OU q) Falso Falso Falso Verdadeiro

33

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Operadores lgicos exerccio


Determine o resultado de cada uma das expresses abaixo. Considere que as variveis a e b so do tipo inteiro e armazenam os valores 2 e 7 respectivamente. A varivel c do tipo real e armazena o valor 3,5. A varivel d do tipo lgica e armazena o valor falso. a) b == a * c E (d ou b != c) b) b > a ou b == pow(a, a) c) d E b / a >= c OU NO(a <= c) d) NO(d) E sqrt(a+b) >= c e) b / a == c OU b / a != c f) d OU pow(b, a) <= c * 10 + a * b
34

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Exerccio geral teste de mesa


Considere o seguinte trecho de um algoritmo :
inteiro pig, vari, total, a, i real valor_a, x vari = 2 total = 10 valor_a = 7.0 a=4 i = 80 x = 4.0

35

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Exerccio geral teste de mesa


Informe os valores armazenados em cada uma das variveis aps a execuo de cada uma das operaes abaixo:
x = total / vari x=x+1 a=a+i pig = 10 a = i / pig a=a+i%6 valor_a = pig * valor_a + x

36

Bacharelado em Sistemas de Informao Algoritmos Tipos de dados, Variveis e Operadores Prof. Dr. Antonio Marcos SELMINI profselmini@uol.com.br

Bibliografia
DEITEL, Paul; DEITEL, Harvey. C Como Programar. 6 edio. So Paulo: Pearson Prentice Hall, 2011. FORBELLONE, Andr Luiz Villar; EBERSPCHER, Henri Frederico. Lgica de Programao. 3 edio. So Paulo: Pearson Prentice Hall, 2005.

37

Vous aimerez peut-être aussi