• Nenhum resultado encontrado

Algoritmos e Programação

N/A
N/A
Protected

Academic year: 2021

Share "Algoritmos e Programação"

Copied!
9
0
0

Texto

(1)

Prof. Alceu Britto slides cedidos pelo Prof. Edson J. R. Justino (PUCPR)

Aula 9 e 10 UEPG

Algoritmos e

Programação

Estruturas de Dados

Homogêneas



Repetição com teste no final



O comando REPITA-ATÉ é equivalente ao

comando ENQUANTO. No entanto, o teste da

condição é feito no final da estrutura e a condição é

oposta.

Enquanto

Enquanto condicondiççãoãofafaççaa

Comandos; Comandos; . . . . . . Fim

Fim--enquantoenquanto Repita Repita Comandos; Comandos; . . . . . . At

(2)

Estruturas de Dados

Homogêneas

In

Inííciocio real

realVOLUME, PI, R;VOLUME, PI, R;

PI< PI<--3,1416;3,1416; R < R <--0;0; Repita Repita VOLUME < VOLUME <--4/3 * PI *(R**3);4/3 * PI *(R**3); Imprimir (

Imprimir (R, VOLUMER, VOLUME););

R < R <--R + 2;R + 2; At AtééR > 6R > 6 Fim Fim In Inííciocio real

realVOLUME, PI, R;VOLUME, PI, R; PI< PI<--3,1416;3,1416; R < R <--0;0; Enquanto Enquanto R R ≤≤66fafaççaa VOLUME < VOLUME <--4/3 * PI *4/3 * PI * (R**3); (R**3); Imprimir (

Imprimir (R, VOLUMER, VOLUME););

R <

R <--R + 2;R + 2;

Fim

Fim--enquantoenquanto

Fim

Fim

Estruturas de Dados

Homogêneas



Repetição com variável de controle



O comando PARA é na verdade um comando

ENQUANTO utilizando uma variável de controle,

escrita numa notação compacta.

V < V <--ii Enquanto Enquanto v v ≤≤llfafaççaa Comandos; Comandos; . . . . . . v < v <--v + p;v + p; Fim

Fim--enquantoenquanto Para

Paravvde de iiatatéél l passo passo p p

Comandos; Comandos; . . . . . . Fim

(3)

Estruturas de Dados

Homogêneas

In

Inííciocio real

realVOLUME, PI, R;VOLUME, PI, R;

PI<

PI<--3,1416;3,1416;

Para

Para RRde de 00atatéé66passo passo 2 2 VOLUME <

VOLUME <--4/3 * PI *(R**3);4/3 * PI *(R**3); Imprimir (

Imprimir (R, VOLUMER, VOLUME););

Fim

Fim--ParaPara

Fim

Fim

In

Inííciocio real

realVOLUME, PI, R;VOLUME, PI, R; PI< PI<--3,1416;3,1416; R < R <--0;0; Enquanto Enquanto R R ≤≤66fafaççaa VOLUME < VOLUME <--4/3 * PI *4/3 * PI * (R**3); (R**3); Imprimir (

Imprimir (R, VOLUMER, VOLUME););

R <

R <--R + 2;R + 2;

Fim

Fim--enquantoenquanto

Fim

Fim

Estruturas de Dados

Homogêneas



O Comando ABANDONE



O comando ABANDONE só tem sentido

dentro de um comando de repetição

(enquanto, repita e para). Ele abandona o

fluxo de repetição do loop, desviando para a

próxima instrução após o loop

(4)

Estruturas de Dados

Homogêneas

In Inííciocio int intI;I; Enquanto Enquanto I > 0I > 0fafaççaa I< I<--I I ––0,05;0,05; imprima ( imprima (ii);); Se

Se (I**2) + 1 (I**2) + 1 ≥≥1,451,45entãoentão I < I <--I + 0,20;I + 0,20; Senão Senão Abandone; Abandone; Fim Fim--sese Fim

Fim--enquantoenquanto

Fim

Fim

Estruturas de Dados

Homogêneas



Definição de novos tipos



Nem sempre os tipos básicos (int, real, caractere e

lógico) são suficientes para exprimir estrutura de

dados em algoritmos



O tipo vetor

Representa uma coleção de um dos tipos básicos

tipo_b

tipo_báásicosiconome_vetornome_vetor[limite];[limite];

Onde

Onde tipo_btipo_báásicosicosão int, real, são int, real,

caractere e l

(5)

Estruturas de Dados

Homogêneas



Exemplo 1: O que será impresso no algoritmo abaixo?

In Inííciocio int intI, I, veve[6];[6]; caractere caracterecaca[6];[6]; ve ve[0] <[0] <--0;0; ve ve[1] <[1] <--0;0; ve ve[2] <[2] <--1;1; ve ve[3] <[3] <--1;1; ve ve[4] <[4] <--4;4; ve ve[4] <[4] <--5;5; ca ca[0] <[0] <--““SEGSEG””;; ca ca[1] <[1] <--““TERTER””;; ca ca[2] <[2] <--““QUAQUA””;; ca ca[4] <[4] <--““SEXSEX””;; ca ca[5] <[5] <--““SABSAB””;; Para

ParaI I dede0 0 atatéé5 5 passopasso22

Imprima

Imprima((caca[[veve[i]]);[i]]);

Fim

Fim--parapara Imprima Imprima((caca[[veve[[veve[2]]]);[2]]]); Fim Fim

Estruturas de Dados

Homogêneas



Exemplo 2: Qual será o valor de X impresso pelo

algoritmo abaixo?

InInííciocio

real realx, v[5];x, v[5]; int intI;I; v[0] < v[0] <--1;1; v[1] < v[1] <--3;3; v[2] < v[2] <--0;0; v[3] < v[3] <--2;2; v[4] < v[4] <--4;4; x < x <--v[0] + v[4];v[0] + v[4]; Imprima Imprima(x);(x); x < x <--v[1] v[1] ––v[4];v[4]; Imprima Imprima(x);(x); x < x <--v[3] * v[0] v[3] * v[0] --x;x; Imprima Imprima(x);(x); I < I <--2; 2; x < x <--v[I];v[I]; Imprima Imprima(x);(x); x < x <--v[I]/v[v[0]];v[I]/v[v[0]]; Imprima Imprima(x);(x); Fim Fim

(6)

Estruturas de Dados

Homogêneas

 Exemplo 3:Um professor tem uma turma com 80 alunos e deseja

calcular e imprimir a nota de cada aluno seguido da média da turma In

Inííciocio real

realmméédia, soma = 0;dia, soma = 0; real

realnota[80];nota[80]; int

inti = 0;i = 0; Enquanto

Enquantoi < 80 fai < 80 façça:a:

leia

leia(nota[i]);(nota[i]); soma <

soma <--soma + nota[i];soma + nota[i]; i <

i <--i + 1;i + 1; Fim

Fim--enquantoenquanto

m

méédia <dia <--soma/80;soma/80; i <

i <--0;0; Enquanto

Enquantoi < 80 fai < 80 façça:a:

Imprima

Imprima( nota[i], mé( nota[i], média);dia); i <

i <--i + 1;i + 1; Fim

Fim--enquantoenquanto

Fim

Fim

► Exemplo 4: Escreva o exemplo anterior usando o comando PARAExemplo 4: Escreva o exemplo anterior usando o comando PARA

Estruturas de Dados

Homogêneas

 Exemplo 5: Dado vetor CRR de caracteres abaixo

○ CRR

 Qual será a sua configuração depois de executar os comandos:

! U O T R E C A

In

Inííciocio

caractere

caracterecrr[8]={!,U,O,T,R,E,C,A};crr[8]={!,U,O,T,R,E,C,A}; int

inti;i;

caractere AUX; caractere AUX; Para

Paraiidede1 1 atatéé33passo passo 11 aux

aux<<--crrcrr[i];[i]; crr

crr[i] <[i] <--crrcrr[7 [7 ––i];i]; crr

crr[7 [7 ––i] <i] <--auxaux;; Fim

Fim--parapara

aux aux<<--crrcrr[0];[0]; crr crr[0] <[0] <--crrcrr[7];[7]; crr crr[7] <[7] <--auxaux;; Fim Fim

(7)

Exercícios Propostos



1) Dados os vetores R[10] e S[20],

escreva um algoritmo que:

1.

Gere o vetor X correspondente a

união

dos

vetores R e S;

2.

Gere o vetor Y com os

elementos comuns

de R e S;

3.

Gere o vetor Z com os elementos de R que

não estão

em S.

Solução Exercício 1



1.

In Inííciocio caractere caractere R[10], S[20], X[30];R[10], S[20], X[30]; int inti;i; Leia( Leia(R,SR,S); ); Para

Paraiidede0 0 atatéé99passo passo 11

X[i] <

X[i] <--R[i];R[i]; Fim

Fim--parapara Para

Paraiidede0 0 atatéé1919passo passo 11 X[10+i] <

X[10+i] <--S[i];S[i]; Fim

Fim--parapara Imprima

Imprima(X);(X); Fim

(8)

Solução Exercício 1



2

In

Inííciocio caractere

caractere R[10], S[20], Y[10];R[10], S[20], Y[10]; int inti, j, k;i, j, k; Leia( Leia(R,SR,S); ); k < k <--0;0; Para

Paraiidede0 0 atatéé99passo passo 11

Para

Para jjde de 00atatéé1919passo passo 11

Se

Se R[i] = S[j]R[i] = S[j]entãoentão

Y[k] <

Y[k] <--R[i];R[i]; k < k <--k + 1;k + 1; Abandone; Abandone; Fim Fim--sese Fim

Fim--parapara

Fim

Fim--parapara Imprima

Imprima(Y);(Y); Fim Fim

Solução Exercício 1



3

In Inííciocio caractere caractere R[10], S[20], Z[10];R[10], S[20], Z[10]; int

inti, j, comum;i, j, comum; Leia(

Leia(R,SR,S); );

k < k <--0;0; Para

Paraiidede0 at0 atéé99passo passo 11 comum <

comum <--0;0; Para

Para jjde de 00atatéé1919passo passo 11 Se

Se R[i] = S[j]R[i] = S[j]entãoentão

comum < comum <--1;1; Fim

Fim--sese

Fim

Fim--parapara

Se

Secomum = 0 comum = 0 entãoentão

Z[k] < Z[k] <--R[i];R[i]; k < k <--k + 1;k + 1; Fim Fim--sese Fim

Fim--parapara

Imprima

Imprima(Z);(Z); Fim

(9)

Exercícios Propostos



2) Elabore um algoritmo para somar

respectivamente os elementos de dois

vetores A e B de 50 posições, gerando um

terceiro vetor C



3) Elaborar um algoritmo para calcular a

média aritmética dos valores de um vetor

de inteiros de 20 posições



4) Elaborar um algoritmo que leia um vetor

de inteiros de 90 posições e imprima uma

lista com os valores na ordem inversa da

leitura.

Referências

Documentos relacionados

1. Solicita, por conseguinte, que no quadro da futura estratégia comercial da União Europeia, o comércio não seja visto como fim em si mesmo, mas como um utensílio que permite a

5.1.7 Organizar regularmente acções de formação sobre o registo de nascimento e a sua importância na prevenção da apatridia para todos os actores envolvidos no processo do

Immobilization significantly reduced the values for stiffness, load and stretching at maximum limit of gastrocnemius muscles compared to control group (p&lt;0.05).. (Table

A Associação Nacional dos Advogados Públicos Federais (ANAFE) informa a abertura do prazo para envio de artigos para a Edição nº 1 da REVISTA DA ADVOCACIA PÚBLICA FEDERAL,

[r]

Título em inglês: Expression and prognostic value of estrogen and progesterone receptors status in borderline ovarian tumors and ovarian carcinomas.. Palavra-chave em inglês:

A Fundação Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Capes, em parceria com a Secretaria de Assuntos Estratégicos da Presidência da República - SAE/PR,

Mas, para dezoito professores é a indisciplina dos alunos o que mais afeta os seus trabalhos e onze disseram sentir-se prejudicados com o contexto social da escola Em