Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS...

29
INFORMÁTICA APLICADA INFORMÁTICA APLICADA INFORMÁTICA APLICADA INFORMÁTICA APLICADA AULA 02 AULA 02 AULA 02 AULA 02 ALGORITMOS ALGORITMOS ALGORITMOS ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia AULA 02 AULA 02 AULA 02 AULA 02 ALGORITMOS ALGORITMOS ALGORITMOS ALGORITMOS Prof Prof Prof Profª Danielle Casillo ª Danielle Casillo ª Danielle Casillo ª Danielle Casillo

Transcript of Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS...

Page 1: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

INFORMÁTICA APLICADAINFORMÁTICA APLICADAINFORMÁTICA APLICADAINFORMÁTICA APLICADAAULA 02 AULA 02 AULA 02 AULA 02 –––– ALGORITMOSALGORITMOSALGORITMOSALGORITMOS

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO

CURSO: Bacharelado em Ciências e Tecnologia

AULA 02 AULA 02 AULA 02 AULA 02 –––– ALGORITMOSALGORITMOSALGORITMOSALGORITMOS

ProfProfProfProfª Danielle Casilloª Danielle Casilloª Danielle Casilloª Danielle Casillo

Page 2: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

ALGORITMOS

� Um algoritmo é uma sequência de instruções

finita e ordenada de forma lógica para a resolução

de uma determinada tarefa ou problema.

Aula 02 - Algoritmos

� Um algoritmo não é a solução do problema, pois,

se assim fosse, cada problema teria um único

algoritmo; um algoritmo é um caminho para a

solução de um problema.

2

Page 3: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

ALGORITMOS

� Em geral, existem muitos (senão infinitos)

caminhos que levam a uma solução satisfatória.

Aula 02 - Algoritmos

3

Page 4: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

ALGORITMOS NÃO COMPUTACIONAIS

� Um algoritmo não computacional é um algoritmo cuja

sequência de passos, a princípio, não pode ser executada

por um computador.

� Exemplo:

Aula 02 - Algoritmos

4

Page 5: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

ALGORITMOS NÃO COMPUTACIONAIS

� Exemplo:

1. Sacar dinheiro do banco 24 horas

1. Ir até um banco 24 horas

2. Colocar o cartão

Aula 02 - Algoritmos

2. Colocar o cartão

3. Digitar a senha

4. Solicitar a quantia desejada

5. Se o saldo for maior ou igual à quantia desejada,

sacar; caso contrário, mostrar mensagem de

impossibilidade de saque.

6. Retirar o cartão

7. Sair do banco 24 horas.5

Page 6: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

ALGORITMOS NÃO COMPUTACIONAIS

� Exemplo:

1. Fazer um Sanduíche

1. Pegar o pão

2. Cortar o pão ao meio

Pegar a maionese

Aula 02 - Algoritmos

3. Pegar a maionese

4. Passar a maionese no pão

5. Pegar e cortar alface e tomate

6. Colocar alface e tomate no pão

7. Pegar o Hambúrguer

8. Fritar o Hambúrguer

9. Colocar o Hambúrguer no pão

6

Page 7: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

ALGORITMOS NÃO COMPUTACIONAIS

� Você pode estar pensando: “Mas eu realizo essas

atividades de maneira diferente!”

� Esse pensamento é correto, pois às vezes um

problema pode ser resolvido de diversas maneiras,

Aula 02 - Algoritmos

Esse pensamento é correto, pois às vezes um

problema pode ser resolvido de diversas maneiras,

porém, gerando a mesma resposta, ou seja, podem

existir vários algoritmos para solucionar o mesmo

problema.

7

Page 8: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

PORTUGUÊS ESTRUTURADO (PORTUGUÊS ESTRUTURADO (PORTUGUÊS ESTRUTURADO (PORTUGUÊS ESTRUTURADO (PORTUGOLPORTUGOLPORTUGOLPORTUGOL))))

Aula 02 - Algoritmos

� Para que o algoritmo possa ser executado por uma

máquina é importante que as instruções sejam

corretas e sem ambiguidades.

Portanto, a forma especial de linguagem que

8

� Portanto, a forma especial de linguagem que

utilizaremos é bem mais restrita que o Português e

com significados bem definidos para todos os

termos utilizados nas instruções.

Page 9: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

PORTUGUÊS ESTRUTURADO (PORTUGUÊS ESTRUTURADO (PORTUGUÊS ESTRUTURADO (PORTUGUÊS ESTRUTURADO (PORTUGOLPORTUGOLPORTUGOLPORTUGOL))))

� O português estruturado é, na verdade, uma

simplificação extrema do Português, limitada a umas

poucas palavras e estruturas que têm um significado

muito bem definido.

O objetivo do nosso curso é aprender a resolverresolverresolverresolver

Aula 02 - Algoritmos

� O objetivo do nosso curso é aprender a resolverresolverresolverresolver

problemasproblemasproblemasproblemas utilizando a linguagem, Para isso, há

somente um caminho: resolverresolverresolverresolver muitosmuitosmuitosmuitos problemasproblemasproblemasproblemas.... O

processo é semelhante ao de tornar-se competente

em um jogo qualquer: aprender as regras do jogo (a

sintaxe) é só o primeiro passo, tornar-se um bom

jogador (programador) exige tempo, muito exercício e

dedicação. 9

Page 10: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

ALGORITMOS COMPUTACIONAIS

Aula 02 - Algoritmos

� UmUmUmUm programaprogramaprogramaprograma é um conjunto de milhares de

instruções que indicam ao computador, passo a

passo, o que ele tem que fazer.

Logo, um programa nada mais é do que um

10

� Logo, um programa nada mais é do que um

algoritmoalgoritmoalgoritmoalgoritmo computacionalcomputacionalcomputacionalcomputacional descrito em uma

linguagemlinguagemlinguagemlinguagem dededede programaçãoprogramaçãoprogramaçãoprogramação....

Page 11: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

ALGORITMOS COMPUTACIONAIS

� Uma linguagemlinguagemlinguagemlinguagem dededede programaçãoprogramaçãoprogramaçãoprogramação contém os

comandos que fazem o computador escrever algo

na tela, realizar cálculos aritméticos, receber uma

entrada de dados via teclado, e milhares de

Aula 02 - Algoritmos

entrada de dados via teclado, e milhares de

outras coisas, mas estes comandos precisam

estar em uma ordem lógica.

11

Page 12: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

MÉTODO PARA CONSTRUÇÃO DE ALGORITMOS

� Para construção de qualquer algoritmo, é

necessário seguir estes passos:

� Compreender completamente o problema a ser

Aula 02 - Algoritmos

� Compreender completamente o problema a ser

resolvido, destacando os pontos mais importantes

e os objetos que o compõem.

�Definir os dados de entrada, ou seja, quais dados

serão fornecidos.

12

Page 13: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

MÉTODO PARA CONSTRUÇÃO DE ALGORITMOS

�Definir o processamento, ou seja, quais cálculos

serão efetuados. O processamento é responsável

pela transformação dos dados de entrada em

dados de saída.

Aula 02 - Algoritmos

dados de saída.

�Definir os dados de saída.

� Construir o algoritmo.

� Testar o algoritmo realizando simulações.

13

Page 14: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

TIPOS DE ALGORITMOS

� Os três tipos mais utilizados de algoritmos são:

�DescriçãoDescriçãoDescriçãoDescrição NarrativaNarrativaNarrativaNarrativa

� FluxogramaFluxogramaFluxogramaFluxograma

� PseudocódigoPseudocódigoPseudocódigoPseudocódigo ouououou PortugolPortugolPortugolPortugol ouououou PortuguêsPortuguêsPortuguêsPortuguês

Aula 02 - Algoritmos

� PseudocódigoPseudocódigoPseudocódigoPseudocódigo ouououou PortugolPortugolPortugolPortugol ouououou PortuguêsPortuguêsPortuguêsPortuguês

EstruturadoEstruturadoEstruturadoEstruturado

14

Page 15: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

� Consiste em analisar o enunciado do problema e

escrever, utilizando uma linguagem natural (por

exemplo, a língua portuguesa), os passos a serem

seguidos para sua resolução.

Aula 02 - Algoritmos

DESCRIÇÃO NARRATIVA

seguidos para sua resolução.

� VantagemVantagemVantagemVantagem:::: Não é necessário aprender nenhum

conceito novo, pois é a linguagem natural.

15

Page 16: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

DESCRIÇÃO NARRATIVA

� Exemplo:

1.1.1.1. SomarSomarSomarSomar trêstrêstrêstrês númerosnúmerosnúmerosnúmeros

1. Recebe os três números

2. Somar os três números

Aula 02 - Algoritmos

2. Somar os três números

3. Mostrar o resultado obtido

16

Page 17: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

FLUXOGRAMA� Utiliza símbolos gráficos predefinidos para a resolução do problema.

Aula 02 - Algoritmos

17

Page 18: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

FLUXOGRAMA

� ExemploExemploExemploExemplo:::: SomarSomarSomarSomar trêstrêstrêstrês númerosnúmerosnúmerosnúmeros

Aula 02 - Algoritmos

18

Page 19: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

PORTUGUÊS ESTRUTURADO

� Consiste em analisar o enunciado do problema e

escrever, por meio de regras predefinidas, os

passos a serem seguidos para sua resolução.

Aula 02 - Algoritmos

� VantagemVantagemVantagemVantagem:::: A passagem do algoritmo para

qualquer linguagem de programação é quase

imediata, bastando conhecer as palavras

reservadas dessa linguagem que serão

utilizadas.

19

Page 20: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

PORTUGUÊS ESTRUTURADO

� A estrutura geral de um algoritmo é:

Aula 02 - Algoritmos

Algoritmo "<nome do algoritmo>"Algoritmo "<nome do algoritmo>"Algoritmo "<nome do algoritmo>"Algoritmo "<nome do algoritmo>"

varvarvarvar

20

varvarvarvar

< declaração de variáveis>

inicioinicioinicioinicio

< lista de comandos>

fimalgoritmofimalgoritmofimalgoritmofimalgoritmo

Page 21: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

PORTUGUÊS ESTRUTURADO� ExemploExemploExemploExemplo:::: SomarSomarSomarSomar trêstrêstrêstrês númerosnúmerosnúmerosnúmeros

Aula 02 - Algoritmos

ALGORITMOALGORITMOALGORITMOALGORITMO SomaSomaSomaSoma

varvarvarvar

A,A,A,A, B,B,B,B, C,C,C,C, DDDD:::: inteirointeirointeirointeiro

inicioinicioinicioinicio

escrevaescrevaescrevaescreva (“Digite(“Digite(“Digite(“Digite oooo valorvalorvalorvalor dededede AAAA:::: ”)”)”)”)

21

escrevaescrevaescrevaescreva (“Digite(“Digite(“Digite(“Digite oooo valorvalorvalorvalor dededede AAAA:::: ”)”)”)”)

leialeialeialeia (A)(A)(A)(A)

escrevaescrevaescrevaescreva (“Digite(“Digite(“Digite(“Digite oooo valorvalorvalorvalor dededede BBBB:::: ”)”)”)”)

leialeialeialeia (B)(B)(B)(B)

escrevaescrevaescrevaescreva (“Digite(“Digite(“Digite(“Digite oooo valorvalorvalorvalor dededede CCCC:::: ”)”)”)”)

leialeialeialeia (C)(C)(C)(C)

DDDD <<<<---- AAAA ++++ BBBB ++++ CCCC

escrevaescrevaescrevaescreva (“D=(“D=(“D=(“D= ”,”,”,”, D)D)D)D)

fimalgoritmofimalgoritmofimalgoritmofimalgoritmo

Page 22: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

EXERCÍCIOS

Aula 02 - Algoritmos

1. Faça um algoritmo para mostrar o resultado da

multiplicação de dois números (Descrição

Narrativa, Fluxograma e Pseudocódigo):

22

a) Descrição Narrativa:

1. Receber os números que serão multiplicados

2. Multiplicar os números

3. Mostrar o resultado obtido na multiplicação

Page 23: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

EXERCÍCIOS

b) Fluxograma:

Aula 02 - Algoritmos

23

Page 24: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

EXERCÍCIOS

c) Pseudocódigo

Aula 02 - Algoritmos

ALGORITMOALGORITMOALGORITMOALGORITMO MultiplicacaoMultiplicacaoMultiplicacaoMultiplicacao

varvarvarvar

M,M,M,M, NNNN1111,,,, NNNN2222:::: inteirointeirointeirointeiro

inicioinicioinicioinicio

24

inicioinicioinicioinicio

escrevaescrevaescrevaescreva (“Digite(“Digite(“Digite(“Digite oooo valorvalorvalorvalor dededede NNNN1111:::: ”)”)”)”)

leialeialeialeia (N(N(N(N1111))))

escrevaescrevaescrevaescreva (“Digite(“Digite(“Digite(“Digite oooo valorvalorvalorvalor dededede NNNN2222:::: ”)”)”)”)

leialeialeialeia (N(N(N(N2222))))

MMMM <<<<---- NNNN1111 **** NNNN2222

escrevaescrevaescrevaescreva (“M(“M(“M(“M ==== ”,”,”,”, M)M)M)M)

fimalgoritmofimalgoritmofimalgoritmofimalgoritmo

Page 25: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

EXERCÍCIOS

2. Faça um algoritmo para mostrar o resultado da

divisão de dois números (Descrição Narrativa,

Fluxograma e Pseudocódigo)

Aula 02 - Algoritmos

25

Page 26: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

EXERCÍCIOS

3. Faça um algoritmo em Descrição Narrativa,

Fluxograma e Pseudocódigo para calcular a

média aritmética de um aluno e mostrar a

situação, que pode ser aprovado ou reprovado.

Aula 02 - Algoritmos

situação, que pode ser aprovado ou reprovado.

a) Descrição Narrativa

1. Receber as duas notas

2. Calcular a média aritmética

3. Mostrar a média aritmética

4. Se a média for maior ou igual a 7, então a situação

do aluno é aprovado; caso contrário, a situação é

reprovado.26

Page 27: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

EXERCÍCIOS

b) Fluxograma

Aula 02 - Algoritmos

27

Page 28: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

EXERCÍCIOSc) Pseudocódigo

Aula 02 - Algoritmos

ALGORITMOALGORITMOALGORITMOALGORITMO MediaMediaMediaMedia

varvarvarvar

M,M,M,M, NNNN1111,,,, NNNN2222:::: realrealrealreal

inicioinicioinicioinicio

escrevaescrevaescrevaescreva (“Digite(“Digite(“Digite(“Digite oooo valorvalorvalorvalor dededede NNNN1111:::: ”)”)”)”)

leialeialeialeia (N(N(N(N1111))))

28

leialeialeialeia (N(N(N(N1111))))

escrevaescrevaescrevaescreva (“Digite(“Digite(“Digite(“Digite oooo valorvalorvalorvalor dededede NNNN2222:::: ”)”)”)”)

leialeialeialeia (N(N(N(N2222))))

MMMM <<<<---- (N(N(N(N1111 ++++ NNNN2222)))) //// 2222

escrevaescrevaescrevaescreva (“M(“M(“M(“M ==== ”,”,”,”, M)M)M)M)

sesesese (M(M(M(M >=>=>=>= 7777)))) entaoentaoentaoentao

escreva(“escreva(“escreva(“escreva(“ OOOO alunoalunoalunoaluno estaestaestaesta AprovadoAprovadoAprovadoAprovado ")")")")

senaosenaosenaosenao

escreva(“escreva(“escreva(“escreva(“ OOOO alunoalunoalunoaluno estaestaestaesta ReprovadoReprovadoReprovadoReprovado ")")")")

fimsefimsefimsefimse

fimalgoritmofimalgoritmofimalgoritmofimalgoritmo

Page 29: Aula 02 -Algoritmos - ufersa.edu.br · INFORMÁTICA APLICADA AULA 02 –––ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: ... EXERCÍCIOS c) Pseudocódigo Aula 02

EXERCÍCIOS

4. Faça um algoritmo (Descrição Narrativa,

Fluxograma e Pseudocódigo) para calcular o novo

salário de um funcionário. Sabe-se que os

funcionários que recebem atualmente salário de

Aula 02 - Algoritmos

funcionários que recebem atualmente salário de

até R$500,00 terão aumento de 20%; os demais

terão aumento de 10%.

29