• 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

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:

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 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,

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

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