Você está na página 1de 29

Estrutura de Dados

Disciplina: Estrutura de Dados


Carga horária da disciplina: 80h
Tema do arquivo: Aula introdução
Professor: Esp. Walter Claudino da Silva Júnior
Tema do arquivo: introdução
Professor: Esp. Walter Claudino da Silva Júnior
Propósito da Estrutura de Dados

Armazenar os dados de forma inteligente no computador,


fazendo com que tais estruturas sejam utilizadas
eficientemente na resolução de um determinado problema, e

Toda aplicação trabalha manipulando dados para gerar


informações e sempre temos que decidir que tipo de
estrutura iremos usar em nossos trabalhos.

Tema do arquivo: introdução


Professor: Esp. Walter Claudino da Silva Júnior
Conceitos
 Dados: Representação de partes de informações
usadas por um algoritmo.

 Estrutura de Dados: Organização interna de tais


dados, bem como a relação entre suas partes.

 Processamento: Sequência finita e organizada de


operações sobre os dados. (in – on – out), e

 Informação: Conjunto de vários dados com


características e/ou resultado do processamentos dos
dados.
Tema do arquivo: introdução
Professor: Esp. Walter Claudino da Silva Júnior
Conceitos

10
10 * 5 50
5

Tema do arquivo: introdução


Professor: Esp. Walter Claudino da Silva Júnior
Análise do Problema
Antes de começar a entrar com as linhas de código, quais
análises devem ser feitas?

Quais são os problemas?

Quais são os objetivos?

Quais são os requisitos?

Decomposição (entradas / saídas), e

Implementação Top-Down;

Tema do arquivo: introdução


Professor: Esp. Walter Claudino da Silva Júnior
Exemplo
Criar um sistema que faça a soma de dois números e exiba o resultado
ao final.

Quais são os problemas?


- Dificuldade para efetuar adição;
Quais são os objetivos?
- Somar dois númeoros;
Quais são os requisitos?
- Variáveis para números e resultado;
Decomposição (entradas / saídas);
- Número 1, Número 2 / Adição
Implementação Top-Down;
- Pascal
Tema do arquivo: introdução
Professor: Esp. Walter Claudino da Silva Júnior
Tema do arquivo: introdução
Professor: Esp. Walter Claudino da Silva Júnior
Tipos de Dados

O tipo de um dado define o conjunto de valores ao qual o


valor do dado pertence, bem como o conjunto de todas as
operações que podem atuar sobre qualquer valor daquele
conjunto de valores.

Primitivos/Simples (pré-definidos), e

Compostos/Estruturados (definidos pelo programador);

Tema do arquivo: introdução


9
Professor: Esp. Walter Claudino da Silva Júnior
Tema do arquivo: introdução
Professor: Esp. Walter Claudino da Silva Júnior
Tipos de Dados Primitivos
TIPO DESCRIÇÃO INTERVALO BYTES
Integer Inteiros sem decimais -32768 a 32767 2
LongInt Inteiros sem decimais -2147483648 a 2147483647 4
Word Inteiros positivos 0 a 65535 2
Byte Inteiros positivos 0 a 255 1
ShortInt Inteiros negativos e positivos -128 a 128 1
Real Com ou sem decimais 2x10-39 a 2x1038 6
Char Um caractere 1 caractere 1
String Cadeia de caractere Vários caracteres 1 - 255
Boolean Tipo lógico True ou False 1

Tema do arquivo: introdução


Professor: Esp. Walter Claudino da Silva Júnior
Tema do arquivo: introdução
Professor: Esp. Walter Claudino da Silva Júnior
Particularidade das variáveis do tipo String
Todas as variáveis do tipo String são vetores implícitos;

Sendo assim, cada caractere tem sua posição indexada dentro do


vetor.

Ex:
1 2 3 4 5 6
NOME:=‘SAMYRA‘
S A M Y R A

É tratada implicitamente como um vetor:

Desta forma, o comando:


WRITELN(NOME[3]); irá retornar a letra da posição 3: ‘M’
Tema do arquivo: introdução
Professor: Esp. Walter Claudino da Silva Júnior
Tema do arquivo: introdução
Professor: Esp. Walter Claudino da Silva Júnior
Comandos para tratamento de Strings em Pascal

POS(SUBCADEIA,CADEIA) – Retorna a posição de uma subcadeia de


caracteres dentro de uma cadeia. Se a subcadeia não for encontrada na
cadeia, a função pos retorna zero.

POS(‘M’,’SAMYRA’); – Vai retornar o número 3, que é a posição onde se


encontra a primeira subcadeia ‘M’.

POS(‘B’,’MARINGÁ’); - Retornará 0 (zero), pois não encontrou nenhuma


subcadeia na cadeia especificada.
O que será retornado nas seguintes instruções?

WRITELN(POS(‘R’,WALTER’));

N:=POS(‘ ‘, ’WALTER CLAUDINO’);


WRITELN(N);

Tema do arquivo: introdução 15


Professor: Esp. Walter Claudino da Silva Júnior
Comandos para tratamento de Strings em Pascal
LENGTH(CADEIA) – Retorna o tamanho (quantidade de caracteres) em
uma cadeia.
Ex:

LENGTH(’SAMYRA’); – Vai retornar o número 6.

LENGTH(‘INFORMÁTICA PARA INTERNET’); - Retornará 25.

O que será retornado nas seguintes instruções?

NOME:=‘WALTER CLAUDINO’;
WRITELN(LENGTH(NOME));

N:=LENGTH(NOME);
WRITELN(N);

Tema do arquivo: introdução 16


Professor: Esp. Walter Claudino da Silva Júnior
Comandos para tratamento de Strings em Pascal
COPY(cadeia, posInicio, quantidade) – Retorna uma subcadeia de uma
cadeia de caracteres a partir da posição posInício até a quantidade
especificada em quantidade.

COPY(‘MANACAPURU’,1,3);
Retornará a subcadeia ‘MAN’;

NOME:=‘INFORMÁTICA PARA INTERNET’;


ULTIMO:=COPY(NOME,17,8);
Retornará a subcadeia ‘INTERNET’
O que será retornado nas seguintes instruções?

NOME := ‘INFORMÁTICA PARA INTERNET’;


WRITELN(COPY(NOME,POS(‘ ‘,NOME)+4,6));

Tema do arquivo: introdução 17


Professor: Esp. Walter Claudino da Silva Júnior
Comandos para tratamento de Strings em Pascal
DELETE(variável, posInicio, quantidade) – Exclui de uma variável, a partir
da posição posInício a quantidade de caracteres informado em
quantidade.

NOME:=‘SAMYRA’;
DELETE(NOME, 1, 3);
A variável NOME passará a ter o seguinte conteúdo: ‘YRA’

NOME:=‘SISTEMAS DE INFORMAÇÃO’);
DELETE(NOME, 9, 14);
A variável NOME passará a ter o seguinte conteúdo: ‘SISTEMAS’
O que será retornado nas seguintes instruções?

NOME := ‘SISTEMAS DE INFORMAÇÃO’;


DELETE(NOME,9,3);
WRITELN(NOME);

Tema do arquivo: introdução 18


Professor: Esp. Walter Claudino da Silva Júnior
Comandos para tratamento de Strings em Pascal
TEXTCOLOR(COR) - Define a cor da fonte usada para impressão de texto na
tela.

TEXTBACKGROUND(COR) - Define a cor de fundo usada para impressão de texto


na tela.

As cores disponíveis são:

· BLUE · GREEN
· CYAN · RED
· MAGENTA · BROWN
· LIGHTGRAY · DARKGRAY
· LIGHTBLUE · LIGHTGREEN
· LIGHTCYAN · LIGHRED
· LIGHMAGENTA · YELLOW
· WHITE · BLACK

Tema do arquivo: introdução 19


Professor: Esp. Walter Claudino da Silva Júnior
Comandos Auxiliares

RANDOM(MAXIMO) – Retorna um número inteiro aleatório entre 0 até o


valor estipulado em MAXIMO-1.

RANDOM(101);
Retornará um número aleatório entre 0 e 100;

Tema do arquivo: introdução 21


Professor: Esp. Walter Claudino da Silva Júnior
Comandos Auxiliares

READKEY - Solicita a leitura de um caractere do teclado. Pode ser utilizado


como um comando ou como uma função.

READKEY;
Usado isolado, dará uma pausa na tela até que alguma tecla seja
pressionada;

VAR
T : CHAR;
...
T:=READKEY;
WRITELN(‘Tecla Pressionada:’, T);

Tema do arquivo: introdução 22


Professor: Esp. Walter Claudino da Silva Júnior
Comandos Auxiliares

UPCASE(CARACTERE) - Recebe como parâmetro um caractere e retorna


sua representação em caixa alta (maiúsculo).

...
VAR
T : CHAR;
...
T:=‘a’;
WRITELN(UPCASE(T));
...
Irá exibir na tela o caractere ‘A’

Tema do arquivo: introdução 23


Professor: Esp. Walter Claudino da Silva Júnior
Comandos Auxiliares

INT(VALOR) - Retorna a parte inteira de um valor real;

INT(10.25);
Retornará 10

NUM:=25.45;
WRITELN(INT(NUM));
Irá exibir na tela ó número 25

Tema do arquivo: introdução 24


Professor: Esp. Walter Claudino da Silva Júnior
Comandos Auxiliares

FRAC(VALOR) - Retorna a parte fracinária de um valor real;

FRAC(10.25);
Retornará 0.25

NUM:=25.45;
WRITELN(FRAC(NUM));

Irá exibir na tela ó número 0.45

Tema do arquivo: introdução 25


Professor: Esp. Walter Claudino da Silva Júnior
Tema do arquivo: introdução
Professor: Esp. Walter Claudino da Silva Júnior
1 – Criar um programa que enquanto o usuário quiser, solicite um nome completo e
exiba somente o primeiro nome;

2 – Solicitar um nome e exibi-lo em ordem inversa (ao contrário).

3 – Solicitar um nome completo e exiba somente o último nome;

4 – Solicitar um nome completo e exibi-lo maiúsculo;

Tema do arquivo: introdução


27
Professor: Esp. Walter Claudino da Silva Júnior
5 – Solicitar ao usuário a quantidade de dezenas a serem jogadas e o número de
palpites a serem apostados na mega-sena (1-60) e exibi-los em vídeo; bem como o
valor total a pagar. Sabe-se que neste tipo de aposta, os valores correspondentes ao
número de dezenas são:
06 - R$ 4.50
07 - R$ 31.50 O programa deverá fazer a
08 - R$ 126.00 validação da quantidade mínima
e máxima de dezenas escolhidas
09 - R$ 378.00
pelo usuário.
10 - R$ 945.00

Tema do arquivo: introdução


28
Professor: Esp. Walter Claudino da Silva Júnior
Dúvidas?

Tema do arquivo: introdução


Professor: Esp. Walter Claudino da Silva Júnior