faccat sistemas de informação estruturas de dadosazambuja/genesis_old/revisao_pascal.pdf ·...
TRANSCRIPT
![Page 1: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/1.jpg)
FACCATSistemas de Informação
Estruturas de Dados
Aula 1
http://professores.faccat.br/azambuja
(Estrutura de Dados)
![Page 2: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/2.jpg)
2
Definição de variáveis
Podemos imaginar uma variável como o local onde se pode colocar qualquer conjunto de valores possíveis do tipo básico associado.
![Page 3: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/3.jpg)
3
Combinação de Vetores e RegistrosTipo CadAluno: registro
Matr: inteiro;
Nome: caracter;
Disciplina: inteiro
Fim_registro;
Tipo Turma: vetor [1:40] CadAluno;
Turma
Matr Nome Disciplina
![Page 4: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/4.jpg)
4
Tipos em Pascal
Type CadAluno = record
Matr: inteiro;
Nome: caracter;
Disciplina: inteiro
end;
Turma = array [1:40] of CadAluno;
![Page 5: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/5.jpg)
5
Comandos básicos
Comando de Atribuição
Para a atribuição de um valor a uma variável, será usado o símbolo de atribuição ←, que tem um caráter imperativo.
Ex.: soma ← 5 + 4;
Em Pascal: soma:=5+4;
![Page 6: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/6.jpg)
6
Blocos de comandos básicos de controle Um bloco pode ser definido como um
conjunto de comandos com uma função bem definida. Ele serve também para definir os limites onde as variáveis declaradas em seu interior serão conhecidas.
Português Estruturado
<declaração de variáveis>
Início
<comandos>
fim
![Page 7: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/7.jpg)
7
Seqüência Simples
É um conjunto de comandos, separados por um ponto e vírgula ‘;’, que serão executados numa seqüência linear de cima para baixo.
Português Estruturado
C1;
C2;
C3;
..
Cn
![Page 8: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/8.jpg)
8
Alternativa: Quando a ação a ser executada depender de uma inspeção ou teste, têm-se uma alternativa simples ou composta.
Alternativa Simples :
Português Estruturado se <condição>
entãoC1;
C2;
C3;
...Cn;
fim se
![Page 9: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/9.jpg)
9
Alternativa Composta:
Português Estruturadose <condição>
então
C1;
C2;
...
Cn;
Senão
C’1;
C’2;
...C’n;
fim se
![Page 10: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/10.jpg)
10
Em Pascal
Simples
If <condição> then <comando>;
Composta
If <condição> then <comando>
else <comando>;
![Page 11: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/11.jpg)
11
Repetição
Repetição Enquanto: Quando um conjunto de
ações é executado repetidamente enquanto uma
determinada condição permanece válida.
(Expressão cujo resultado é o valor lógico
verdadeiro). Também chamada de repetição pré-
teste.
![Page 12: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/12.jpg)
12
Em Pascal
While <condição> dobegin
C1;
C2;
C3;
...Cn;
end;
![Page 13: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/13.jpg)
13
Repetição Repetir: Quando um conjunto de ações é executado repetidamente até que uma determinada condição se torne válida.
Também chamada pós-teste.
![Page 14: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/14.jpg)
14
Em Pascal
repeat
C1;
C2;
...
Cn;
until <condição>;
![Page 15: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/15.jpg)
15
Repetição com variável de controle (Loop): Neste caso existirá sempre uma inicialização da variável de controle, um teste para verificar se a variável atingiu o limite e um acréscimo na variável de controle. Também chamada de repetição contada.
![Page 16: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/16.jpg)
16
Em Pascal For v := i to l do
beginC1;
C2;
...Cn;
end;
![Page 17: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/17.jpg)
17
Entrada e Saída
Para fornecer os dados ao ambiente exterior ao algoritmo, será necessário imprimi-los ou apresentá-los na tela do computador.
Do mesmo modo, para poder escrever algoritmos mais gerais, será necessário obter dados do ambiente externo para o algoritmo. Os comandos de entrada e saída de dados são os seguintes:
![Page 18: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/18.jpg)
18
Português Estruturado
leia (, v2, v3);
imprima (v1, v2);
Em Pascal
Readln (v1 );
Writeln (v1 );
![Page 19: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/19.jpg)
19
Modularização
Procedimento
Permite que um conjunto de comandos usado repetidas vezes em vários algoritmos (ou pontos de um algoritmo) possa ser declarado uma única vez e chamado vários vezes dentro do programa. Os comandos para declaração de procedimentos são os seguintes:
![Page 20: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/20.jpg)
20
Português Estruturado
Procedimento <nome do procedimento>(lista de parâmetros)<declaração de variáveis locais>Início
<comandos>;fimExemploProcedimento Testa (X, Y) // Y é um parâmetro de saídaX, Y: real;Inicio
Se X >= 0 entãoY ← X;
SenãoY ← - X;
Fim-seFim
![Page 21: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/21.jpg)
21
Função
Quando ocorre a necessidade de atribuir o resultado da chamada de um procedimento à uma variável, de forma a utilizar este resultado em outros comandos, é necessário que exista um parâmetro de retorno na chamada do procedimento para que este seja usado como resultado da execução do procedimento. Para isto, usa-se um tipo especial de procedimento chamado função. Os comandos para declaração de função são os seguintes:
![Page 22: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/22.jpg)
22
Português Estruturado Função <nome da função>(lista de parâmetros): <tipo da variável
de retorno><declaração de variáveis locais>Início
<comandos><nome da função> ← <expressão de retorno> //não necessariamente precisa ser no fim
fimExemploFunção Testa (X) : real;X: real;Inicio
Se X >= 0 entãoTesta ← X;
SenãoTesta ← - X;
Fim-sefim
![Page 23: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/23.jpg)
23
Máximas da programação:
1) Algoritmos devem ser feitos para serem
lidos por seres humanos de modo a poder
ser compreendido por outras pessoas e
serem corrigidos, receber manutennção e
serem modificados.
![Page 24: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/24.jpg)
24
2)Escreva os comentários no momento em que
estiver escrevendo o algoritmo. Os comentários
devem ser tão bem escritos quanto os algoritmos.
A melhor forma de fazê-lo é no momento de
maior intimidade com os detalhes, ou seja,
durante a resolução do problema.
![Page 25: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/25.jpg)
25
3) Utilize espaço em branco para melhorar a legibilidade.
4) Os comentários deverão acrescentar
alguma coisa, dizendo o por quê das
estruturas utilizadas.
![Page 26: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/26.jpg)
26
5) Use comentários no cabeçalho do algoritmo. Contendo, por exemplo:
Um descrição do que faz o algoritmo
Como utilizá-lo
Explicação das variáveis mais importantes
Estruturas de dados utilizadas
O nomes de qualquer método especial utilizado, juntamente com referências nas quais mais informações possam ser encontradas
Autor
Data de escrita
![Page 27: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/27.jpg)
27
6) Escolha nomes representativos para as variáveis. Uma seleção adequada de nomes de variáveis é o princípio mais importante da legibilidade de algoritmos.
Exemplo: X ← Y + Z
é muito menos claro que
Preço ← Custo + Lucro.
![Page 28: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/28.jpg)
28
7) Um comando por linha é suficiente.
A utilização de vários comandos por
linha é prejudicial por várias razões,
dentre as quais destacam-se: dificuldade
de leitura do algoritmo e depuração.
![Page 29: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/29.jpg)
29
8)Utilize parênteses para aumentar a legibilidade e previnir-se contra erros.
A * B * C / ( D * E * F )
Ou
(A * B * C) / (D * E * F)
![Page 30: FACCAT Sistemas de Informação Estruturas de Dadosazambuja/genesis_old/revisao_pascal.pdf · (Estrutura de Dados) 2 ... alternativa simples ou composta. ... Repetição com variável](https://reader033.vdocuments.pub/reader033/viewer/2022053105/606f37e769ddc15557775428/html5/thumbnails/30.jpg)
30
9) Utilize identação para mostrar e a estrutura lógica do algoritmo.
10)Lembre-se: toda vez que for feita uma
modificação no algoritmo, os
comentários, associados devem ser
alterados e não apenas os comandos.