algoritmos e programação - tarcio carvalho · algoritmos e programação prof. tarcio carvalho ....

20
Algoritmos e Programação Prof. Tarcio Carvalho

Upload: buituong

Post on 19-Sep-2018

220 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

Algoritmos e Programação Prof. Tarcio Carvalho

Page 2: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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

Page 3: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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

Page 4: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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:

Page 5: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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.

Page 6: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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

Page 7: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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:

Page 8: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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.

Page 9: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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:

Page 10: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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:

Page 11: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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:

Page 12: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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.

Page 13: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

Exemplo:

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

Page 14: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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:

Page 15: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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.

Page 16: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

Exemplo:

Page 17: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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.

Page 18: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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.

Page 19: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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.

Page 20: Algoritmos e Programação - Tarcio Carvalho · Algoritmos e Programação Prof. Tarcio Carvalho . Conceito de Lógica A utilização da lógica na vida do indivíduo é constante,

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