Você está na página 1de 22

Capitulo II – Algoritmos e Programação

Estruturada
RESPONDA ATRAVÉS DO QR CODE O
QUE VOCÊ ESTÁ VENDO NA FIGURA?
Algoritmos
Algoritmo é uma sequência finita de instruções, utilizadas para resolver um problema.

Exemplo: Dirigir até uma lanchonete e almoçar.


O que é preciso fazer para realizá-la?

1º Passo: Saia de casa.


2º Passo: Entre no carro.
3 º Passo: Se a garagem estiver aberta, saia. Senão, abra-a e saia.
4 º Passo: Dirija até o local desejado.
5º Passo: Se chegou, estacione o carro. Senão, continue até chegar e estacionar.
6 º Passo: Se estacionou, retire a chave da ignição e saia do carro.
7 º Passo: Tranque o carro e dirija-se à lanchonete.
8 º Passo: Se a lanchonete estiver aberta, entre e dirija-se ao caixa. Senão, volte para o carro. Procure outra lanchonete
aberta, entre e dirija-se ao caixa.
9º Passo: Faça o pedido e efetue o pagamento.
10º Passo: Aguarde.
11º Passo: Se o número de seu pedido for chamado, dirija-se ao caixa e pegue sua refeição. Senão, aguarde ser
chamado e pegue-a.
12 º Passo: Procure um lugar para sentar e coma.
13 º Passo: Se estiver satisfeito, jogue o resto na lixeira. Senão, faça outro pedido e coma.
14º Passo: Saia da lanchonete e dirija-se ao carro.
15 º Passo: Entre, ponha o sinto de segurança e vá para casa.
Algoritmos como modelos de lógica para serem bases para se codificar um programa
de computador.

• São aqueles que buscam resolver problemas através do uso de um computador.

• São criados com base em uma linguagem de programação e podem ser escritos de
diversas formas.

• Um algoritmo pode ser representado pelo chamado Português Estruturado


(Portugol) , que é uma ferramenta que usa combinações de sequências, seleções e
repetições.

• São evitados advérbios e adjetivos, formas verbais diferentes da imperativa, muita


 * Copyright (C) 2014 - UNIVALI - Universidade do Vale do Itajaí
 *
  * Descrição:  Este exemplo utiliza um laço de repetição e uma variável para exibir uma  contagem regressiva na tela.
 *  
 * Autores:  Giordana Maria da Costa Valle e  Carlos Alexandre Krueger
  */

programa
{
  inclua biblioteca Util
  funcao inicio()
 {
    inteiro contador = 10
    enquanto (contador > 0)
  {
      limpa()
      escreva ("Detonação em: ", contador)
          contador = contador - 1
        Util.aguarde(1000) // Aguarda 1000 millisegundos (1 segundo)
  }
    limpa()
    escreva ("Booom!\n")
 }
}
 * Copyright (C) 2014 - UNIVALI - Universidade do Vale do Itajaí
 *
  * Descrição:  Este exemplo utiliza um laço de repetição e uma variável para exibir uma  contagem regressiva na tela.
 *  
 * Autores:  Giordana Maria da Costa Valle e  Carlos Alexandre Krueger
  */

programa {
  inclua biblioteca Util
  funcao inicio()   {
   inteiro contador = 10
   enquanto (contador > 0) { limpa()
    escreva ("Detonação em: ", contador)
      contador = contador - 1
     Util.aguarde(1000) // Aguarda 1000 millisegundos (1 segundo)}
    limpa()
    escreva ("Booom!\n")
 }
}
Exercicio 3
• TESTE, um de cada vez, OS ALGORITMOS dos slides anteriores (ou nos anexos)
programados no PORTUGOL WEBSTUDIO

• Responda : Os dois fizeram a mesma coisa, são iguais?

• ALTERE Os ALGORITMOs PARA QUE A DETONAÇÃO OCORRA EM 5 PASSOS E EM


VEZ DE BOOOM ESCREVA “DANE-SE”.

• Responda : A manutenção nos dois tem o mesmo grau de dificuldade?

• Coloque suas respostas no BLOG


Passos importantes para a escrita de um algoritmo
computacional:

1.Preste atenção à ordem lógica da execução das tarefas;


2.Lembre-se de que ele deve ter um início e fim;
3.Ele deve ser completo;
4.Deve ter um alto nível de detalhes;
5.Cada tarefa é uma instrução, assim, defina-a bem.
EXERCÍCIO 2

Elabore um algoritmo no Portugol Web


Studio para ler um número e imprimir
os seguintes resultados : o número lido
ao quadrado ou o número lido vezes 6
ou o número lido somado a 20.
PARADIGMAS DE PROGRAMAÇÃO
• Paradigma é a “filosofia” adotada na construção do software.

• É o estilo ou padrão ou modelo de programação.

• Há vários paradigmas de programação, aplicados de acordo com o


domínio do problema que se quer resolver:

 Funcional - foco na avaliação de funções


 Lógico - utilizado em inteligência artificial (avaliações lógico-matemáticas)
 Declarativo - descrevem o que fazer e não como suas instruções funcionam
(HTML).
 Estruturado ou Imperativo - focado na mudança de estados de variáveis.
 Orientado a objetos - utiliza lógica bem próxima do mundo real, lidando com
objetos, estruturas que já conhecemos no nosso dia-a-dia 
 Orientado a eventos - o fluxo de execução do software é baseado na ocorrência de
eventos externos, normalmente disparados pelo usuário.
O Paradigma Estruturado
• Leva em consideração que o mais importante no programa é o algoritmo, ou seja o
conjunto de ações.

• Um programa é uma seqüência de instruções que realiza operações sobre um conjunto de


dados

• Este paradigma também é denominado de procedural, por incluir subrotinas ou


procedimentos como mecanismo de estruturação.

• Implementar um programa neste paradigma significa:


• Organizá-lo em um conjunto de tarefas
• Que devem ser realizadas sobre os dados que compõem o problema.
Programação Estruturada
A programação estruturada estabelece uma forma de desenvolvimento de algoritmos utilizando-se:
Estruturas básicas de controle e Subprogramação(ou modularização) .

As Estruturas Básicas de Controle: sequência, condição e repetição.


Exercicio 3

Use o Portugol Web Studio para elaborar um programa


que leia uma data de Nascimento (o primeiro numero
é o dia, o Segundo é o mes e o terceiro é o ano) e
calcule e escreva qual a idade da pessoa hoje.
Programação Estruturada
Exercicio 4

Use o Portugol Web Studio para elaborar um programa


que leia uma data de Nascimento (o primeiro numero
é o dia, o Segundo é o mes e o terceiro é o ano) e
calcule e escreva qual a idade da pessoa hoje.
Se a idade for maior ou igual do que 18 anos escreva
“Adulto” e se for menor do que 18 anos escreva
“Menor de Idade”.
Programação Estruturada
Exercicio 5

Use o Portugol Web Studio para elaborar um programa


que leia uma data de Nascimento (o primeiro numero
é o dia, o Segundo é o mes e o terceiro é o ano) e
calcule qual a idade da pessoa hoje. Após isso, escreva
todas as idades até a idade referente a Data de
Nascimento lida.
Programação Estruturada
Subprogramação (ou modularização).

À medida que os programas vão se tornando maiores e mais complexos, é possível simplificar
e melhorar a clareza dividindo o programa em partes menores, chamadas subprogramas.

Um subprograma, é um nome dado a um trecho de um programa mais complexo e que, em


geral, encerra em si próprio um pedaço da solução de um problema maior (o programa a que
ele está subordinado).

São sinônimos usados na engenharia de software para o conceito de subprograma:


procedimento, função, módulo (estrutura modular), métodos (orientação a objetos) e
subrotina.
programa
{

E   funcao inicio()
  { mensagem("Bem Vindo")  // Chama a função mensagem
    escreva("O resultado do primeiro cálculo é: ", calcula (3.0, 4.0))     // Chama a função calcula    

X     escreva("\nO resultado do segundo cálculo é: ", calcula (7.0, 2.0), "\n")  // Chama a função calcula    
   mensagem("Tchau")  // Chama o procedimento
 }

E
 
funcao mensagem (cadeia texto)
  { inteiro i

M
    // Insere uma linha antes do texto da mensagem    
    para(i = 0; i < 50; i++)
   { escreva ("-") }
    escreva ("\n", texto, "\n") // escreve a mensagem

P     // Insere uma linha após do texto da mensagem


    para(i = 0; i < 50; i++)
   { escreva ("-") }

L     escreva("\n")
 }

O   funcao real calcula (real a, real b)


 {
    real resultado
    resultado = a * a + b * b
    retorne resultado
 }
}
Módulos

A possibilidade de particionar um programa em


módulos combináveis através de um ligador permite:

• Agrupar num módulo funções afins,

• A reutilização desses módulos.


Exercicio 6

Use o Portugol Web Studio para elaborar um programa


que leia uma data de Nascimento (o primeiro numero
é o dia, o Segundo é o mes e o terceiro é o ano) e,
USANDO UMA FUNÇÃO CALCIDADE, calcule qual a
idade da pessoa hoje. Após acionar e receber a idade
imprima o valor da idade.

Você também pode gostar