Anda di halaman 1dari 20

Algoritmos e Programação

Prof. Tarcio Carvalho


Conceito de Lógica

A utilização da lógica na vida do indivíduo é constante, visto que é ela quem possibilita a
ordenação do pensamento humano.

FORBELLONE, 1993

Exemplo:

• A gaveta está fechada;

• A caneta está dentro da gaveta;

• Precisamos primeiro abrir a gaveta depois pegar a caneta.

Algoritmo

• Passos para a solução de um problema.

• Algoritmo e uma seqüência de passos que visam atingir um objetivo bem definido.

FORBELLONE, 2005

Criando um algoritmo para resolver um problema do dia-a-dia:

Problema: Trocar lâmpada queimada.

• Pegue uma escada;

• Posicione-a embaixo da lâmpada;

• Busque uma lâmpada nova;

• Suba na escada;

• Retire a lâmpada velha;

• Coloque a lâmpada nova.

Um algoritmo deve ser estruturado de forma que contemple todas as situações possíveis
durante o processo, utilizando o raciocínio lógico para criar uma seqüência de passos para resolver
um problema. Um algoritmo tem por objetivo representar mais fielmente o raciocínio envolvido na
Lógica de Programação, obedecendo os seguintes princípios:

• Coerência.

• Racionalidade.

• Por que fazer de uma forma e não de outra?

• Arte do bem pensar.

• Ordem no pensamento.

1. Formas de representação de um algoritmo

1.1. Descritiva

Nessa forma de representação, analisamos o enunciado do problema e,


simplesmente, descrevemos a seqüência de passos em nossa língua nativa (em nosso
caso, o português).

Exemplo:

Media

Inicio

leia a primeira nota

leia a segunda nota

soma primeira nota com a segunda

divide a soma das notas por 2

mostrar a media

Fim
1.2. Fluxograma

Nessa forma de representação, escrevemos o algoritmo utilizando símbolos


gráficos predefinidos, enfatizando os passos individuais e suas interconexões.

Início ou fim do algoritmo

Indica o sentido do fluxo de execução do algoritmo.


Conecta os objetos gráficos

Representa a entrada de dados

Indica cálculos e atribuições de valores (processamento)

Indica desvios ou tomadas de decisões (Por exemplo: SE


isso, ENTÃO aquilo)

Representa a saída de dados, no Portugol IDE

Também representa a saída de dados

Exemplo do fluxograma de um algoritmo recebe valores e processa a média


dos mesmo:
1.3. Pseudocódigo.

Pseudocódigo ou portugol, podemos nos referir a essa forma de representação de outras


maneiras, como: português estruturado, linguagem estruturada ou pseudolinguagem.
O pseudocódigo obedece a regras predefinidas de estrutura para descrever um algoritmo.
O pseudocódigo é uma combinação das melhores características das duas formas de representação
anteriores.

Vantagem - utilização do pseudocódigo é que, mesmo sendo independente de qualquer linguagem


de programação, sua estruturação facilita a transcrição do algoritmo criado para o código, pode
definir quais os dados a ser utilizados e como eles vão estar estruturados, além de utilizar o
português como base.

Exemplo:

inicio
{
real nota1, nota2, media

escreva ("Digite a primeira nota: ")


leia (nota1)

escreva ("Digite a primeira nota: ")


leia (nota2)

media=(nota1+nota2)/2

escreva("A média é: ",media )

}
}

Fases de um Algoritmo

• Entradas: dados que alimentam o sistema, inseridos pelo usuário.

• Processamento: Cálculos e manipulação dos dados de entrada .

• Saída: resultado obtido do processamento dos dados.

• Teste de mesa: e uma execução das três fases, verificando o funcionamento na pratica das
instruções executadas.
2. Tipos de dados
2.1. Tipo Inteiro

Os números inteiros são de 32 bits com completo de dois constituidos dos números naturais
positivos {1,2,3, ...}, negativos {-1, -2, -3, ...} e zero {0}.
O tipo de dado inteiro pode ser representado nas notações decimal, hexadecimal e binária.
Exemplo:

2.2. Tipo Cadeia


Cadeia é uma sequência ordenada de caracteres (símbolos) escolhidos a partir de um conjunto pré-
determinado.
O tipo cadeia deve estar acompanhado de aspas duplas.
Quando \n aprece em uma cadeia e gerada uma quebra de linha no texto
Exemplo:

2.3. Tipo Real

Pode-se pensar em um número real como uma fração decimal possivelmente infinita, como por
exemplo o número PI 3.1415926535
Os valores do tipo de dado real são números separados por ponto (.) como por exemplo 1.3333
Quando um valor do tipo real aparece em uma expressão aritmética que contém valores do tipo
inteiro o resultado da expressão é um valor do tipo real

Exemplo:
3. Operadores Aritméticos
O conjunto de símbolos que representa as operações básicas da matemática.

3.1. Operadores relacionais


Utilizamos os operadores relacionais para realizar comparações entre dois valores de mesmo tipo
primitivo .

4. Tipos de dados e Variáveis

4.1. Variável

• Uma informação é classificada como variável quando tem a possibilidade de ser alterada em
algum instante no decorrer do tempo.

• Expressões que podem conter ou armazenas valores.

Exemplo: A cotação do dólar, o peso de uma pessoa, o índice da inflação.


4.2. Declaração de Variáveis

Quando nos referimos à variável, do ponto de vista da programação de computadores, estamos


tratando de uma “região de memória (do computador) previamente identificada cuja finalidade é
armazenar os dados ou informações de um programa por um determinado espaço de tempo”.

O computador armazena os dados nessas divisões, sendo que em cada divisão só é possível
armazenar um dado e toda vez que o computador armazenar um dado em uma dessas divisões, o
dado que antes estava armazenado é eliminado. O conteúdo pode ser alterado, mas somente um
dado por vez pode ser armazenado naquela divisão.

Uma variável é composta por dois elementos básicos: o tipo que a variável pode armazenar e seu
identificador, nome dado à variável para possibilitar sua utilização.

O local onde a variável é declarada define seu escopo.

Exemplo:
4.3. Declaração de Vetor

Vetor é uma das mais simples estruturas de dados. Os vetores mantêm uma série de elementos de
dados do mesmo tipo de dado.

Elementos individuais são acessados por sua posição no vetor. A posição é dada por um índice. O
índice utiliza uma sequência de números inteiros começando por zero.

Sua declaração é similar à declaração de variáveis, definindo primeiro o seu tipo, em seguida do seu
nome e por fim a sua dimensão.

É possível inicializar o vetor durante sua declaração, esta inicialização deve possuir a mesma
quantidade de elementos especificadas na declaração.

Exemplo:
5. Estruturas de Controle

5.1. Estrutura de seleção


Permite a escolha de um grupo de ações (bloco) a ser executado quando determinadas
condições, representadas por expressões lógicas ou relacionais, são ou não satisfeitas.

5.2. Se

O comando se serve para desviar a execução do programa baseado em uma condição.

Este comando possui uma expessão lógica que será avaliada. Caso esta expressão seja verdadeira
uma lista específica de comandos será executada, caso seja falsa, uma lista alternativa de comandos
será executada (se houver). Para definir a lista de comandos que serão executados caso a condição
não seja atendida, deve-se usar a palavra reservada senao.

Exemplo:
6. Estruturas de Repetição

6.1. Laço Enquanto (Pré-Testado)

Nesta estrutura de repetição o programador deve definir uma condição que será verificada a
cada iteração do loop B, caso essa condição seja verdadeira então é executado o bloco de código D
e então a variável de controle deve ser alterada para evitar que o laço de repetição seja executado
infinitamente.
Exemplo:

6.2. Laço Faça-Enquanto (Pós-Testado)


Nesta estrutura de repetição o programador executa um bloco de instruções D e posteriormente faz
uma verificação em B caso a condição de teste seja verdadeira executa o bloco de instrução até que
a condição em B seja falsa.

Exemplo:
6.3. Laço Para (Com Variável de Controle)

Nesta estrutura de repetição o programador deve inicialmente declarar uma variável de


controle A que será "testada" conforme uma condição B caso essa condição seja verdadeira, o
código interno dentro da estrutura será executado. Ao final a variável declarada em A será
incrementada ou decrementada e então a condição em B será novamente "testada" até que seja
falsa.
Exemplo:
7. Lista de exercícios

1. Faça um algoritmo que receba dois números e exiba o resultado da sua soma.

2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração,
multiplicação e a divisão dos números lidos.

3. Escrever um algoritmo para determinar o consumo médio de um automóvel sendo fornecida


a distância total percorrida pelo automóvel e o total de combustível gasto.

4. Escrever um algoritmo que leia o nome de um vendedor, o seu salário fixo e o total de
vendas efetuadas por ele no mês (em dinheiro). Sabendo que este vendedor ganha 15% de
comissão sobre suas vendas efetuadas, informar o seu nome, o salário fixo e salário no final
do mês.

5. Escrever um algoritmo que leia o nome de um aluno e as notas das três provas que ele
obteve no semestre. No final informar o nome do aluno e a sua média (aritmética).

6. Ler dois valores para as variáveis A e B, e efetuar as trocas dos valores de forma que a
variável A passe a possuir o valor da variável B e a variável B passe a possuir o valor da
variável A. Apresentar os valores trocados.

7. Ler uma temperatura em graus Celsius e apresentá-la convertida em graus Fahrenheit. A


fórmula de conversão é: F=(9*C+160) / 5, sendo F a temperatura em Fahrenheit e C a
temperatura em Celsius.

8. Elaborar um algoritmo que efetue a apresentação do valor da conversão em real (R$) de um


valor lido em dólar (US$). O algoritmo deverá solicitar o valor da cotação do dólar e também
a quantidade de dólares disponíveis com o usuário.

9. Faça um algoritmo que receba um valor que foi depositado e exiba o valor com rendimento
após um mês. Considere fixo o juro da poupança em 0,70% a. m.

10. A Loja Mamão com Açúcar está vendendo seus produtos em 5 (cinco) prestações sem juros.
Faça um algoritmo que receba um valor de uma compra e mostre o valor das prestações.

11. Faça um algoritmo que receba o preço de custo de um produto e mostre o valor de venda.
Sabe-se que o preço de custo receberá um acréscimo de acordo com um percentual
informado pelo usuário.

12. O custo ao consumidor de um carro novo é a soma do custo de fábrica com a percentagem
do distribuidor e dos impostos (aplicados, primeiro os impostos sobre o custo de fábrica, e
depois a percentagem do distribuidor sobre o resultado). Supondo que a percentagem do
distribuidor seja de 28% e os impostos 45%. Escrever um algoritmo que leia o custo de
fábrica de um carro e informe o custo ao consumidor do mesmo.
13. Faça um algoritmo que receba um número e mostre uma mensagem caso este número seja
maior que 10.

14. Escrever um algoritmo que leia dois valores inteiro distintos e informe qual é o maior.

15. Faça um algoritmo que receba um número e diga se este número está no intervalo entre 100
e 200.

16. Escrever um algoritmo que leia o nome e as três notas obtidas por um aluno durante o
semestre. Calcular a sua média (aritmética), informar o nome e sua menção aprovado
(media >= 7), Reprovado (media <= 5) e Recuperação (media entre 5.1 a 6.9).

17. Ler 80 números e ao final informar quantos número(s) est(á)ão no intervalo entre 10
(inclusive) e 150 (inclusive).

18. Faça um algoritmo que receba a idade de 75 pessoas e mostre mensagem informando
“maior de idade” e “menor de idade” para cada pessoa. Considere a idade a partir de 18
anos como maior de idade.

19. Escrever um algoritmo que leia o nome e o sexo de 56 pessoas e informe o nome e se ela é
homem ou mulher. No final informe total de homens e de mulheres.

20. A concessionária de veículos “CARANGO VELHO” está vendendo os seus veículos com
desconto. Faça um algoritmo que calcule e exiba o valor do desconto e o valor a ser pago
pelo cliente de vários carros. O desconto deverá ser calculado de acordo com o ano do
veículo. Até 2000 - 12% e acima de 2000 - 7%. O sistema deverá perguntar se deseja
continuar calculando desconto até que a resposta seja: “(N) Não” . Informar total de carros
com ano até 2000 e total geral.

21. Escrever um algoritmo que leia os dados de “N” pessoas (nome, sexo, idade e saúde) e
informe se está apta ou não para cumprir o serviço militar obrigatório. Informe os totais.

22. Faça um algoritmo que receba o preço de custo e o preço de venda de 40 produtos. Mostre
como resultado se houve lucro, prejuízo ou empate para cada produto. Informe media de
preço de custo e do preço de venda.

23. Faça um algoritmo que receba um número e mostre uma mensagem caso este número sege
maior que 80, menor que 25 ou igual a 40.

24. Faça um algoritmo que receba “N” números e mostre positivo, negativo ou zero para cada
número.

25. Faça um algoritmo que leia dois números e identifique se são iguais ou diferentes. Caso eles
sejam iguais imprima uma mensagem dizendo que eles são iguais. Caso sejam diferentes,
informe qual número é o maior, e uma mensagem que são diferentes.
26. Faça um algoritmo que leia um número de 1 a 5 e escreva por extenso. Caso o usuário digite
um número que não esteja neste intervalo, exibir mensagem: número inválido.

27. A concessionária de veículos “CARANGO” está vendendo os seus veículos com desconto.
Faça um algoritmo que calcule e exiba o valor do desconto e o valor a ser pago pelo cliente.
O desconto deverá ser calculado sobre o valor do veículo de acordo com o combustível
(álcool – 25%, gasolina – 21% ou diesel –14%). Com valor do veículo zero encerra entrada de
dados. Informe total de desconto e total pago pelos clientes.

28. Escrever um algoritmo para uma empresa que decide dar um reajuste a seus 584
funcionários de acordo com os seguintes critérios:
a) 50% para aqueles que ganham menos do que três salários mínimos;
b) 20% para aqueles que ganham entre três até dez salários mínimos;
c) 15% para aqueles que ganham acima de dez até vinte salários mínimos;
d) 10% para os demais funcionários.

O nome do funcionário, seu salário e o valor do salário mínimo. Calcule o seu novo salário
reajustado. Escrever o nome do funcionário, o reajuste e seu novo salário. Calcule quanto à
empresa vai aumentar sua folha de pagamento.

29. Faça um algoritmo que receba o número do mês e mostre o mês correspondente. Valide
mês inválido.

30. Escrever um algoritmo que leia três valores inteiros distintos e os escreva em ordem
crescente.

31. Dados três valores A, B e C, em que A e B são números reais e C é um caractere, pede-se
para imprimir o resultado da operação de A por B se C for um símbolo de operador
aritmético; caso contrário deve ser impressa uma mensagem de operador não definido.
Tratar erro de divisão por zero.

32. Escrever um algoritmo que leia três valores inteiros e verifique se eles podem ser os lados de
um triângulo. Se forem, informar qual o tipo de triângulo que eles formam: equilátero,
isóscele ou escaleno.

Propriedade: o comprimento de cada lado de um triângulo é menor do que a soma dos


comprimentos dos outros dois lados.
Triângulo Equilátero: aquele que tem os comprimentos dos três lados iguais;
Triângulo Isóscele: aquele que tem os comprimentos de dois lados iguais. Portanto, todo
triângulo equilátero é
também isóscele;
Triângulo Escaleno: aquele que tem os comprimentos de seus três lados diferentes.
33. A escola “APRENDER” faz o pagamento de seus professores por hora/aula. Faça um
algoritmo que calcule e exiba o salário de um professor. Sabe-se que o valor da hora/aula
segue a tabela abaixo:
Professor Nível 1 R$12,00 por hora/aula
Professor Nível 2 R$17,00 por hora/aula
Professor Nível 3 R$25,00 por hora/aula

34. Elabore um algoritmo que, dada a idade de um nadador. Classifique-o em uma das seguintes
categorias:
Infantil A = 5 - 7 anos
Infantil B = 8 - 10 anos
juvenil A = 11- 13 anos
juvenil B = 14 - 17 anos
Sênior = 18 - 25 anos
Apresentar mensagem “idade fora da faixa etária” quando for outro ano não contemplado.

35. Faça um algoritmo que calcule o valor da conta de luz de uma pessoa. Sabe-se que o cálculo
da conta de luz segue
a tabela abaixo:
Tipo de Cliente Valor do KW/h
1 (Residência) 0,60
2 (Comércio) 0,48
3 (Indústria) 1,29

Anda mungkin juga menyukai