Algoritmos e lp parte 2-fundamentos
-
Upload
mauro-jansen -
Category
Documents
-
view
2.842 -
download
0
Transcript of Algoritmos e lp parte 2-fundamentos
Algoritmos e Linguagem de Programação de Programação
Professor: Mauro Jansen
Parte 2 – Fundamentos(Tipos de dados, variáveis, expressões e operadores)
09/2012
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 2
Introdução a tipos de dados
� Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória
� Estas informações podem ser classificadas em dois tipos:
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 3
dois tipos:� As instruções, que comandam o funcionamento da máquina e determinam a maneira como devem ser tratados os dados
� Os dados propriamente ditos, que correspondem à porção das informações a serem processadas pelo computador
Introdução a tipos de dados
� Internamente, essas informações (dados e instruções), ficam registradas na memória na forma binária
� Porém, para facilitar, as linguagens de
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 4
� Porém, para facilitar, as linguagens de programação oferecem a noção de TIPOS DE DADOS, que nos permite manipular as informações de forma mais parecida com o modo como fazemos no mundo real
Conceito de tipos de dados
� Podemos definir tipos de dados como um conjunto de objetos que têm em comum o mesmo comportamento diante de um conjunto definido de operações
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 5
� Exemplos:� Pessoas� Z (conjunto dos números inteiros)� R (conjunto dos números reais)� Letras
Tipos de dados básicos
� As linguagens de programação não podem manipular todos os tipos do mundo real e têm os seus próprios tipos de dados
� Os tipos de dados básicos são:Numéricos (somente números)
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 6
� Numéricos (somente números)� Inteiro� Real
� Literais (letras números ou símbolos)� Caractere� String
� Lógicos ou Booleanos
Tipos de dados básicos
Tipos de Dados
Numérico Literal Lógico
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 7
� OBS: Além dos tipos básicos, as linguagens podem oferecer variações dos mesmos ou outros tipos como Data, Hora, etc.
inteiro real caractere String
Dados numéricos� São dados numéricos que podem ser usados em operações aritméticas. Subtipos:� Inteiros: que não possuem parte fracionária e podem ser positivos ou negativos.
� 10 (número inteiro positivo)
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 8
� 10 (número inteiro positivo)� -9 (número inteiro negativo)� 0 (número inteiro)
� Reais: que podem possuir parte fracionária e podem ser positivos ou negativos.
� 15.05 (número real positivo com duas casas decimais)
� -15. (número real negativo sem casas decimais)
Dados literais� Podem ser seqüências de letras, dígitos ou símbolos especiais. Subtipos:� Caractere: um único caractere:
� ‘a’� ‘7’� ‘@’
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 9
� ‘@’
� Cadeia de Caracteres (string): conjunto de caracteres formando uma palavra, frase ou parágrafo:
� “Algoritmos”� “Algoritmos e Linguagem de Programação”� “*** Projeto Cara Limpa (anti-drogas) ***”
� Normalmente ficam entre aspas simples (caractere) ou duplas (string)
Dados lógicos
� Também chamados booleanos, devido à Álgebra de Boole
� Só possuem dois valores possíveis:� Verdadeiro ou Falso
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 10
� Normalmente são resultados de testes de expressões lógicas e servirão de condição para execução de uma ou mais instruções
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 11
� “Uma variável é um local na memória principal, isto é, um endereço que armazena um conteúdo”
(LOPES E GARCIA, 2002)
“Podemos imaginar uma variável como o nome
Conceito de variável
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 12
� “Podemos imaginar uma variável como o nome de um local onde se pode colocar qualquer valor do conjunto de valores possíveis do tipo básico associado”.
(GUIMARÃES E LAGES, 1994)
� Basicamente, uma variável possui três atributos:� um nome (ou identificador)� um tipo de dado associado à mesma
tipo dedado
Características de uma variável
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 13
mesma� e o dado (valor) por ela guardado.
� Todas as variáveis utilizadas na elaboração de um programa devem ser declaradas.
Nome da variável
valor
Memória RAM
Declaração de variáveis� Declarar uma variável corresponde à criação de um local na memória rotulado com o nome da variável (identificador) e marcado com o tipo de valores que ela pode conter:
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 14
Memória RAMtipo dedado
Nome da variável
valor
Nome da variável
valor
Nome da variável
valor
tipo dedado
Declaração de variáveis: sintaxe� Sintaxe: existem duas formas básicas para declaração de variáveis em pseudocódigos:� Com o tipo após o(s) nome(s) das variável(is):
Var <nome da variável 1>[,<nome da variável 2>,...]: <tipo1>;
<nome da variável 3>[,<nome da variável 4>,...]: <tipo2>;
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 15
� Com o tipo antes do nome da(s) variável(is):
� Exemplos:Var nome, endereco: string;
salario, aumento: real;
<tipo1> <nome da variável 1>[,<nome da variável 2>,...];
<tipo2> <nome da variável 3>[,<nome da variável 4>,...]:
String nome, endereco;
Real salario, aumento;
� Como identificar os tipos de dados
Inteiro – int ou integerReal – real, float ou doubleLiteral – char (caractere) ou string (cadeia de caracteres)Lógico – boolean ou lógico
Declaração de variáveis: regras
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 16
� Exemplosint valor;real salario, taxa;char opcao;
Lógico – boolean ou lógico
Variáveis do mesmo tipo podem ser declaradas juntas, bastando separar os identificadores por vírgula.
� Regras para a Formação de Identificadores (nomes de variáveis):� O primeiro caractere do nome deve ser uma letra.
� Se houver mais de um caractere, só se deve usar letra ou algarismo.
Declaração de variáveis: regras
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 17
letra ou algarismo.� Há diferença em usar letras maiúsculas e minúsculas.
� Não usar palavras que sejam reservadas Às Linguagens de Programação.
� Devemos dar nomes representativos para as variáveis.
� Declarações Válidas� int quantidade� real precodevenda� int Quantidadestring nome
Variáveis diferentes, pois
uma usa letra maiúscula
Declaração de variáveis: exemplos
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 18
� string nome
� Declarações Inválidas� real preço de venda� int 2numero� string nomeloj@
Não devemos usar cedilha
nem espaço.
Não devemos iniciar o
identificador com algarismo
Não devemos utilizar
caracteres especiais
Exercícios de fixação� O que é um tipo de dado?� Quais são os tipos de dados básicos? Cite exemplos de dados de cada tipo.
� Diga qual o tipo de cada dado abaixo:� “Linguagem de programação”123.75
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 19
� 123.75� “A”� -72� 3 > 2� “12345”� VERDADEIRO� “01/01/2010”
Exercícios de fixação
� O que é uma variável?� Quais os atributos de uma variável?� O que é declarar uma variável?� Quais as regras para criação do nome de
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 20
� Quais as regras para criação do nome de uma variável?
� Dê um exemplo de declaração de variável em cada tipo de dados básico.
Exercícios de fixação� Dados os nomes de variáveis abaixo, indique quais são válidos e quais são inválidos:� VALOR� X2� 3 X 4� XYZ� “NOTA”
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 21
� “NOTA”� SALÁRIO-LÍQUIDO� NOTA*DO*ALUNO� MARIA� NOMEDAESCOLA� AH!� A1B2C3� KM/H
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 22
Expressão� Combinação de operandos (valores ouvariáveis), operadores, e chamadas de funções que são interpretadas (avaliadas) de acordo com as regras de precedência e de associatividade particulares a uma determinada linguagem de programação, que calcula e, em seguida, produz (retorna) um valor
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 23
linguagem de programação, que calcula e, em seguida, produz (retorna) um valor
� Exemplos:� 2+2 (expressão aritmética)� “Algoritmos “+” e Programação” (expressão literal)� 5 > 3 (expressão lógica)� Salario * reajuste / 100 (expressão aritmética usando variáveis)
� Operandos são valores ou variáveis de um dos tipos de dados
Operadores são elementos que atuam sobre operandos e produzem um resultado.
Operadores
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 24
tipos de dados� Exemplo
� 5 + 3� Operandos: 5 e 3� Operador: +� Resultado: 8
� Operadores Unários: atuam sobre um único operando.
� Exemplo: -2
Operadores Binários: atuam sobre dois
Tipos de operadores
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 25
� Operadores Binários: atuam sobre dois operandos.
� Exemplo: 3 + 6
� Produzem como resultado um tipo de dado numérico.
� Utilizam operadores aritméticos e variáveis numéricas.Operadores aritméticos:
Expressões aritméticas
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 26
� Operadores aritméticos:
� Produzem como resultado um valor lógico (.Verdadeiro. ou .Falso.).
� Fundamentam-se na Lógica Matemática.
Expressões lógicas
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 27
� Conceito de Proposição
Uma proposição ou sentença é qualquer oração que Uma proposição ou sentença é qualquer oração que Uma proposição ou sentença é qualquer oração que Uma proposição ou sentença é qualquer oração que pode ser avaliada como verdadeira ou falsa.pode ser avaliada como verdadeira ou falsa.pode ser avaliada como verdadeira ou falsa.pode ser avaliada como verdadeira ou falsa.
� Exemplos de Proposições� São Luís é a capital do Maranhão.� A Lua é feita de queijo.� 2 é um número par.� 5 – 3 = 0.
Expressões lógicas: exemplos e princípios
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 28
� 5 – 3 = 0.
� Regras Fundamentais da Lógica Matemática� Princípio da não contradição: uma proposição não pode ser verdadeira e falsa ao mesmo tempo.
� Princípio do terceiro excluído: uma proposição sempre assume um valor (verdadeiro ou falso)
� Tipos de Proposições� Proposições Simples ou Atômicas
� Não é possível decompô-las� Cinco é menor que dez.
� Proposições Compostas ou Moleculares
Expressões lógicas: tipos
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 29
� Proposições Compostas ou Moleculares� Formadas por duas ou mais proposições simples ligadas por meio de conectivos lógicos.
São cinco os conectivos lógicos:São cinco os conectivos lógicos:São cinco os conectivos lógicos:São cinco os conectivos lógicos:
E E E E –––– OU OU OU OU –––– NÃO NÃO NÃO NÃO –––– SE ... ENTÃO SE ... ENTÃO SE ... ENTÃO SE ... ENTÃO –––– SE, E SOMENTE SESE, E SOMENTE SESE, E SOMENTE SESE, E SOMENTE SE
� Exemplos de Proposições Compostas
1. Pelé é brasileiro EEEE Maradona é Argentino.2. Vou à praia OUOUOUOU ao cinema.3.3.3.3. SESESESE eu estudar, ENTÃOENTÃOENTÃOENTÃO serei aprovado em
Proposições compostas
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 30
3.3.3.3. SESESESE eu estudar, ENTÃOENTÃOENTÃOENTÃO serei aprovado em Programação.
4. Serei aprovado em Programação SE, E SOMENTE SE, E SOMENTE SE, E SOMENTE SE, E SOMENTE SESESESE, eu estudar.
� Cada conectivo lógico está associado a uma operação lógica.
� Negação: usa o operador NÃO para modificar uma proposição, invertendo seu valor lógico.A representação desta operação na tabela verdade
Operador lógico de negação (NÃO)
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 31
� A representação desta operação na tabela verdade é a seguinte:
p NÃO p
V FF V
� Conjunção: Com o uso do conectivo E é possível ligar duas proposições, formando uma nova proposição chamada conjunção, cujo valor lógico é a verdade quando ambas as proposições que a compõe forem verdadeiras.
Operador lógico de conjunção (E)
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 32
que a compõe forem verdadeiras.
a b a E bV V VV F FF V FF F F
� Disjunção: Com o uso do conectivo OU é possível ligar duas proposições, formando uma nova proposição chamada disjunção, cujo valor lógico é a falsidade quando ambas as proposições que a compõe forem falsas.
Operador lógico de disjunção (OU)
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 33
proposições que a compõe forem falsas.
a b a OU bV V VV F VF V VF F F
� Tabela Demonstrativa dos Operadores Lógicos
Resumo dos operadores lógicos
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 34
� Usados quando se deseja efetuar comparações.
� Produzem como resultado um dos valores lógicos.
Operadores relacionais
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 35
Funções
� Funções são sub-programas existentes nas linguagens de programação que recebem dados, efetuam operações com os mesmos e retornam um resultado
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 36
� Podem ser usadas em expressões� Tipos de funções:
� Matemáticas (retornam valor numérico)� Literais (retornam valor literal)� Lógicas (retornam valor lógico)
Funções
� Toda função tem um nome (identificador) seguido de “(“, dos parâmetros separados por vírgula e “)”
� Exemplos:Função Resultado fornecido
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 37
Função Resultado fornecido
RAIZ(<número>) Raiz quadrada
EXP(<base>,<expoente>) Potenciação
ABS(<número>) Valor absoluto do número
RESTO(<a>,<b>) Resto da divisão a / b
TRUNCA(<n>) ou INT(<n>) Parte inteira do número real n
LOG(<n>) Logarítmo na base 10 de n
� Toda expressão respeita a ordem de execução de seus operadores, sempre da esquerda para a direita.
Prioridade dos operadores
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 38
Exercícios de fixação� Sabendo que X=2, Y=5, diga o tipo e resultado das seguintes expressões:� 3 ** X + 10 / 2 – 3� X = Y� 7+Y > X * 2� Y > X
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 39
� Y > X� Crie a expressão aritmética para calcular:
� Média de quatro notas (n1, n2, n3 e n4)� Valor do delta, X’ e X’’, em uma equação do 2º grau, em função das variáveis a, b e c
� Retornar somente a parte fracionária de um número real N
Exercícios de fixação
� Dadas as variáveis A=3, B=16, NOME=“MARIA”, PROFISSAO=“ADVOGADO” e TESTE=FALSO, avalie as expressões:� A+1 >= RAIZ(B) OU NOME=“ANA”� A+1 >= RAIZ(B) E PROFISSAO=“MEDICO”
Prof. MauroAlgoritmos e Ling.de Programação
Fundamentos 40
� A+1 >= RAIZ(B) E PROFISSAO=“MEDICO”� NOME<>”ANA” OU PROFISSAO=“MEDICO” E A+1>RAIZ(B)
� INT(A/B) + 2