A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tipos de Dados, Variáveis e Constantes, Expressões e Operadores Pascal

Apresentações semelhantes


Apresentação em tema: "Tipos de Dados, Variáveis e Constantes, Expressões e Operadores Pascal"— Transcrição da apresentação:

1 Tipos de Dados, Variáveis e Constantes, Expressões e Operadores Pascal

2 Tipos de dados Algoritmos manipulam dados fornecidos pelos usuários.
Algoritmos devolvem dados aos usuários. Que tipos de dados podemos manipular? Algoritmos manipularão os seguintes tipos de dados: Dados numéricos; Dados literais; Dados lógicos.

3 Integer (Números Inteiros)
Integer = [‘+’ | ‘-’]algarismo{algarismo} A definição diz que um número inteiro pode ou não ter um sinal (+ ou -). Em seguida deve vir obrigatoriamente um algarismo, que pode ser ou não seguido de outros algarismos. Observe que não há espaços em branco entre o sinal e os algarismos.

4 Exemplos Válidos Não válidos +3 3 -3 -121 +12345
+ 3 Não é permitido espaço em branco entre o sinal e o algarismo. -1.0 Não é possível usar ponto. -2,0 Não é possível usar vírgula. 32 Expoentes não são permitidos.

5 Real (Números reais) Um número real pode ou não ter um sinal.
Real = [‘+’ | ‘-’]algarismo{algarismo}.algarismo{algarismo} Um número real pode ou não ter um sinal. Em seguida deve vir um algarismo seguido de zero ou mais algarismos. O próximo item é o ponto decimal, que é obrigatório. Finalmente um algarismo seguido de zero ou mais algarismos.

6 Exemplos Válidos Não válidos +3.0 3.0 -3.0 -121.15 3.1415
+ 3.0 Não é permitido espaço em branco entre o sinal e o algarismo. -1. É necessário um algarismo após o ponto. -2,0 Não é possível usar vírgula. É necessário um algarismo antes do ponto. Dízimas periódicas não podem ser representadas desta maneira. +3.0 3.0 -3.0 3.1415

7 Char (Caracter) Representa qualquer sinal gráfico que possa ser manipulado pelo computador: Ex: Letras maiúsculas = “A”,”B”,”C”,”D”, ...,”Z” Letras minúsculas = “a”,”b”,”c”,”d”,...,”z” Dígitos = “0”,”1”,”2”,”3”,”4”,....,”9” Caracteres especiais = “!”, “$”,”^”, ....

8 Char (Caracter) Cada caracter digitado possui um código interno numérico, de acordo com uma tabela específica que serve para transformá-lo na sequência de 0s e 1s. O código mais disseminado de todos é o ASCII (American Standard Code for Information Interchange). ASCII usa 8 bits para representar os caracteres ASCII pode representar portanto até 28=256 caracteres.

9 Exemplos de caracteres ASCII
‘z’ = 122 ‘A’ = 65 ‘Z’ = 90 ‘0’ = 48 ‘9’ = 57 ‘$’ = 36 ‘+’ = 43

10 String (Cadeias de caracteres)
Conjuntos de caracteres, como por exemplo um nome, devem ser representados entre ‘s Por exemplo: “12345” Conjunto de algarismos “Jorge da Silva” Nome Conjunto de caracteres variados

11 Boolean (Lógicos) Representa valores que só podem assumir dois estados: True (verdadeiro) ou False (falso). Normalmente, estes valores são utilizados em estruturas de controle de fluxo. Recebe este nome devido a George Boole, matemático inglês, que deu ao nome à álgebra (álgebra booleana) que manipula este tipo de dados. A álgebra booleana é aplicada no projeto de computadores digitais.

12 Variáveis Cada variável corresponde a uma posição de memória cujo conteúdo pode variar durante a execução do programa. Ao se declarar uma variável, ficam reservadas uma ou mais posições de memória para guardar os valores que porventura sejam associados àquele nome durante a execução do programa. A alteração desta área fará com que o valor anterior seja sobreposto pelo novo.

13 Variáveis “Variáveis” são criadas no início da execução do programa e destruídas ao término da sua execução. Uma vez atribuído um valor para uma variável, este permanece até que sofra nova modificação pelo programa. O conjunto de “variáveis” que um programa necessita precisa ser definido antes de se iniciar a execução do programa.

14 Variáveis Toda “variável” precisa estar associada a algum “tipo” de dados. O “tipo” de uma variável determina a coleção finita de valores que podem ser atribuídos à mesma. O “tipo” de uma variável é fixo durante toda a execução do algoritmo. Os “tipos” de todas as “variáveis” precisam ser definidos antes de se iniciar a definição dos comandos.

15 Nomes de Variáveis Variáveis são representadas por nomes ou identificadores. Cada variável deve receber um nome diferente para poder ser identificada sem problemas. Estes nomes deverão ser utilizados sempre que quisermos modificar ou consultar o conteúdo de uma variável.

16 Nomes de Variáveis As regras para criação dos nomes das variáveis são as seguintes: Um nome de variável pode conter letras, algarismos e o caracter _ (sublinha); Um nome de variável deve necessariamente começar por uma letra; Um nome de variável não deve conter nenhum símbolo diferente de letra ou algarismo, exceto o símbolo _ (sublinha) Não existe limitação para o número de caracteres do nome; Não será feita diferenciação entre letras maiúsculas e minúsculas.

17 Dicas Escolher nomes significativos para as variáveis
P. Ex. salario, total, nota, pagamento Nomes significativos ajudam a tornar os algoritmos e os programas auto-explicativos Nomes de variáveis com mais de uma palavra podem ajudar também Separe os nomes por sublinhados P. Ex. total_pagamentos, prova_final Não é necessário alongar desnecessáriamente os nomes. P. Ex. total_de_recebimentos_do_ano, variavel_nota Evitar nomes que não ajudem o entendimento do algoritmo.

18 Exemplos Válidos Não válidos soma$ $ não é permitido soma
salario total Espaço em branco não é permitido 2prova Não começou por uma letra Salario/hora / não é permitido soma salario_total nota_final prova1 raio velocidade_inicial

19 Palavras reservadas São palavras que têm um sentido predeterminado na linguagem e não devem ser usadas como identificadores. PROGRAM MOD DIV DO INTEGER REAL IF THEN ELSE AND PROCEDURE AND STRING OR XOR NOT BEGIN END VAR FUNCTION REPEAT BOOLEAN WHILE

20 Declaração de variáveis
nome : tipo de dado; Onde nome: identificador da variável tipo de dado - qualquer tipo de dados entre os descritos anteriormente.

21 Declaração de variáveis
Exemplos: VAR Resposta : boolean; taxa : integer; Nome : string[30];

22 Expressões Expressões combinam variáveis, operadores e constantes para produzir um resultado. Variáveis são nomes usados para representar posições na memória onde estão os dados que serão processados. Constantes são símbolos usados para representar dados. Operadores são usados para combinar as variáveis e constantes fornecendo um valor como resposta.

23 Exemplos de Expressões
0.5 * base * altura (nota1 + nota2) / 2.0 (temperatura > 0) and (quantidade < limite) 4 mod 3 + 5 A > B

24 Expressões - observações
Observar que as expressões são escritas sempre em uma mesma linha. Observar os símbolos usados para multiplicação (*) e divisão (/). Avaliar primeiro as operações de maior prioridade, por exemplo (multiplicação e divisão).

25 Expressões – observações
Se temos de escolher entre operadores de mesma prioridade então escolher o que está mais à esquerda. Ex. 4/2*3 -- primeiro divide-se 4 por 2 e em seguida multiplica-se o resultado por 3, dando como resultado 6 Caso queira trocar a prioridade use parênteses. Não são permitidos outros símbolos para esta função tais como { } e [ ].

26 Constantes Constantes aparecem em expressões do tipo
(lado1 + lado2) / 2 Nesta expressão temos a variável lado1 somada à variável lado2 e o resultado dividido pela constante 2. Cada variável representa uma posição de memória. As constantes são armazenadas junto com o código do programa, não ocupando espaço da área onde estão os dados.

27 Constantes Constantes podem ser do mesmo tipo que os dados que já estudamos e devem ser representados do mesmo modo. Constantes podem ser dos seguintes tipos: Inteiras Reais Caracteres Cadeias de caracteres

28 Operadores Operadores são símbolos que indicam a operação que deve ser realizada entre os operandos (constantes e/ou variáveis). Exemplos de operadores são: + e -

29 Operadores: classificação
De acordo com o número de operandos envolvidos na expressão, os operadores podem ser classificados em: Binários, quando atuam sobre dois operandos. Exemplo: soma nota1 + nota2 Unários, quando modificam um único operando: Exemplo: sinal de – -352

30 Operadores: classificação
Operadores também podem ser classificados de acordo com o tipo dos operandos envolvidos. De acordo com esta classificação os operadores podem ser divididos em: Aritméticos, quando os operandos são dados aritméticos. Exemplos: a + b 4.0 * raio

31 Operadores: classificação cont.
Lógicos, quando os operandos são dados lógicos. Exemplos: optou ou saiu maior e aprovado não terminou Relacionais, quando comparamos dados de tipos compatíveis e o resultado é um valor lógico. a > 10 x < -1

32 Operadores: classificação cont.
Caracteres, quando os operandos são dados do tipo caractere. Este tipo de operador não é padronizado e varia de linguagem para linguagem. Em nosso estudo não utilizaremos nenhum operador de caractere.

33 Operadores: classificação cont.
Um exemplo de operação comum em várias linguagens é a concatenação de duas cadeias de caracteres. Símbolo + é usado em algumas linguagens para representar esta operação. Considere as cadeias ‘dia’, ‘ ’, ‘de’ e ‘semana’ A operação ‘dia’ + ‘ ’ + ‘de’ + ‘ ’ + ‘semana’ cria a cadeia ‘dia de semana’

34 Operadores Aritméticos

35 Expressões Aritméticas
Resultado é um valor numérico. Os operadores aritméticos mostrados na tabela anterior estão classificados por prioridade. Números baixos indicam maior prioridade, operações que devem ser executadas primeiro. Os símbolos para multiplicação e divisão mostrados na tabela são os únicos permitidos na maioria das linguagens.

36 Expressões Aritméticas - representação
A + B * C = 4 / (x + y) = b*b – 4*a*c = 1/3*3 = 1/(3*3) = Em vermelho está a representação em pseudo-código.

37 Expressões Aritméticas obs.
Não existem operações implícitas como em 4ac, que significa 4 vezes a vezes c. A solução deve ser 4*a*c Cuidado com expressões do tipo A maneira correta é (a+b)/(c-d) a + b / c – d equivale a

38 Exercícios Escreva as expressões a seguir em pseudo-código:
2(lado1+lado2)

39 Exercícios - Solução x*x + 2*b*y

40 Exercícios - Solução x*x + 2*b*y 2*(lado1+lado2)

41 Exercícios - Solução x*x + 2*b*y 2*(lado1+lado2) 1*(1+(1/x))

42 Expressões Aritméticas obs.
Expressões aritméticas que envolvem operandos inteiros fornecem resultados inteiros. Expressões aritméticas que envolvem operandos reais fornecem resultados reais. Em operações com dados de tipos diferentes (inteiro e real) os operandos são convertidos para o tipo real.

43 Expressões Aritméticas exs.
1 / 4 – resultado 0 1.0 / 4 – resultado 0.25 1 / – resultado 7.1 1a. Operação: 1 / 4 = 0 2a. Operacão: = 7.1

44 Expressões Aritméticas exs.
(2 + 4)/(3 – 1) – resultado 3 1a. Operação: = 6 2a. Operação: 3 – 1 = 2 3a. Operação: 6 / 2 = 3 10 mod 3 – resultado 1 O resto da divisão de 10 por 3 é igual a 1.

45 Exercícios Qual é o resultado das expressões abaixo? 1 / 3 * 3
1.0 / 3 * 3 3 + 6 / 3 - 1 13 / 2 mod 4

46 Exercícios - Solução 1 / 3 * 3 – resultado 0 1a. Operação: 1 / 3 = 0

47 Exercícios - Solução 1 / 3 * 3 – resultado 0
1a. Operação: 1 / 3 = 0 2a. Operação: 0 * 3 = 0 1.0 / 3 * 3 – resultado 0.999… 1a. Operação: 1.0 / 3 = 0.333… 2a. Operação: 0.333… * 3 = 0.999…. O número de casas depende do número de bits usados para armazenar os dados do tipo real.

48 Exercícios - Solução cont.
3 + 6/ – resultado 4 1a. Operação: 6/3 = 2 2a. Operação: = 5 3a. Operacão: = 4

49 Exercícios - Solução cont.
3 + 6/ – resultado 4 1a. Operação: 6/3 = 2 2a. Operação: = 5 3a. Operacão: = 4 13 / 2 mod 4 – resultado 2 1a. Operação: 13 / 2 = 6 2a. Operação: 6 mod 4 = 2

50 Operadores Relacionais
Usados para fazer comparação entre dados compatíveis. Operador Comparação = Igual a <> Diferente de < Menor que <= Menor ou igual a > Maior que >= Maior ou igual a

51 Operadores Relacionais
O resultado de uma expressão que envolve operadores relacionais é do tipo lógico (verdadeiro ou falso). Neste curso iremos considerar que os operadores deste grupo têm a mesma prioridade entre si.

52 Expressões Relacionais
Considere a=3, b=7, total=200.0, média=8.1 e ano=2000 a > b -- resultado falso total = resultado falso média >= resultado verdadeiro ano <> resultado verdadeiro

53 Exercícios Considerando a=3, b=7, t=20.0 e m=8.1 qual o resultado das expressões? t <> 100.0 (m + b) <= 7.0 (t/(b+a)) = 2.0

54 Solução Temos a=3, b=7, t=20.0 e m=8.1.
t <> resultado verdadeiro (m + b) <= resultado falso 1a. Operação m+b = 15.1 2a. Operação 15.1 <= 7.0 resultado falso

55 Soluções cont. Temos a=3, b=7, t=20.0 e m=8.1. (t/(b+a)) = 2.0
1a. Operação: b+a = 10 2a. Operação: t / 10 = 20.0 /10 = 2.0 3a. Operação: 2.0 = 2.0 portanto resultado verdadeiro

56 Mais exemplos Variáveis Relações X Y Z Cor Nome X2 + Y > Z
Cor = ‘Azul’ Nome <> ‘Jose’ 1 2 5 Azul Paulo F V 4 3 Verde José

57 Operadores Lógicos Usados em expressões cujo resultado dever ser ou o valor verdadeiro ou falso Operando Tipo Operação Prioridade não Unário Negação 1 e Binário E lógico 2 ou Ou lógico 3

58 Operadores Lógicos Existem outros operadores lógicos, como por exemplo, os operadores ou-exclusivo, ne (não e), nou (não ou). Estes outros operadores podem ser obtidos a partir dos três já definidos (e, ou e não). Como os operadores aritméticos estes operadores também têm uma “tabuada”.

59 Experiência Profissional
Exemplo A empresa <nome> deseja contratar funcionários. Apareceram quatro candidatos nas seguintes situações: Candidato Curso Superior Experiência Profissional 1 Sim Não 2 3 4

60 Exemplo No caso de a exigência para contratação ser de profissionais que tenham curso superior E que tenham experiência profissional. Que profissionais seriam contratados? Somente o profissional de número 2, pois satisfaz ambas as condições. No caso de a exigência para contratação ser de profissionais que tenham curso superior OU que tenham experiência profissional. Que profissionais seriam contratados? Os profissionais de número 1, 2 e 3, pois satisfazem pelo menos uma das condições. No caso de a exigência para contratação ser de profissionais que tenham curso superior somente (X)OU que tenham experiência profissional somente. Que profissionais seriam contratados? Os profissionais de número 1, e 3, pois satisfazem somente uma das condições.

61 Operadores Lógicos A B A or B A and B not A falso verdadeiro A or B tem como resultado verdadeiro se A ou B for igual a verdadeiro. A and B tem como resultado verdadeiro somente se A e B forem iguais a verdadeiro.

62 Operadores Lógicos A B A or B A and B not A 1 Algumas vezes estas tabelas são mostradas com o algarismo 0 representando falso e 1 verdadeiro.

63 Expressões lógicas (exemplos)
Considere a=false, b=true e c=false. a and b or c -- resultado false 1a. Operação: a and b = false and true = false 2a. Operação: false or c = false ou false = false

64 Expressões lógicas exs.
Considere a=false, b=true e c= false. not a e b -- resultado true 1a. Operação: not a = not falso = true 2a. Operação: true e b = true e true = true

65 Exercícios Considerando a=false, b=true e c=false, qual é o resultado das expressões? a and (b or c) not (a and b) a or b or c

66 Solução Considerando a=false, b=true e c=false temos:
a and (b or c) -- resultado false 1a. Operação: b or c = true or false = true 2a. Operação: a e true = false and true = false

67 Solução Considerando a=false, b=true e c=false temos:
not (a and b) -- resultado true 1a. Operação: a and b = false and true = false 2a. Operação: not false = true

68 Solução Considerando a=false, b=true e c= false temos:
a or b or c -- resultado true 1a. Operação: a or b = false or true = true 2a. Operação: true or c = true or true = true

69 Expressões mistas É muito comum em algoritmos juntar operadores relacionais e lógicos em expressões. Estas expressões são geralmente do tipo (nota1 > 7.0) or (nota2 > 7.0) (salario > valor) and (ano > 2001) O resultado destas expressões é do tipo lógico (true ou false).

70 Expressões lógicas+relacionais ex
Considerando l1=5.0, l2=3.0, l3=4.0 e l4=7.1: (l1 > l3) and (l2 > l4) -- resultado falso 1a. Operação: 5.0 > 4.0 = true 2a. Operação: 3.0 > 7.1 = false 3a. Operação: true and false = false

71 Expressões Mistas ex É possível juntar também operadores aritméticos.
Considere l1=5.0, l2=3.0, l3=4.0 e l4=7.1, qual o resultado da expressão? ((l1+2) = l3) or (l2 <= l4) -- resultado true 1a. Operação: = 7.0 2a. Operação: 7.0 = 3.0 = false 3a. Operação: 3.0 <= 7.1 = true 4a. Operação: false or true = true

72 Exercício Considerando presente=true , n1=7.5 e n2=6.5, qual é o resultado da expressão? (((n1+n2)/2.0) >= 7.0) and presente

73 Solução Considerando presente=true, n1=7.5 e n2=6.5 temos:
Observe o uso de parênteses para indicar a prioridade das operações (((n1+n2)/2.0) >= 7.0) and presente 1a. Operação: n1+n2 = = 14.0 2a. Operação: 14.0/2.0 = 7.0 3a. Operação: 7.0 >= 7.0 = true 4a. Operação: true and presente = true and true = true.

74 Prioridades dos Operadores
Em expressões podemos misturar vários tipos de operadores. A tabela mostra a prioridade relativa dos operadores estudados. Operador Tipo Prioridade não - + Unário 1 * / mod e Binário 2 + - ou 3 = <> >= <= > < 4

75 Prioridade em expressões mistas
1 - Parênteses mais internos 2 – Funções Embutidas 3 - Sinal dos operandos 4 - *, / , DIV, MOD 5 - +, Operadores relacionais 7 - Operadores lógicos (NOT, AND, OR, XOR)

76 Funções pré-definidas
São subrotinas já prontas à disposição dos usuários, para o cálculo das funções matemáticas mais comuns. Função Finalidade EX: TRUNC(X) Parte inteira de x Trunc(2.78) = 2 ROUND(X) Valor arredondado de x Round(3.5) = 4 Round(3.3) = 3 SQRT(X) Raiz quadrada de X SQRT(16) = 4


Carregar ppt "Tipos de Dados, Variáveis e Constantes, Expressões e Operadores Pascal"

Apresentações semelhantes


Anúncios Google