quinta-feira, 26 de março de 2009

Estrutura de Dados

Estruturas de Dados

Um aspecto fundamental na construção de algoritmos computacionais são as estruturas de dados, que representam as informações do problema a ser resolvido.
Tais estruturas estão organizadas em tipos distintos de informações. Dentro do escopo das estruturas de dados, definimos os termos CONSTANTE, VARIÁVEL e IDENTIFICADOR.
􀂉 Tipos Primitivos de Dados
São os grupos de informações que o computador manipula. Podem ser:
1. Numéricos

a) inteiros Ex: 1 -4 100 0 -905 ...
b) reais Ex: 1,3 816,97 3,0 -0,0055 ...
1. Não-numéricos

a) alfanuméricos Ex: “CASA” “livro” “18” ‘R$ 55,36’ ....
b) lógicos ou booleanos Ex: Falso, Verdadeiro (ou False, True)
Obs: O delimitador usado para alfanuméricos pode ser : “ ” ou ‘ ’

􀂉 Constantes
Representam valores constantes, ou seja, que não variam no decorrer do algoritmo.
Ex: 148, “Opção:”, -8.69, “Tecle algo para continuar”, Falso ...
􀂉 Variáveis

Representam informações cujos valores são modificados ao longo do tempo (Ex. Genérico: a idade de um indivíduo). Podemos definir variáveis também como um local onde um determinado valor (de um dos tipos definidos) é armazenado. Assim, a variável é composta de dois elementos básicos:
􀀹 conteúdo - valor atual da variável
􀀹 identificador - nome dado à variável para possibilitar sua manipulação

O conceito de variável, na verdade, corresponde a “posições de memória RAM”, onde serão armazenados os dados manipulados pelo programa quando este for implementado.

􀂉 Identificador
Nome de um local onde se pode colocar qualquer valor do conjunto de valores possíveis de um tipo básico associado. Usado para manipular todos os dados variáveis do algoritmo. Pode também ser usado para rotular valores constantes (ex: uso do identificador PI para representar o valor constante 3,14).
Regras para Definição de Identificadores em Pseudolinguagem (Portugol):
􀀹 devem começar por um caracter alfabético (uma letra);
􀀹 pode ser seguido de letras e/ou dígitos;
􀀹 é permitido o uso do caracter especial “_” situado entre letras e/ou dígitos.

Ex. de identificadores válidos: Operador, Nome, X, y, ENDEREÇO, Aluno_01

􀂉 Declaração de Variáveis
É a criação (ou definição) de locais na memória rotulados com o identificador da variável (ou constante) que será utilizada no algoritmo para a manipulação de um determinado tipo de informação.
Sintaxe Geral em Portugol:
Lista de Variáveis : Tipo ;
O Tipo pode ser inteiro, real, caracter (alfanumérico) ou booleano.
Ex: NUM, X : inteiro;
parcela : real;
resposta : booleano;
PI : real; { definição de uma constante real }
NOME, ENDEREÇO : caracter;
􀀻 Neste momento, as variáveis ainda não contém nenhum valor associado a elas.
􀀻 A declaração de variáveis deve ser feita antes da definição das ações do algoritmo.
􀀻 Os comentários representam qualquer texto que explique uma ação ou um dado usado no algoritmo. Eles podem ser colocados em qualquer ponto do algoritmo, utilizando { } ou * * como delimitadores.
3.4 Operações Básicas
􀂉 Comando de Atribuição

Serve para atribuir (ou associar) um valor a uma variável ou constante.
Sintaxe Geral em Pseudolinguagem:
identificador 􀃅 expressão ;
onde expressão pode ser um(a): Constante, Variável, Expressão matemática, Função matemática, Expressão booleana, etc.
Ex: NOMEß’Fulano de Tal’
PIß 3.14
Erroß Verdadeiro
Mediaß(P1+P2)/2

􀂉 Funções Matemáticas
nome da função (argumento)
􀀻 O argumento é a informação que é dada à função para que ela possa ser efetuada adequadamente. Pode ser uma constante ou uma variável.
Exemplos de Funções Matemáticas que utilizaremos:
Sin (X) - Função que calcula o seno da variável X
SQRT (y) - Função que calcula a raiz quadrada de y
int (z) - Função que retorna a parte inteira da variável z
(que deve ser do tipo real)

O que são Operadores?
Os operadores são meios pelos quais são efetuados incrementos, decrementos,
comparações e avaliações de dados dentro do computador. Pode-se destacar três tipos
de operadores:
Operadores Aritméticos;
● Operadores Relacionais;
● Operadores Lógicos.
􀂉 Operadores Aritméticos
Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da
adição, subtração, multiplicação e divisão, pode-se utilizar outros operadores
aritméticos (cujo suporte depende da linguagem de programação escolhida), como o
operador para exponenciação por exemplo. Os símbolos para os operadores
aritméticos são: Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da
adição, subtração, multiplicação e divisão, pode-se utilizar outros operadores
aritméticos (cujo suporte depende da linguagem de programação escolhida), como o
operador para exponenciação por exemplo. Os símbolos para os operadores
aritméticos são:

+ - Unários
** exponenciação
* multiplicação
/ divisão
+ - soma e subtração (binários)
div divisão truncada (ou inteira) (ex: x div y)
mod resto da divisão inteira

Qual a hierarquia de precedência das Operações Aritméticas?
1º) ( ) Parênteses
2º) Exponenciação
3º) Multiplicação, divisão (o que aparecer primeiro)
4º) + ou – (o que aparecer primeiro)

􀂉 Operadores Relacionais
Os operadores relacionais são utilizados para comparar valores de tipos de dados
semelhantes, sejam constantes ou variáveis de um mesmo tipo. Estes operadores
sempre retornam valores lógicos (verdadeiro ou falso/ True ou False). Parênteses
podem ser usados para se definir prioridades na avaliação de expressões relacionais.
< <= > >= = < > (diferente)
Exemplo:
Tendo duas variáveis A = 5 e B = 3, os resultados das expressões seriam:
Expressão Resultado
A == B Falso
A <> B Verdadeiro
A > B Verdadeiro
A < B Falso
A >= B Verdadeiro
A <= B Falso
􀂉 Operadores Lógicos
Os operadores lógicos servem para combinar resultados de expressões relacionais,
retornando se o resultado final é verdadeiro ou falso. Os operadores lógicos são:
● AND (E) - Uma expressão AND (E) é verdadeira se todas as condições forem
verdadeiras;
● OR (OU) - Uma expressão OR (OU) é verdadeira se pelo menos uma
condição for verdadeira
● NOT (NÃO) - Um expressão NOT (NÃO) inverte o valor da expressão ou
condição, se verdadeira inverte para falsa e vice-versa.
** Podemos usar parênteses para alterar ordem de prioridade das operações.

􀂉 Comandos de Entrada e Saída de Dados
Representam as ações básicas de algoritmos para recebimento e apresentação de dados, respectivamente.
Entrada de Dados: informações que são fornecidas ao programa pelo “usuário” durante a resolução do problema.
Representação em Portugol:
leia (identificador, identificador, ...) ;
Ex: leia (altura, idade, sexo);
Saída de Dados: informações que são mostradas ao usuário como resposta ao problema.
Representação em Pseudolinguagem:
Escreva (expressão, expressão, ...) ;
Ex: escreva (‘ Seu peso ideal eh : ’ , peso_ideal) ;
escreva (‘ Media final = ’, (P1 + P2)/2) ;
􀂉 Esquema Genérico de Algoritmos em PseudoLinguagem

Declaração de Variáveis / Constantes
INICIO
inicialização de variáveis / constantes
{comentários}
bloco de comandos de entrada de dados
{comentários}
bloco de comandos de cálculo
{comentários}
bloco de comandos de saída de dados
FIM
Exemplo: Algoritmo em pseudolingugem para o problema do cálculo da média final dos alunos da 6ª Série.
* declaração de variáveis
Real: P1, P2, P3, P4, Media;
Inicio
* comandos de entrada de dados
Leia (p1);
Leia (p2);
Leia (p3);
Leia (p4);
* processamento- Calculo da media
Media 􀃅 (P1 + P2 + P3 + P4)/4;
* saída de dados
Escreva (‘ Media final = ’, Media);
Fim

Nenhum comentário:

Postar um comentário