Vous êtes sur la page 1sur 81

Conceitos Fundamentais de

Algoritmos

REFERÊNCIA: Material dos Profs. Reinaldo Gomes

(UFRPE) e Robson Fidalgo (UFPE)

www.xiscanoe.org

Algoritmo

É o pensamento descrito como uma sequênciaAlgoritmo de passos que visam atingir um objetivo Algoritmos no dia-a-dia: Receita de bolo, orientação para

de passos que visam atingir um objetivo

Algoritmos no dia-a-dia: Receita de bolo, orientação para se chegar em algum endereçocomo uma sequência de passos que visam atingir um objetivo Qual sua importância na programação? Representar

Qual sua importância na programação?de bolo, orientação para se chegar em algum endereço Representar o raciocínio, independentemente de detalhes

Representar o raciocínio, independentemente de detalhes computacionais, que podem serem algum endereço Qual sua importância na programação? acrescentados mais tarde Focalizar primeiro na resolução

acrescentados mais tarde

Focalizar primeiro na resolução algorítmica do problema, possibilitando depois codificá-la emo raciocínio, independentemente de detalhes computacionais, que podem ser acrescentados mais tarde qualquer linguagem

qualquer linguagem

Algoritmo Textual Informal

Modo de preparo:

Quão cremoso?!?

Textual Informal • Modo de preparo: Quão cremoso?!? – Bata a margarina, as gemas e o

Bata a margarina, as gemas e o açúcar até ficar

cremoso

Quanto tempo?!?

Junte o leite, o coco e a farinha e continue

batendo

De uma vez só?!?

o coco e a farinha e continue batendo De uma vez só?!? – Acrescente o fermento

Acrescente o fermento e, por último, as claras em

Quanto tempo?!?

neve

Unte uma forma com manteiga e leve ao forno para assar

Algoritmo Textual Informal

Refinado

Modo de preparo:

Bata a margarina, as gemas e o açúcar por 15

minutos

Junte o leite, o coco e a farinha e continue batendo por mais 15 minutos

Acrescente 20 g de fermento e, por último, as claras em neve

Unte uma forma com manteiga e leve ao forno

para assar por 30 minutos

Algoritmo Gráfico-Textual Informal

Montagem de um Aeromodelo

– Material • Cola especial para plásticos • Estilete • Lixas finas • Durex ou
– Material
• Cola especial para plásticos
• Estilete
• Lixas finas
• Durex ou fita crepe
• Pregador de roupas, elásticos

Algoritmo Gráfico-Textual

Informal

Identificação das peças

Algoritmo Gráfico-Textual Informal • Identificação das peças

Algoritmo Gráfico-Textual

Informal

Instruções

Leia e entenda as instruções antes de começar a montagem

Lave as peças com água e detergente. Na lavagem

serão removidos desmoldantes e sujeiras, que dificultam a colagem e a pintura. Faça isto dentro de uma bacia, para evitar perder peças pequenas, que

porventura se soltem

Encontre as peças que devem ser usadas na primeira parte da montagem (figura do slide anterior)

Lixe as peças com cuidado eliminando as rebarbas

Algoritmo Textual Informal 2

Troca de pneu

“Abra o porta-mala e verifique se todos acessórios estão lá. Em caso negativo, feche o porta-malas e peça carona a

alguém. Em caso positivo, retire o triângulo, posicione-o a cerca de 30 m do carro, e, depois, retire o estepe e o macaco.

Levante o carro

Algoritmo Gráfico Informal

Troca de pneu

Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu
Algoritmo Gráfico Informal • Troca de pneu

Algoritmo Gráfico Semi-formal

Troca de pneu (Fluxograma)

Abre porta-malas

Sim Acessórios OK? Não
Sim
Acessórios
OK?
Não

Fecha

porta-malas

• Troca de pneu (Fluxograma) Abre porta-malas Sim Acessórios OK? Não Fecha porta-malas Pega triângulo

Pega triângulo

• Troca de pneu (Fluxograma) Abre porta-malas Sim Acessórios OK? Não Fecha porta-malas Pega triângulo

Algoritmo Gráfico Semi-formal

Troca de uma lâmpada (Fluxograma)

início ir para o primeiro soquete posicionar escada buscar lâmpada nova F soquetes restantes <
início
ir para o primeiro soquete
posicionar escada
buscar lâmpada nova
F
soquetes
restantes < 10
acionar o interruptor
V
acionar o interruptor
subir na escada
retirar a lâmpada queimada
F
não
acendeu?
colocar lâmpada nova
V
pegar uma escada
acionar o interruptor
F não acendeu? V
F
não
acendeu?
V
pegar uma escada acionar o interruptor F não acendeu? V retirar a lâmpada queimada colocar lâmpada

retirar a lâmpada queimada

retirar a lâmpada queimada

colocar lâmpada nova

ir ao próximo soquete

fim
fim

Algoritmo Textual Formal

Troca de pneu

abre(porta_malas) Se acessorio_ok = FALSO Então

fecha(porta_malas)

espera_carona()

Senão

pega_triangulo()

Algoritmo: Problemas Complexos

Problema da Torre de Hanói

Seja a seguinte situação:

deve-se mover todos os discos do primeiro eixo para o terceiro mantendo-se a ordem original

em cada movimento, pode-se mover apenas um disco

um disco nunca poderá ser sobreposto por outro maior

original • em cada movimento, pode-se mover apenas um disco • um disco nunca poderá ser

Algoritmo: Problemas Complexos

Passo 1:

mova disco menor para terceiro eixo

Algoritmo: Problemas Complexos • Passo 1: mova disco menor para terceiro eixo
Algoritmo: Problemas Complexos • Passo 1: mova disco menor para terceiro eixo

Algoritmo: Problemas Complexos

Passo 2:

mova disco médio para segundo eixo

Algoritmo: Problemas Complexos • Passo 2: mova disco médio para segundo eixo
Algoritmo: Problemas Complexos • Passo 2: mova disco médio para segundo eixo
Algoritmo: Problemas Complexos • Passo 2: mova disco médio para segundo eixo

Algoritmo: Problemas Complexos

Passo 3:

mova disco menor para segundo eixo

Algoritmo: Problemas Complexos • Passo 3: mova disco menor para segundo eixo
Algoritmo: Problemas Complexos • Passo 3: mova disco menor para segundo eixo

Algoritmo: Problemas Complexos

Passo 4:

mova disco maior para terceiro eixo

Algoritmo: Problemas Complexos • Passo 4: mova disco maior para terceiro eixo
Algoritmo: Problemas Complexos • Passo 4: mova disco maior para terceiro eixo

Algoritmo: Problemas Complexos

Passo 5:

mova disco menor para primeiro eixo

Algoritmo: Problemas Complexos • Passo 5: mova disco menor para primeiro eixo
Algoritmo: Problemas Complexos • Passo 5: mova disco menor para primeiro eixo
Algoritmo: Problemas Complexos • Passo 5: mova disco menor para primeiro eixo

Algoritmo: Problemas Complexos

Passo 6:

mova disco médio para terceiro eixo

Algoritmo: Problemas Complexos • Passo 6: mova disco médio para terceiro eixo
Algoritmo: Problemas Complexos • Passo 6: mova disco médio para terceiro eixo

Algoritmo: Problemas Complexos

Passo 7:

mova disco menor para terceiro eixo

Algoritmo: Problemas Complexos • Passo 7: mova disco menor para terceiro eixo

Algoritmo: Problemas Complexos

Seqüência de passos completa:

Passo 1: mova disco menor para terceiro eixo

Passo 2: mova disco médio para segundo eixo

Passo 3: mova disco menor para segundo eixo

Passo 4: mova disco maior para terceiro eixo

Passo 5: mova disco menor para primeiro eixo

Passo 6: mova disco médio para terceiro eixo Passo 7: mova disco menor para terceiro eixo

disco menor para primeiro eixo Passo 6: mova disco médio para terceiro eixo Passo 7: mova
disco menor para primeiro eixo Passo 6: mova disco médio para terceiro eixo Passo 7: mova
disco menor para primeiro eixo Passo 6: mova disco médio para terceiro eixo Passo 7: mova

O que é Programação? =

ABSTRAÇÃO!

A realidade é complexa

e rica em detalhes!

Abstração Realidade O que você abstrai dessa realidade?

Abstração

Abstração Realidade O que você abstrai dessa realidade?
Realidade
Realidade
Abstração Realidade O que você abstrai dessa realidade?

O que você abstrai dessa realidade?

Abstração

O que é abstração?

Abstração

Abstração

=

Operação mental que

observa a realidade e

captura apenas os

aspectos relevantes

para um contexto

A tarefa de programar

Abstração

sistemas computacionais envolve o exercício

constante da abstração da

realidade e sua codificação em uma linguagem de

programação

Realidade Realidade
Realidade Realidade
em uma linguagem de programação Realidade Realidade Abstração + Programação Sistema de Locadora de
Abstração + Programação Sistema de Locadora de Veículo
Abstração
+
Programação
Sistema de Locadora de Veículo

Sistema Computacional

O que é um

Sistema Computacional?

Sistema Computacional

Sistema Computacional

Sistema Sistema Computacional Computacional Software Software Hardware Hardware Peopleware Peopleware
Sistema
Sistema
Computacional Computacional
Software Software
Hardware
Hardware
Peopleware Peopleware

Programação de Sistema

Computacional

A programação de um sistema computacional pode ser resumida em 3 passos básicos

Entrada

Dispositivo de Entrada

em 3 passos básicos Entrada Dispositivo de Entrada Processamento UCP Memória Saída Dispositivo de Saída

Processamento

UCP Memória
UCP
Memória
em 3 passos básicos Entrada Dispositivo de Entrada Processamento UCP Memória Saída Dispositivo de Saída

Saída

Dispositivo de Saída

Programação de Sistema

Computacional

Exemplo 1 Exibir a média de dois números

Entrada

Dispositivo de Entrada

6 , 8

de dois números Entrada Dispositivo de Entrada 6 , 8 Processamento UCP Memória (6 + 8)

Processamento

UCP Memória
UCP
Memória

(6 + 8) / 2

Dispositivo de Entrada 6 , 8 Processamento UCP Memória (6 + 8) / 2 Saída Dispositivo

Saída

Dispositivo de Saída

7

Programação de Sistema

Computacional

Exemplo 2 Exibir se o aluno está aprovado ou reprovado

Entrada

Dispositivo de Entrada

Ana, 5, 3

ou reprovado Entrada Dispositivo de Entrada Ana, 5, 3 Processamento UCP Memória Se (5+3)/2>=7 aprovado

Processamento

UCP Memória
UCP
Memória

Se (5+3)/2>=7 aprovado

Senão

reprovado

UCP Memória Se (5+3)/2>=7 aprovado Senão reprovado Saída Dispositivo de Saída Ana, reprovado

Saída

Dispositivo de Saída

Ana, reprovado

Programação de Sistema Computacional

Tipos de Linguagens de Programação

1 - Totalmente codificadas em binário (0´s e 1´s)

2 - Usa instruções simbólicas para representar os 0´s e 1´s

3 - Voltadas para facilitar o raciocínio humano

Baixo Nível

Baixo Nível Alto Nível

Alto Nível

Baixo Nível Alto Nível

Linguagem

Linguagem

 

de

Assembly

Máquina

(Mnemônica)

0010

0001 1110

LOAD R1, val1

0010

0010 1111

LOAD R2, val2

0001

0001 0010

ADD R1, R2

0011

0001 1111

STORE R1, val2

(1)

(2)

Linguagem

de

Alto N ível

val2 = val1+val2

(3)

Noções de Lógica

Lógica: Ciência que estuda as formas do pensamento

Sempre que pensamos a lógica nos acompanha

Um bebê sabe que precisa chorar para receber atenção

Um casal com 3 filhos notou que um vaso estava quebrado, enquanto 2 das crianças estavam na escola. Quem é o culpado?

A gaveta está fechada. A caneta está dentro da gaveta. Precisamos primeiro abrir a gaveta para depois pegar a caneta.

O pensamento (e a lógica) pode ser expresso através da

palavra falada ou da palavra escrita

Um mesmo pensamento pode ser expresso em inúmeros

idiomas, tanto oralmente quanto por escrito

Vamos estudar uma forma única de representação

Atividade 1 (10min)

Resolva os seguintes problemas de lógica

P1 Uma lesma deve subir um poste de 10m de altura. De dia sobe 2m e à noite desce 1m. Em quantos dias atingirá o topo do poste?

P2 - Três gatos comem três ratos em três minutos.

Cem gatos comem cem ratos em quantos minutos?

P3 - O pai do padre é filho do meu pai. O que eu sou do Padre?

P4 - Se um bezerro pesa 75 kg mais meio bezerro,

quanto pesa um bezerro inteiro?

Atividade 1 (10min)

Resolva os seguintes problemas de lógica

P5

Qual

o

7,8,10,13,17,?

próximo

número

da

seqüência

P6 Um pai de 80kg e suas 2 filhas (40kg cada), precisam sair de uma ilha com um barco. Porém a

capacidade do barco é de 80kg. Como farão para sair

da ilha? P7 Usando uma jangada, um camponês precisa

atravessar uma cabra, um leão e um fardo de capim

para a outra margem do rio. A jangada só tem lugar para ele e mais outra coisa. O que ele deve fazer para atravessar o rio com seus pertences intactos?

RESPOSTAS - Atividade 1

Respostas

R1 - 9(nove) dias. No nono dia a lesma sobe 2(dois) metros, atinge o topo e evidentemente não desce 1 metro

R2 3 (três) minutos

R3 Tio

R4 150 (cento e cinqüenta) kg

R5 22

R6 Vão as duas filhas. Uma delas volta. O pai sai. A outra filha volta. As duas filhas saem juntas.

R7 - Primeiro leve a cabra, volte e pegue o capim; deixe o capim

e leve a cabra de volta; deixe a cabra e leve o leão, depois é só

voltar e pegar a cabra.

Noções de Lógica

Em Lógica um conceito importante

é o de “Proposição

Você sabe o que é uma PROPOSIÇÃO?
Você sabe o que é uma
PROPOSIÇÃO?

Noções de Lógica

Proposição: é um enunciado verbal, ao qual deve ser atribuído, sem ambigüidade, um valor lógico verdadeiro (V) ou falso (F).

Exemplos de proposições:

Robson Fidalgo é Professor (V)

3 + 5 = 10 (F)

5 < 8

(V)

Contra-exemplos de Proposições:

Onde você vai ?

3 + 5

Os estudantes jogam vôlei. (quais ?)

Lógica de Programação &

Algoritmo

O que é

Programação de computadores?

INSTRUÇÕES

Instruções Delimitadoras

Servem para especificar o início e o fim do algoritmo.

início

fim

Declaração de Variáveis

Utilizado para especificar os nomes e os

respectivos tipos das variáveis necessárias no algoritmo

declare <variáveis>: <tipo>;

onde:

<variáveis> - lista de nomes de variáveis separados por vírgula

<tipo> - inteiro, real, caracter, string, lógico

Declaração de Variáveis

Exemplos:

declare a,b,c: real;

declare nome: string; declare sexo: caracter; declare pratica_esporte: lógico;

Bloco de Comentário

Serve para explicar um determinado

trecho do algoritmo, para torna-lo mais

claro, facilitando seu entendimento por

outras pessoas ou posteriormente.

Exemplo:

{ <comentário> }

{ Isto é um exemplo de comentário }

Instrução de Entrada

Usada para ler dados de entrada do algoritmo.

leia(<variáveis>);

onde:

<variáveis> - conterão os dados lidos.

Instrução de Entrada

Exemplos:

leia(a,b,c);

leia(nome);

leia(sexo);

leia(pratica_esporte);

Instrução de Saída

Usada para mostrar os resultados do

processamento dos dados de entrada.

escreva(<resultados>);

onde:

<resultados> - geralmente é o conteúdo de uma ou mais variáveis com a resposta do

problema.

Instrução de Saída

Exemplos:

escreva(“O valor de D é: ”, D); escreva(nome, sexo); escreva(“Pratica esporte.”);

Instrução de Atribuição

Utilizado para atribuir um determinado

valor a uma variável.

<variável> <expressão>; onde:

<variável> - nome de uma variável

<expressão> - um valor do mesmo tipo da variável ou uma expressão lógica ou aritmética.

nome de uma variável <expressão> - um valor do mesmo tipo da variável ou uma expressão

Instrução de Atribuição

Exemplos

D

nome

Pratica_Esporte

Sexo

Instrução de Atribuição • Exemplos D nome Pratica_Esporte Sexo 2-4*A*C; “Paulo”; ‘M’; TRUE;

2-4*A*C;

“Paulo”;

Instrução de Atribuição • Exemplos D nome Pratica_Esporte Sexo 2-4*A*C; “Paulo”; ‘M’; TRUE;
Instrução de Atribuição • Exemplos D nome Pratica_Esporte Sexo 2-4*A*C; “Paulo”; ‘M’; TRUE;

‘M’;

Instrução de Atribuição • Exemplos D nome Pratica_Esporte Sexo 2-4*A*C; “Paulo”; ‘M’; TRUE;

TRUE;

Estruturas de Controle

Baseado na lógica estruturada, Bohn e Jacopini provaram que apenas três

estruturas são suficientes para explicar a

solução de qualquer problema, inclusive

tornando-os estruturados e mais legíveis.

Estruturas de Controle

São elas:

Estrutura Seqüencial: os comandos ou

instruções vão sendo executados na ordem

em que aparecem no algoritmo.

elas: – Estrutura Seqüencial: os comandos ou instruções vão sendo executados na ordem em que aparecem
elas: – Estrutura Seqüencial: os comandos ou instruções vão sendo executados na ordem em que aparecem
elas: – Estrutura Seqüencial: os comandos ou instruções vão sendo executados na ordem em que aparecem
elas: – Estrutura Seqüencial: os comandos ou instruções vão sendo executados na ordem em que aparecem
elas: – Estrutura Seqüencial: os comandos ou instruções vão sendo executados na ordem em que aparecem

Estruturas de Controle

Estrutura de Repetição: comandos são executados repetidas vezes até que uma

condição de parada seja satisfeita

• Estrutura de Repetição: comandos são executados repetidas vezes até que uma condição de parada seja
• Estrutura de Repetição: comandos são executados repetidas vezes até que uma condição de parada seja
• Estrutura de Repetição: comandos são executados repetidas vezes até que uma condição de parada seja
• Estrutura de Repetição: comandos são executados repetidas vezes até que uma condição de parada seja

Estruturas de Controle

Estrutura de Seleção: Conforme o resultado de uma expressão lógica,

determinados comandos são executados

e outros não, caracterizando assim uma seleção de comandos

TRUE

lógica, determinados comandos são executados e outros não, caracterizando assim uma seleção de comandos TRUE FALSE
FALSE
FALSE

Instruções de Seleção

Tipo simples:

se <sentença> então <comandos>; fim-se

OBS.:

<comandos> serão executados apenas se <sentença> resultar em TRUE.

Instruções de Seleção

Exemplo:

se A>0 então

Instruções de Seleção • Exemplo: se A>0 então B A + 1; A 0; fim-se

B

A + 1;

A + 1;

A

0;

fim-se

Instruções de Seleção

Tipo composto:

se <sentença> então

<comandos1>;

senão

<comandos2>;

fim-se

OBS.:

<comandos1> serão executados apenas se

<sentença> resultar em TRUE. Em caso contrário,

<comandos2> serão executados.

Instruções de Seleção

Exemplo:

se A>B então

B

A + 1;B

A

0;A

senão

A

0;A

B

A + 1;B

fim-se

Instruções de Repetição

Enquanto / Fim-Enquanto

enquanto <sentença> faça <comandos>;

fim-enquanto;

OBS.:

<comandos> serão executados enquanto <sentença> resultar em TRUE.

Instruções de Repetição

Exemplo:

enquanto A>0 faça leia(B); escreva(B);

Instruções de Repetição • Exemplo: enquanto A>0 faça leia(B); escreva(B); A A - 1; fim-enquanto;

A A - 1;

fim-enquanto;

Instruções de Repetição

Repita / Até

repita

<comandos>;

até <sentença>;

OBS.:

<comandos> serão executados até que <sentença> resulte em TRUE.

Instruções de Repetição

Exemplo:

repita

leia(B);

escreva(B);

A A - 1;

até A<1;

Instruções de Repetição

Para / Até / Fim-Para

Instruções de Repetição • Para / Até / Fim-Para para <variável> <comandos>; fim-para; OBS.:

para <variável> <comandos>; fim-para;

OBS.:

<variável> - contador do tipo inteiro <inicial> - valor inicial da variável <final> - valor final da variável

<inicial> até <final> faça

Instruções de Repetição

Exemplo:

{ Comandos para escrever 10 vezes uma frase na tela do computador }

para i

escreva(“Último tipo de repetição”); fim-para;

10 vezes uma frase na tela do computador } para i escreva (“Último tipo de repetição”);

1 até 10 faça

Estrutura de um Algoritmo

Um algoritmo em Portugol tem a seguinte estrutura:

início

<declaração de variáveis>

<inicialização de variáveis>

<corpo lógico do algoritmo> fim

Lógica de Programação & Algoritmo

Estruturas básicas de um algoritmo:

Seqüência Início/Fim

Define uma estrutura onde as instruções serão executadas na ordem que aparecem.

Seleção Se-Então/Senão

Define uma estrutura condicional que dada a sua

avaliação (V ou F) determina qual “caminho” do algoritmo será executado

Repetição Repita, Enquanto ou Para

Define uma estrutura de iteração condicional (V ou F) ou contada (pré-definida) de instruções

Lógica de Programação &

Algoritmo

Algoritmo para ligar de um telefone público - Seqüência

Início

1.

2.

3.

4.

5.

6.

7.

Tirar o fone do gancho;

Ouvir o sinal de linha;

Introduzir o cartão;

Teclar o número desejado;

Conversar;

Este algoritmo só usa uma estrutura de seqüência

“Início/Fim”

Desligar;

Retirar o cartão;

Fim.

Lógica de Programação & Algoritmo

Algoritmo para ligar de um telefone público Seleção

E se o telefone público estiver com defeito?

Início

1.

Tirar o fone do gancho;

2.

Se ouvir o sinal de linha, então

1. Introduzir o cartão;

2. Teclar o número desejado;

3. Conversar;

4. Desligar;

5. Retirar o cartão;

3.

Senão

1. ir para o próximo telefone;

Fim.

Este algoritmo usa uma

estrutura de decisão “Se-então/Senão”

Lógica de Programação & Algoritmo

Algoritmo para ligar de um telefone público Repetição

E se o próximo telefone público também estiver com defeito?

Início

1. Repita

1. Tirar o fone do gancho;

2. Se ouvir o sinal de linha então

1.

Introduzir o cartão;

2.

Teclar o número desejado;

3.

Conversar;

4.

Desligar;

5.

Retirar o cartão;

3. Senão

1. ir para o próximo telefone;

2. Até ouvir o sinal de linha

Fim.

Este algoritmo usa uma estrutura de repetição

“Repita/Até”

Lógica de Programação & Algoritmo

Algoritmo para ligar de um telefone público Repetição

E se o telefone chamado estiver com defeito?

E se o telefone chamado estiver ocupado?

E se acabarem os créditos do cartão telefônico?

E se

?

Um algoritmo

SEMPRE sofre melhorias sucessivas.

(Técnica de refinamentos sucessivos)

Fluxogramas - Exemplo 1

Achar o valor da expressão: D = B 2 - 4AC.

Início

Ler A, B, C
Ler A, B, C

D = B 2 - 4*A*C

1
1
1 Escrever D
1
Escrever D

Fim

Fluxogramas:

Exemplo 2

Início

Ler A, B Comparar A com B A>B
Ler A, B
Comparar
A com B
A>B

Escrever:

“A é maior”

Escrever: “A é maior”

Achar o maior de

dois números A e

B.

A=B

Escrever:

“A e B iguais”

Escrever: “A e B iguais”

A<B

Escrever:

“B é maior”

Escrever: “B é maior”
• Achar o maior de dois números A e B. A=B Escrever: “A e B iguais”
• Achar o maior de dois números A e B. A=B Escrever: “A e B iguais”

Fim

Português Estruturado - Exemplo 1

Achar o valor da expressão: D = B 2 - 4AC.

Ler os valores de A, B e C Calcular a expressão D = B 2 - 4AC Mostrar o resultado desse cálculo

Português Estruturado - Exemplo 2

Achar o maior de dois números A e B.

Ler dois números A e B Comparar A com B

Mostrar o resultado dessa comparação

Pseudocódigo - Exemplo 1

Achar o valor da expressão: D = B 2 - 4AC.

Início

Declare A,B,C,D; Leia(A,B,C);

D B^2 - 4*A*C; { Operação de atribuição }

{ Declaração de variáveis }

A,B,C,D; Leia (A,B,C); D B^2 - 4*A*C; { Operação de atribuição } { Declaração de variáveis

Escreva(D);

Fim.

Pseudocódigo - Exemplo 2

Achar o maior de dois números A e B.

Início

Declare A,B;

Leia(A,B); Se A = B Então Escreva(“A e B iguais”);

Senão Se A>B Então Escreva(“A é maior”);

{ Declaração de variáveis }

Senão Escreva(“B é maior”); Fim-Se

Fim-Se

Fim.

Atividade 3

Reescreva corretamente o algoritmo

abaixo

Algoritmo aprovação Início

1.

Obter as 2 notas do aluno;

2.

Repita

1. Se Média do aluno >=7, então

1.

Repita

 

1. Informar que o aluno está REPROVADO;

 

2. Até Média < 7

2. Senão Média >= 7

1.

Informar que o aluno está APROVADO;

3.

Até último aluno;

Fim.

RESPOSTA - Atividade 3

Algoritmo aprovação Início

1.

Repita

1.

Obter as 2 notas do aluno;

2.

Se Média do aluno >=7, então

 

1. Informar que o aluno está APROVADO

 

3.

Senão

 

1. Informar que o aluno está REPROVADO;

2.

Até último aluno

Fim

UM EXERCÍCIO

Construa um algoritmo para escolher as duas maiores laranjas de um balaio

Pegue o balaio cheio de laranjas e

um balaio vazio. Compare duas a duas e qual for a menor coloque no

balaio vazio Ao final a maior laranja estará na sua mão. Repita o

processo até que reste apenas duas

laranjas.

Outros exercícios

1) leia um número inteiro e mostre uma mensagem indicando se este número é par ou ímpar, e se é positivo ou negativo

Var num: inteiro

inicio

escreval("Digite o número") leia(num) //Lendo a variável

//verificando o resto da divisão por 2, se = 0 par senão impar

se (num % 2) = 0 entao escreva("O número é par") senao escreva("O número é impar") fim-se

//verificando se é maior ou = 0

// vou considerar aqui zero como numero positivo se (num >= 0) entao escreva("O número é positivo") senao escreva("O número é negativo")

fims-e

fim-algoritmo

Outros exercícios

2) leia quatro números inteiros e encontre a média aritmética

simples entre as que correspondem a números pares. Lembre- se que não pode haver divisão por zero

a1<-a mod 2

b1<-b mod 2 c1<-c mod 2 d1<-d mod 2

contador<-0

soma<-0

se (a1)=0 entao

contador<-contador+1

soma<-soma+(a)

fimse se (b1)=0 entao

contador<-contador+1

soma<-soma+(b)

fimse

entao contador<-contador+1 soma<-soma+(b) fimse se (c1)=0 entao contador<-contador+1 soma<-soma+(c)

se (c1)=0 entao

contador<-contador+1

soma<-soma+(c)

fimse

se (d1)=0 entao

contador<-contador+1

soma<-soma+(d) fimse se contador<>0 entao

mp<-soma/contador

escreva("Média dos Pares:",mp) senao escreva("Não Existe números Pares") fimse

Outros exercícios

3) leia 4 notas, calcule a média dessas e escreva: Reprovado

(média < 5), Recuperação (média >= 5 e < 7) e Aprovado (média >= 7)

inicio

escreva ("escreva a primeira nota: ") leia (nota1) escreva ("escreva a segunda nota: ")

leia (nota2)

escreva ("escreva a terceira nota: ") leia (nota3)

soma<-(nota1+nota2+nota3)/3

nota: ") leia (nota3) soma<-(nota1+nota2+nota3)/3 Se (soma >= 7) Entao Escreval("Você está

Se (soma >= 7) Entao

Escreval("Você está aprovado")

Fim-Se Se (soma > 5) e (soma < 7) Entao Escreval("Você está em recuperação") FimSe

Se (soma <= 5) Entao Escreval("Você está reprovado")

Fim-Se