Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de...
Transcript of Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de...
![Page 1: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/1.jpg)
Lógica de Programação
Estruturas de Controle
![Page 2: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/2.jpg)
Estruturas de ControleNesta aula
Estrutura SequencialEstrutura de SeleçãoEstrutura de Repetição
ObjetivosApresentar o conceito de estrutura sequencial de fluxo de execuçãoExplicar a aplicabilidade das estruturas de seleção, suas variações, combinações e equivalênciasApresentar as estruturas de repetição, suas particularidades e equivalências
![Page 3: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/3.jpg)
Estrutura SequencialO Fluxo de Controle segue a mesma sequência linear da nossa escrita, ou seja:
De cima para baixo;
Da esquerda para direita
Cada ação é seguida de um ;Objetiva separar uma ação da outra
Indica que a próxima ação da sequência deve ser executada
![Page 4: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/4.jpg)
Estrutura sequencial
início
// declaração de variáveis
// corpo do algoritmoação 1;ação 2;ação 3;
. . .
ação n;
fim. // fim do algoritmo
Algoritmo 3.1 – Modelo geral
![Page 5: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/5.jpg)
Estrutura sequencial
início// declaração de variáveisreal: N1, N2, N3, N4, // notas bimestrais
MA; // média anual// entrada de dadosleia (N1, N2, N3, N4);// processamentoMA (N1 + N2 + N3 + N4) / 4;// saída de dadosescreva (MA);
fim.
Algoritmo 3.2 - Média Aritmética
![Page 6: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/6.jpg)
Estruturas de SeleçãoSão aquelas que permitem alterar o Fluxo de Execução, de forma a selecionar qual parte deve ser executada
Essa “decisão” de execução é tomada a partir de uma condição, que pode resultar apenas em Verdade ou Falsidade
Uma condição é representada por expressões relacionais ou lógicas
As estruturas de seleção podem ser classificadas em simples, compostas ou encadeadas
![Page 7: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/7.jpg)
Seleção Simplesse <condição> então
início // início do bloco verdadecomando 1;comando 2;...comando n;
fim; // fim do bloco verdadefimse;
Quando a <condição> for verdadeira o “bloco verdade” é executado
Quando a <condição> for falsa o “bloco verdade” não é executado
![Page 8: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/8.jpg)
Seleção Simples
início// declaração de variáveisreal: N1, N2, N3, N4, // notas bimestrais
MA; // média anual// entrada de dadosleia (N1, N2, N3, N4);// processamentoMA (N1 + N2 + N3 + N4) / 4;// saída de dadosescreva (MA);se (MA >= 7) então
escreva (“Aluno Aprovado !”);fimse;
fim.
Algoritmo 3.3 - Média Aritmética com Aprovação
![Page 9: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/9.jpg)
Seleção Compostase <condição> então
início // início do bloco verdadecomando 1;comando n;
fim; // fim do bloco verdadesenão
início // início do bloco falsidadecomando 1;comando n;
fim; // fim do bloco falsidadefimse;
Quando a <condição> for verdadeira o “bloco verdade” é executado
Quando a <condição> for falsa o “bloco falsidade” é executado
![Page 10: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/10.jpg)
Seleção Compostainício
// declaração de variáveisreal: N1, N2, N3, N4, // notas bimestrais
MA; // média anualleia (N1, N2, N3, N4);MA (N1 + N2 + N3 + N4) / 4;escreva (MA);se (MA >= 7) então
inícioescreva (“Aluno Aprovado !”); escreva (“Parabéns !”);
fim;senão
inícioescreva (“Aluno Reprovado !”);escreva (“Estude mais !”);
fim;fimse;
fim.
Algoritmo 3.4 - Média Aritmética com aprovação e reprovação
![Page 11: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/11.jpg)
Seleção Encadeada
Ocorre quando uma seleção tem como ação uma outra seleção
Uma seleção encadeada pode ser:Heterogênea: Quando não é possível identificar padrão de comportamento
Homogênea: Quando é possível identificar padrão de comportamento
se – então – se: quando depois de cada então ocorre outro se
se – senão – se: quando depois de cada senão ocorre outro se
![Page 12: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/12.jpg)
Seleção Encadeada
Dados três valores A, B, C, verificar se eles podem ser os comprimentos dos lados de um triângulo
Caso positivo, verificar se compõemTriângulo equilátero
Triângulo isósceles
Triângulo escaleno
A B
C
![Page 13: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/13.jpg)
Seleção Encadeada
Dados três valores A, B, C, verificar se eles podem ser os comprimentos dos lados de um triângulo
Caso positivo, verificar se compõemTriângulo equilátero – três lados iguais
Triângulo isósceles – dois lados iguais
Triângulo escaleno – todos os lados diferentes
A B
C
![Page 14: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/14.jpg)
Seleção Encadeada
Triângulo: (A<B+C) e (B<A+C) e (C<A+B)
Equilátero: (A=B) e (B=C)
Isósceles: (A=B) ou (B=C) ou (A=C)
Escaleno: (A<>B) e (B<>C) e (A<>C)
É triângulo? É equilátero? É isósceles? É escaleno? Ações
V V F F “Equilátero”
V F V - “Isósceles”
V F F V “Escaleno”
F - - - “Não é triângulo”
![Page 15: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/15.jpg)
Seleção Encadeada Heterogêneainício
inteiro: A, B, C; // tamanho dos ladosleia (A, B, C);se (A<B+C) e (B<A+C) e (C<A+B) então
se (A=B) e (B=C) entãoescreva (“Triangulo Equilátero”);
senãose (A=B) ou (B=C) ou (A=C) então
escreva (“Triângulo Isósceles”);senão
escreva (“Triangulo Escaleno”);fimse;
fimse;senão
escreva (“Estes valores não formam um triângulo”);fimse;
fim.
Algoritmo 3.5 – Tipos de Triângulo
![Page 16: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/16.jpg)
Seleção Encadeada Homogênease – então – se
se <Cond1> então se <Cond2> então
se <Cond3> então se <Cond4> então W;fimse;
fimse; fimse;
fimse;
É equivalente a:se <Cond1> e <Cond2> e <Cond3> e <Cond4> então W;fimse;
Cond1 Cond2 Cond3 Cond4 Ação
V V V V W
![Page 17: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/17.jpg)
Seleção Encadeada Homogênease X=V1 então
C1;fimse;se X=V2 então
C2;fimse;se X=V3 então
C3;fimse;se X=V4 então
C4;fimse;
X=V1 X=V2 X=V3 X=V4 Ação
V F F F C1
F V F F C2
F F V F C3
F F F V C4
se X=V1 então C1;senão se X=V2
então C2; senão se X=V3
então C3; senão se X=V4
então C4; fimse;
fimse;fimse;
fimse;
X=V1 X=V2 X=V3 X=V4 Ação
V - - - C1
F V - - C2
F F V - C3
F F F V C4
se – senão – se
![Page 18: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/18.jpg)
Seleção de Múltipla EscolhaSeleções encadeadas homogêneas se-senão-se são bastante frequentes para o tratamento de listas de valor
Para simplificar a escrita, pode-se utilizar o comando escolha.
Adaptando o algoritmo anterior:
escolha Xcaso V1: C1;caso V2: C2;caso V3: C3;caso V4: C4;
fimescolha;
![Page 19: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/19.jpg)
Seleção de Múltipla EscolhaConstrua um algoritmo que, tendo como dados de entrada o preço de um produto e seu código de origem, mostre o preço junto de sua procedência
Caso o código não seja nenhum dos especificados, o produto deve ser encarado como importado
Siga a tabela de códigos abaixo
Código de origem Procedência
1 Sul
2 Norte
3 Leste
4 Oeste
5 ou 6 Nordeste
7, 8 ou 9 Sudeste
10 até 20 Centro-oeste
25 até 30 Nordeste
![Page 20: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/20.jpg)
Seleção de Múltipla Escolhainício
real: Preço;inteiro: Origem;leia (Preço, Origem);escolha Origem
caso 1: escreva (Preço, “ – produto do Sul”);caso 2: escreva (Preço, “ – produto do Norte”);caso 3: escreva (Preço, “ – produto do Leste”);caso 4: escreva (Preço, “ – produto do Oeste”);caso 7, 8, 9: escreva (Preço, “ – produto do Sudeste”);caso 10..20: escreva (Preço, “ – produto do Centro-Oeste”);caso 5, 6, 25..50: escreva (Preço, “ – produto do Nordeste”);caso contrário: escreva (Preço, “ – produto importado”);
fimescolha;fim.
Algoritmo 3.6 – Múltipla Escolha
![Page 21: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/21.jpg)
Estruturas de RepetiçãoSão aquelas que permitem executar mais de uma vez (repetir) um determinado trecho do algoritmo
O trecho do algoritmo em repetição é também chamado de laço (ou “loop”)
As repetições devem ser sempre finitas
Quanto a quantidade de repetições, os laços podem serPré-determinados: Sabe-se antes a quantidade de execuções
Indeterminados: Não se conhece a quantidade de execuções
Quanto ao critério de parada, os laços podem utilizarTeste no início
Teste no final
Variável de controle
![Page 22: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/22.jpg)
Repetição com Teste no InícioLaço que verifica antes de cada execução, se é “permitido” executar o trecho do algoritmo
Trata-se de um laço que se mantém repetindo enquanto uma dada condição permanecer verdadeira
enquanto <condição> façacomando 1;comando 2;...comando n;
fimenquanto;
![Page 23: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/23.jpg)
Repetição com Teste no InícioContador: Variável que reproduz o processo de contagem
iníciointeiro: CON;CON 0;enquanto CON < 3 faça
CON CON + 1;fimenquanto;
fim.
CON
0123
![Page 24: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/24.jpg)
Repetição com Teste no Inícioinício
// declaração de variáveisreal: N1, N2, N3, N4, // notas bimestrais
MA; // média anualinteiro: CON; // contadorCON 0; // inicialização do contadorenquanto (CON < 50) faça // teste da condição de parada
leia (N1, N2, N3, N4);MA (N1 + N2 + N3 + N4) / 4;escreva (MA);se (MA >= 7) então
escreva (“Aluno Aprovado. Parabéns !”); senão
escreva (“Aluno Reprovado. Estude mais !”);fimse; CON CON + 1; // incremento do contador
fimenquanto;fim.
Algoritmo 3.7 - Média Aritmética para 50 alunos
![Page 25: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/25.jpg)
Repetição com Teste no InícioAcumulador: Variável que reproduz o processo de acumulação
iníciointeiro: CON, X, ACM;CON 0;ACM 0;enquanto CON < 3 faça
CON CON + 1;leia (X);ACM ACM + X;
fimenquanto;fim.
CON
0123
ACM
05711
X
524
![Page 26: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/26.jpg)
Repetição com Teste no Inícioinício
// declaração de variáveisreal: MA, // média anual de dado aluno
ACM, // Acumulador MAT; // Média Anual da Turma
inteiro: CON; // contadorCON 0; // inicialização do contadorACM 0; // inicialização do acumuladorenquanto (CON < 50) faça // teste da condição de parada
leia (MA);ACM ACM + MA; // soma em ACM os valores lidos em MACON CON + 1; // incremento do contador
fimenquanto;MAT ACM / 50; // calculo da média anual da turmaescreva (“média anual da turma = “, MAT);
fim.
Algoritmo 3.8 - Média Aritmética da turma de 50 alunos
![Page 27: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/27.jpg)
Repetição com Teste no FinalLaço que verifica depois de cada execução, se é “permitido” continuar executando o trecho do algoritmo
Trata-se de um laço que se mantém repetindo até que uma dada condição se torne verdadeira
repitacomando 1;comando 2;...comando n;
até <condição>;
![Page 28: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/28.jpg)
Repetição com Teste no Finalinício
// declaração de variáveisreal: MA, // média anual de dado aluno
ACM, // Acumulador MAT; // Média Anual da Turma
inteiro: CON; // contadorCON 0; // inicialização do contadorACM 0; // inicialização do acumuladorrepita
leia (MA);ACM ACM + MA; // soma em ACM os valores lidos em MACON CON + 1; // incremento do contador
até (CON >= 50); // teste da condição de paradaMAT ACM / 50; // calculo da média anual da turmaescreva (“média anual da turma = “, MAT);
fim.
Algoritmo 3.9 - Média Aritmética da turma com Repita
![Page 29: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/29.jpg)
Repetição com Variável de Controle
Laço simplificado para utilização em repetições de quantidade predeterminada
Incorpora internamente o funcionamento de um contador de repetições
para V de vi até vf passo p façacomando 1;comando 2;...comando n;
fimpara;
![Page 30: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/30.jpg)
Repetição com Teste no Finalinício
// declaração de variáveisreal: MA, // média anual de dado aluno
ACM, // Acumulador MAT; // Média Anual da Turma
inteiro: V; // contadorACM 0; // inicialização do acumuladorpara V de 1 até 50 passo 1 faça
leia (MA);ACM ACM + MA; // soma em ACM os valores lidos em MA
fimpara;MAT ACM / 50; // calculo da média anual da turmaescreva (“média anual da turma = “, MAT);
fim.
Algoritmo 3.10 - Média Aritmética da turma com Para
![Page 31: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/31.jpg)
Comparação entre Estruturas de Repetição
Aprendemos 3 maneiras de construir laços de repetição
É importante perceber que existem laços mais adequados ou convenientes para cada situação
Estrutura Condição Quantidade de Execuções
Condição de Existência
Enquanto Início zero ou muitas Condição verdadeira
Repita Final uma ou muitas Condição falsa
Para Não tem ((vf - vi) div p) + 1 v <= vf
![Page 32: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/32.jpg)
Exercício
Construa um algoritmo que permita fazer um levantamento do estoque de vinhos de uma adega, tendo como dados de entrada tipos de vinho, sendo
T – vinho tinto
B – vinho branco
R – vinho rosê
Especifique a porcentagem de cada tipo sobre o total geral de vinhos
A quantidade de vinhos é desconhecida
Utilize como finalizadorF – fim
![Page 33: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/33.jpg)
Lógica de Programação
Estruturas de Dados
![Page 34: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/34.jpg)
Estruturas de Dados
TópicosVetores
Matrizes
Registros
Registro de Conjuntos
Conjuntos de Registros
![Page 35: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/35.jpg)
Estruturas de DadosOs tipos primitivos (inteiro, real, caracter e lógico) não são suficientes para representar todos os tipos de informação.
Particularmente quando temos mais de uma informação relacionada. Ex: Lista dos nomes dos alunos de uma sala, endereço de alguém etc.
Utilizaremos os tipos primitivos para construir outras estruturas de dados mais complexas.
![Page 36: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/36.jpg)
VetoresTambém denominados Estruturas compostas homogêneas unidimensionais
Permitem a manipulação de um conjunto de informações de um mesmo tipo primitivo
Declaração :tipo CLASSE = vetor [1 .. 40] de reais;
CLASSE: VCLASSE;
Onde:
CLASSE: Nome do tipo que está sendo construído
1: Limite inicial do vetor
40: Limite final do vetor
reais: Tipo primitivo base do vetor
VCLASSE: Nome da variável criada cf o tipo construído
![Page 37: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/37.jpg)
VetoresManipulação:
1 2 3 4 5 6 7 8 9 38 39 40
inteiro: A;
VCLASSE [ 7 ] 6,5;
6,57,8 5,3
VCLASSE
VCLASSE [ 2 ] 7,8;VCLASSE [ 4 ] 5,3;leia (A); // supondo que foi informado 6VCLASSE [ A ] 9,8;VCLASSE [ A-1 ] 9,1;leia ( VCLASSE [ A+3 ] ); // supondo que foi informado 4,7
9,89,1 4,7
![Page 38: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/38.jpg)
Vetoresinício
inteiro: NotaAcima;real: A, B, C, D, E, F, G, H, I, J, Média;NotaAcima 0;leia (A,B,C,D,E,F,G,H,I,J);Média (A + B + C + D + E + F + G + H + I + J)/10;se (A > Média)
então NotaAcima NotaAcima + 1;fimse;se (B > Média)
então NotaAcima NotaAcima + 1;fimse;. . .se (J > Média)
então NotaAcima NotaAcima + 1;fimse;escreva (NotaAcima);
fim.
Algoritmo 4.1 – Notas acima da média usando variáveis simples
![Page 39: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/39.jpg)
Vetoresinício
tipo Classe = vetor [1 .. 10] de reais;Classe: VClasse;inteiro: NotaAcima, X;real: Soma, Média;Soma 0;NotaAcima 0;para X de 1 até 10 passo 1 faça
leia ( VClasse[X] );Soma Soma + VClasse[X];
fimpara;Média Soma / 10;para X de 1 até 10 passo 1 faça
se ( VClasse[X] > Média )então NotaAcima NotaAcima + 1;
fimse;fimpara;escreva (NotaAcima);
fim.
Algoritmo 4.2 – Notas acima da média usando vetor
![Page 40: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/40.jpg)
MatrizesTambém denominadas Estruturas compostas homogêneas multidimensionais
Permitem a manipulação de um conjunto de informações de um mesmo tipo primitivo
Declaração:tipo SALA = matriz [1 .. 4, 1 .. 4] de inteiros;
SALA: MSALA;
Onde:
SALA: Nome do tipo que está sendo construído
1: Limite inicial da primeira e da segunda dimensão
4: Limite final da primeira e da segunda dimensão
inteiros: Tipo primitivo base da matriz
MSALA: Nome da variável criada cf o tipo construído
![Page 41: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/41.jpg)
MatrizesManipulação:
1 2 3 4inteiro : A, B;
MSALA [ 2, 3 ] 5;
MSALA
MSALA [ 3, 2 ] 6;MSALA [ 1, 2 ] 7;A 4;
MSALA [ A, B ] 8;MSALA [ A, B-2 ] 9;MSALA [ A-2, B-2 ] 10;
1
2
3
4
5
6
7
89
10
11
12
MSALA [ B, A ] 11;MSALA [ B-2, A ] 12;
B 3;
![Page 42: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/42.jpg)
Matrizes
Exemplo: Cartão da Loteria EsportivaJg Coluna 1 Ept Coluna 2
1 Santos Corinthians
2 Flamengo Fluminense
3 Palmeiras São Paulo
4 Vasco Botafogo
5 Portuguesa XV de jaú
6 São Caetano XV de Piracicaba
7 Grêmio Internacional
8 Havaí Figueirense
9 Coritiba Atlético-PR
10 Paysandú Juventude
11 Atlético-MG Cruzeiro
12 Brasiliense Ponte Preta
13 Fortaleza Goiás
14 Esportivo Londrina
![Page 43: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/43.jpg)
Matrizesinício
tipo Loteria = vetor [1 .. 14, 1 .. 3] de caracteres;Loteria: mLoteria;inteiro: I, J, maisMar, nJogo, marLin;maisMar 0;para I de 1 até 14 faça
marLin 0;para J de 1 até 3 faça
se mLoteria[ I, J] =‘x’;então marLin marLin + 1;
fimse;fimpara;se marLin > maisMar então
maisMar marLin;nJogo I;
fimse;fimpara;escreva (“Jogo mais marcado: “, nJogo, “com “, maisMar);
fim.
Algoritmo 4.3 – Loteria Esportiva, jogo mais marcado
![Page 44: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/44.jpg)
Matrizesinício
tipo Loteria = vetor [1 .. 14, 1 .. 3] de caracteres;Loteria: mLoteria;inteiro: I, J, maisMar, nColuna, marCol;maisMar 0;para J de 1 até 3 faça
marCol 0;para I de 1 até 14 faça
se mLoteria[ I, J] =‘x’;então marCol marCol + 1;
fimse;fimpara;se marCol > maisMar então
maisMar marCol;nColuna J;
fimse;fimpara;escreva (“Coluna mais marcada: “, nColuna, “com “, maisMar);
fim.
Algoritmo 4.4 – Loteria Esportiva, coluna mais marcada
![Page 45: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/45.jpg)
RegistrosTambém denominadas Estruturas compostas heterogêneas
Permitem a manipulação de um conjunto de informações de tipos primitivos diferentesExemplo: Passagem de ônibus
Número: 0001
De: ____________________ Para: _______________________
Data: ____ / ____ / _______ Horário: ________ : _________
Poltrona: ____________ Distância: ____________ km
![Page 46: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/46.jpg)
RegistrosDeclaração:
tipo regPassagem = registro
inteiro: Número;
caracter: Origem, Destino, Data, Horário;
inteiro: Poltrona;
real: Distância;
fimregistro;
regPassagem: Passagem;
Manipulação:leia (Passagem);
escreva (Passagem);
leia (Passagem.Origem);
escreva (Passagem.Destino);
Passagem.Distância 500;
![Page 47: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/47.jpg)
Registro de ConjuntosCombinação de estruturas heterogêneas com homogêneas
Podem ser obtidas ao incluir num registro outro tipo de dados construídoExemplo: Registro de Estoque com Baixa semanal
Nome: _____________________________________________
Código: ___________________ Preço: __________________
Baixa
1 2 3 4 5 6
![Page 48: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/48.jpg)
Registro de ConjuntosDeclaração:
tipo vDias = vetor [ 1 .. 6 ] de inteiros;
tipo regProd = registro
caracter: Nome;
inteiro: Código;
real: Preço;
vDias: Baixa;
fimregistro;
regProduto: Produto;
Manipulação:escreva (Produto.Nome);
escreva (Produto.Código);
escreva (Produto.Preço);
escreva (Produto.Baixa [ 1 ]);
Produto.Baixa [ 4 ] 500;
![Page 49: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/49.jpg)
Conjunto de RegistrosCombinação de estruturas homogêneas com heterogêneas
Podem ser obtidas ao formar um conjunto com outro tipo de dados construídoExemplo: Ônibus formado por Passagem
Número: 0001
De: ____________________ Para: _______________________
Data: ____ / ____ / _______ Horário: ________ : _________
Poltrona: ____________ Distância: ____________ km
1
2
3
4
44
![Page 50: Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito.](https://reader035.fdocuments.net/reader035/viewer/2022062312/552fc12b497959413d8cfdfe/html5/thumbnails/50.jpg)
Conjunto de RegistrosDeclaração:
tipo regPassagem = registro
inteiro: Número;
caracter: Origem, Destino, Data, Horário;
inteiro: Poltrona;
real: Distância;
fimregistro;
Tipo vetPassagem = vetor [ 1 .. 44 ] de regPassagem;
vetPassagem: Ônibus;Manipulação:leia (Passagem [ 7 ]);
escreva (Passagem [ 4 ]);
leia (Passagem [12].Origem);
escreva (Passagem [21].Destino);
Passagem [34].Distância 500;