50
Lógica de Programação Estruturas de Controle

Lógica de Programação Estruturas de Controle. Nesta aula Estrutura Sequencial Estrutura de Seleção Estrutura de Repetição Objetivos Apresentar o conceito

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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;