Publicado por: Elzo Brito | 08/01/2009

Algoritmos e lógica de programação

O que é Algoritmo?

Em uma comparação bem simples, mas que eu acho muito direta é comparar algoritmo com uma receita, pois algoritmos são os passos a serem seguidos para se chegar a solução de um problema, logo a comparação com uma receita é valida pois seguimos passo a passo uma receita para fazer um determinado prato, e nos algorimos seguimos passo a passo algumas intruções para resolver um problema.

O uso de algorimos é tão antigo quanto a matemática. Com o passar do tempo entretanto ele foi bastante esquecido pela matemática. Com o advento das máquinas de calcular e mais tante os computadores, o uso de algoritmos ressurgiu com grande vigor, como uma forma de indicar o caminho para a solução dos mais variados problemas.
Um algoritmo deve sempre possuir pelo menos um resultado, normalmente chamado de saída, e satisfazer a propriedade da efetividade, isto é todas as operações especificadas no algoritmos devem ser suficientemete básicas para que possam ser executadas de maneira exata e num tempo finito.

Para se ter um algoritmo, é necessario.

  1. Ter um número finito de passos.
  2. Cada passo tem que ser precisamente definido, sem ambiguidades.
  3. Existir zero ou mais entradas tomadas de conjunto bem definidas.
  4. Existir uma ou mais saídas.
  5. Existir uma condição para indicar o fim do algoritmo para qualquer entrada num tempo finito.

Formas de representação de algoritmos.

existem diversas formas para se representar um algoritmo, você pode escolher simplesmente a que melhor você entende.

Algumas formas de representação de algortimos tratam de problemas apenas em nível lógico outras tratam da representação com uma riqueza maior de detalhes.

Dentre as formas de representação de algortimos mais conhecidas, sobresaltam:

  • Fluxograma Convencional.
  • Diagrama de Chapin.
  • Pseudocódigo, Linguagem estruturada, Portugol.


Fluxograma Convencional

Esta forma de representação de algoritmos emprega várias formas geométricas para descrever cada uma das possíveis ações durante a execução do algoritmos. Existem algumas formas geométricas que são empregadas normalmente e que estão mostradas na Figura abaixo. Cada uma destas formas se aplica a uma determinada ação como está indicado. Existem outras formas que podem ser aplicadas, no entanto nesta apostila estas formas serão suficientes para os exemplos que serão mostrados.

Vamos então a um exemplo mais prático de como usar fluxogramas, pensem comigo, Domingão você acorda, toma café aí dá uma olhada no dia, é dia de sol? sim? vamos para a praia ou não, não tem sol, então vamos ler jornal, aí a patroa chama para ir no cinema, depois do voltamos para casa e jantamos e vamos dormir porque o domingo já acabou, humm, mais como fazer isso dái em fluxograma?? veja na imagem abaixo:

Simples não? você deve estar falando: é esse daí é fácil mas um programa real? duvido que você consiga mostrar isso em um programa real, vou te mostrar que não, que é bem simples, que tal o calculo de uma equação do primeiro grau? opis bem vamos lá.

a equação de primeiro grau é assim aX + b = 0, se A diferente de 0 então X = -(b/a)

vamos ao fluxograma:

Diagrama de Chapin

Este diagrama foi originalmente criado, Nassi e Shneiderman e porteriormente melhorado por Ned Chapin, sua representação é feita em blocos por uma diagramaçao com quadros que oferecem ao leitor uma visão hierárquica e bem estruturada da lógica utilizada no programa, veja um exemplo:

Este programa funciona da seguinte forma, ele pergunta ao usuário sua idade, se a idade do usuário for menor que 25 ele escreve você é jovem, se for maior que 25 ele escreve você é velho.

Vamos agora a uma comaração entre o diagrama de chapin e o fluxograma, vimos um exemplo de como utilizar o diagrama de chapin para representar nossos programas, vou mostrar o mesmo exemplo utilizando fluxogramas.

Agora você pode tirar suas conclusões de qual ferramenta é a melhor para representar seus programas.

Pseudocódigo, Linguagem estruturada, Portugol

Está forma de representação consiste na descrição estruturada definidadas por meio de regras quais são os passos necessários para a resolução do problema. A linguagem Estruturada utiliza a linguagem natural para representar o raciocínio, no nosso caso utilizaremos o português estruturado.

vantagens na utilização do português estruturado.

  • facilitar o desenvolvimento dos algoritmos;

  • facilitar o seu entendimento pelo ser humano;

  • antecipar à depuração (localização de erros) em sua lógica;

  • facilitar a sua manutenção e modificação;

  • facilitar e agilizar a sua codificação (escrita do programa);

  • permitir o desenvolvimento simultâneo de vários profissionais (trabalho em equipe).

Estrutura Básica

Todo programa representado pelo Português Estruturado deve conter seguir a seguinte estrutura:

  • PROGRAMA nome_do_proagrama
  • Var nome_das_variáveis: tipo das variaveis
  • INICIO
  • FIM.

Vamos a um exemplo de português estruturado.

  • PROGRAMA Velho_ou_Novo;
  • var idade : inteiro;
  • INICIO
  • Escreva “Informe sua idade”
  • Leia idade
  • se idade < 25 então
  • escreva “você é jovem”
  • senão
  • escreva “você é velho”
  • FIM

Tipos de dados

Os algoritmos sempre irão manipular os dados, que irão ser fornecidos pelos usuários, mas a pergunta que não quer calar é: Quais os tipos de dados podemos manipular? Normalmente as linguagens de programação estabelecem regras para definir o tipo de dado que elas irão manipular, no português estruturado também existem regras que definem que tipo de dado podemos ou não manipular.

Existem 3 tipos básicos de dados, eles são:

  • dados numéricos
  • Dados literais ou alfa-numéricos
  • Dados lógicos

Dados numéricos

Os dados numéricos se dividem em 2 tipos de dados, Inteiro e Real, com esses dois tipos podemos representar qualquer número.

Números inteiros são:

  • -3
  • +5
  • -138

Números Reais são:

  • +0.5
  • -0.5
  • -66.542

Dados literais ou alfa-numéricos

Dados literais servem para tratamento de textos, um algoritmo pode precisar imprimir algum aviso ou mesmo no nome do usuário. Este tipo de dado pode ser composto por apenas um caracter ou por um conjunto de caracteres, esses conjuntos de caracteres são conhecidos por String.

Os caracteres que normalmente são usamos nos algoritmos são:

Letras maiúsculas:
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
Letras minúsculas:
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
Algarismos:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Caracteres de pontuação:
; | : | ! | ? | * | ( | ) | \ | / | + | - | = | < | >

Cosntantes Caracter

Caracteres podem aparecer sozinhos, e neste caso são chamados de constante caracter e são representados entre o caracter [apóstrofe] ‘. Abaixo mostramos exemplos de constantes caracter:

  • ‘a’
  • ‘A’
  • ‘;’
  • ‘+’

Cadeias de Caracter

Cadeias de caracteres são conjuntos de um ou mais caracteres e são cercados pelo caracter [aspas] “. Por exemplo:

  • “Linguagem de programação”
  • “Qual é o seu nome?”
  • “0123456789″

Dados Lógicos

Este tipo de dado é normamente usado em tomadas de decisões, este tipo de dado é conhecido também como Booleano por causa do Geoge Boole o matemático que deu o nome a álgebra booleana.

Os dados lógicos ou Booleano podem somente assumir os valores: Verdadeiro ou Falso

Variáveis

As variáveis são os nomes que damos as posições da memoria, deste modo os programadorees tem mais facilidade em contruir os algoritmos.

Existem algumas regras para a nomeação das variáveis, o nome de uma variável é constituido por uma letra ou um conjunto de caracteres, exemplos de alguns nomes válidos:

  • x
  • i
  • nota1
  • nome

O nome de uma variável nunca poderá conter espaços em branco, ter o primeiro caractere como um número ou conter caracteres especiais como @#$%&!

Exemplos de nomes Inválidos:

  • primeiro nome
  • $dinheiro
  • 1nota

Exercicios

Tentem resolver estes exercicios, qualquer dúvida mandem e-mail.

LISTA DE EXERCÍCIOS

1) Construa um FLUXOGRAMA que:

* Leia a cotação do dólar
* Leia um valor em dólares
* Converta esse valor para Real
* Mostre o resultado

2) Desenvolva um FLUXOGRAMA que:

* Leia 4 (quatro) números
* Calcule o quadrado para cada um
* Some todos e números
* Mostre o resultado

3) Construa um FLUXOGRAMA para pagamento de comissão de vendedores de peças, levando-se em consideração que sua comissão será de 5% do total da venda e que você tem os seguintes dados:

* Identificação do vendedor
* Código da peça
* Preço unitário da peça
* Quantidade vendida

4) Desenvolva um FLUXOGRAMA que:

1. Solicite ao usuário que ele digite um número inteiro
2. Faça a leitura do número digitado
3. Registre a leitura feita
4. Imprima o número lido
5. Volte ao passo 1

Quando o usuário digitar o número -99999 (flag), as leituras são encerradas e o fluxograma imprime o total de leituras feita. Faça um teste de mesa para a seguinte seqüência de dados digitados: 0, 45, 34, 19, 56, 7, -99999.

5) Desenvolva um FLUXOGRAMA que:

1. Solicite ao usuário que ele digite um número inteiro
2. Faça a leitura do número digitado
3. Registre a leitura feita
4. Imprima o número lido
5. Volte ao passo 1

O fluxograma deverá ser projetado para somente dez leituras sucessivas. Ao final das leituras o fluxograma imprime o total de leituras feita. Faça um teste de mesa para a seguinte seqüência de dados digitados: 0, 45, 34, 19, 56, 7, -99999, 56, 23, 1.

6) Desenvolva um FLUXOGRAMA que:

1. Solicite ao usuário que ele digite um número inteiro
2. Faça a leitura do número digitado
3. Some cada número lido
4. Registre a leitura feita
5. Imprima o número lido
6. Volte ao passo 1

O fluxograma deverá ser projetado para somente dez leituras sucessivas. Ao final das leituras o fluxograma imprime o soma dos números lidos. Faça um teste de mesa para a seguinte seqüência de dados digitados: 0, 45, 34, 19, 56, 7, -99, 56, 2, 1.

7) Desenvolva um FLUXOGRAMA que obtenha e imprima a seqüência numérica mostrada a seguir. S= { 100, 98, 96, 94, 96, …, 6, 4, 2, 0}.

Quando terminarem esses tentem esses aqui.

LISTA DE EXERCÍCIOS

1. Faça um fluxograma que leia três números, calcule e mostre a multiplicação desses números.

2. Faça um fluxograma que receba dois números, calcule e mostre a divisão do primeiro número pelo segundo. Sabe-se que o segundo numero não pode ser zero, portanto não e necessário se preocupar com validações.

3. Faça um fluxograma que receba que receba duas notas, calcule e mostre a média ponderada dessas notas, considerando peso 2 para a primeira nota e peso 3 para a segunda nota.

4. Faça um fluxograma que receba o preço de um produto, calcule e mostre o novo preço, sabendo-se que o produto sofreu um desconto de 10%.

5. Um funcionário recebe um salário fixo mais 4% de comissão sobre as vendas. Faça um fluxograma. Que receba o salário fixo de um funcionário e o valor de suas vendas, calcule e mostre a comissão e o salário final do funcionário.

6. Faça um fluxograma que receba o peso de uma pessoa, calcule e mostre:

a) O novo peso se a pessoa engordar 15% sobre o peso digitado;

b) O novo peso se a pessoa emagrecer 20% sobre o peso digitado.

7. Faça um fluxograma que receba o peso de uma pessoa em quilos, calcule e mostre esse peso em gramas.

8. Faça um fluxograma que calcule e mostre a área de um trapézio.

Sabe-se que: A = ((base maior + base menor) * altura) /2

9. Faça um fluxograma que calcule e mostre a área de um quadrado. Sabe-se que: A = Lado * Lado

10. Faça um fluxograma que calcule e mostre a área de um losango.

Sabe-se que: A = (diagonal maior * diagonal menor) /2


Respostas

  1. bom dia gostaria se alguem me ajudsse a resolver este fluxograma
    exercicio sua calculadora só faz contas de soma e subtraçao voce tenque resolver o cubo do numero . para elaborar este fluxogramavoce deve utilizar a maxima da matematica que diz que o numero inteiro elevado ao quadrado representa o numero de vezes que devemos somar esse numero para obter o seu cubo

    fico grado a quem poder me ajudar

  2. Que erros feios estes heim!!!:

    bom dia gostaria se alguem me “AJUDSSE” a resolver este fluxograma
    exercicio sua calculadora só faz contas de soma e subtraçao voce “TENQUE” resolver o cubo do numero . para elaborar este “FLUXOGRAMAVOCÊ” deve utilizar a maxima da matematica que diz que o numero inteiro elevado ao quadrado representa o numero de vezes que devemos somar esse numero para obter o seu cubo

    fico “GRADO” a quem poder me ajudar.

    VOU TE AJUDAR, MAIS SERÁ NO SEU PORTUGUÊS! ENTÃO VAMOS LÁ:

    1ª PALAVRA – AJUDSSE” = CORRETO = AJUDASSE

    2ª PALAVRA – “TENQUE” = CORRETO= TEM QUE

    3ª PALAVRA – “FLUXOGRAMAVOCÊ” = CORRETO = FLUXOGRAMA, VOCÊ

    4ª PALAVRA – “GRADO” = CORRETO= GRATO

    E O PIOR, “FICO GRADO A QUEM PODER ME AJUDAR”!!! ESTA ERRADÍSSIMO!!! O CERTO É:

    FICAREI GRATO A QUEM PUDER ME AJUDAR.

  3. Porfavor peco que me enviem a resolucao destes exercicios para puder estudar melhor e comparar com os meus resultados. porfavor fico a esperade alguma noticia

    • mas a idéia é justamente você tentar responder, e tirar suas dúvidas comigo…

  4. olá estou com muita duvida nesses exercícios ..estou muito confusa eu nem sei por onde começar..e o problema é que tenho prova hj..aguardando resposta

  5. olá! tenho duvidas com relaçao a variaveis indexadas, com relacao a logica.. e tal. qual um macete para que eu possa resolve-las? obrigada.


Deixe uma resposta

Sua resposta:

Categorias