54
Algoritmos Prof. Kelly E. Medeiros

Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Embed Size (px)

Citation preview

Page 1: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

AlgoritmosProf. Kelly E. Medeiros

Page 2: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

O segredo para se sair em qualquer disciplina•Procurar estar presente na aula•Lembre-se que muitos exercícios poderão compor as notas das provas.•Se for necessário faltar chegar o conteúdo passado com os colegas de sala;•Que façam silêncio durante as explicações e em caso de dúvida em algum assunto ou aula? Pergunte ao professor durante a aula ou envie um e-mail para o e-mail da turma. ([email protected])•E o mais importante: Praticar, Praticar, Praticar...

Page 3: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Algoritmos

Vamos imaginar:

“Como os programas de computadores funcionam?”

“Como é que o computador faz todas as tarefas exatamente da forma com a qual você pede?”

Page 4: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Algoritmos

Para fazer esta interpretação entre homem e máquina, foram desenvolvidas as linguagens de programação. Mas mesmo estas linguagens utilizam uma lógica para serem escritas e é aí que entram os algoritmos.

Page 5: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

AlgoritmosUm algoritmo nada mais é do que uma receita que mostra passo a passo os procedimentos necessários para a resolução de uma tarefa. Ele não responde a pergunta “o que fazer?”, mas sim “como fazer”.

Page 6: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

AlgoritmoEm termos mais técnicos, um algoritmo é uma sequência lógica, finita e definida de instruções que devem ser seguidas para resolver um problema ou executar uma tarefa.Embora você não perceba, utiliza algoritmos de forma intuitiva e automática diariamente quando executa tarefas comuns. Como estas atividades são simples e dispensam ficar pensando nas instruções necessárias para fazê-las, o algoritmo presente nelas acaba passando despercebido.

Page 7: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Por exemplo: Fritar um OVO.

InicioRetirar o ovo da geladeira ou da colmeia de ovos.Colocar a frigideira no fogoColocar óleoEsperar até o óleo ficar quenteQuebrar o ovo separando a cascaColocar o conteúdo do ovo na frigideiraEsperar um minutoRetirar o ovo da frigideira e colocar em um pratoApagar o fogo.Fim

Page 8: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Outro exemplo, quando precisa trocar uma lâmpada, você:

Início   Verifica se o interruptor está desligado;   Procura uma lâmpada nova;   Pega uma escada;   Leva a escada até o local;   Posiciona a escada;   Sobe os degraus;   Para na altura apropriada;   Retira a lâmpada queimada;   Coloca a lâmpada nova;   Desce da escada;   Aciona o interruptor;     Se a lâmpada não acender, então:         Retira a lâmpada queimada;         Coloca outra lâmpada nova     Senão         Lâmpada acesa, tarefa terminada;   Joga a lâmpada queimada no lixo;   Guarda a escada;Fim

Page 9: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Analisando os exemplos e verificandoTal sequencia é um Algoritmo?

Possui uma sequencia de instruções finitas e ordenadas?

Resp. Sim, os 2 possuem.O objetivo da sequencia foi atingido?Resp. Sim. O ovo foi frito e a lâmpada trocada.

Logo, os 2 são um algoritmo.

Page 10: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Exercitando:•Ordene e estruture uma sequencia (Algoritmo) para a realização de uma ligação telefônica em um orelhão.•Você usará um cartão para fazer a ligação.

Page 11: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Resposta para o exercício•Resposta 1 (simples)Inicio1.Tirar o fone do gancho.2.Ouvir sinal de linha3.Introduzir o cartão4.Teclar o número desejado5.Conversar6.Desligar7.Tirar o cartãoFim

Page 12: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Resposta para o exercício•Resposta 2 (mais robusta)Inicio1.Tirar o fone do gancho.2.Ouvir sinal de linha3.Introduzir o cartão4.Teclar o número desejado5.Se chamar e alguém atender

1. Conversar2. Desligar3. Retirar o cartão

6.Senão7.Desligar8.Tirar o cartãoFim

Page 13: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Qual a conclusão que podemos tirar sobre os algoritmos•Algoritmos é uma espécie de passo a passo.•Algoritmos realizam uma saída (ex. Um ovo frito) a partir de uma entrada (um ovo) através de uma sequência.•Os passos tem que ser executados um após o outro.•Um algoritmo está correto quando sua sequência de instrução resulta em uma saída esperada.•Podem existir um ou mais algoritmos para atingir um resultado, desde que o resultado seja o mesmo.

Page 14: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

O algoritmo não é a solução do problema,

mas o caminho que leva a solução.

Page 15: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Por que criarmos algoritmos?•A linguagem natural não pode ser interpretadas por computadores. Existem linguagens especiais.•Computadores são projetados para executar tarefas bem definidas a partir de instruções.•Para desenvolver software, utilizamos linguagem de programação

• A linguagem algorítmica é similar a uma linguagem de programação.

• Logo, aprendendo a criar algoritmos, estamos aptos a programar em qualquer linguagem de programação.

Page 16: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Como funciona um sistema?

Português/Inglês

Linguagem Natural

Instruções

AlgoritmoAdaptação Código – fonte em

Linguagem de programação

Compilação

tradução

Linguagem demáquina

Alto nível

Baixo nível

001000010100

Page 17: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Fluxogramas

Os fluxogramas ou diagramas de bloco são:Forma gráfica para representar os passos lógicos de um determinado algoritmo.Com o diagrama pode-se definir e facilitar a visualização dos passos em um problema.

Page 18: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Fluxogramas (representação de um algoritmo)•Descrevem o fluxo de ação de um determinado trabalho lógico;•Usa símbolos convencionais, permitindo poucas variações;•Representado por símbolos geométricos

Page 19: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

•Entendo as formas do fluxograma convencional (deve-se saber bem o que é cada símbolo dentro de um fluxograma) então anotem.

Page 20: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Exemplo:

Page 21: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Analisando algoritmo e criando o fluxograma

Algoritmo mediaVar nota1, nota2, media de Real;Inicio

nota1<=5;nota2<=7;media <=(nota1+nota2)/2;Mostrar media;

Fim

Page 22: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Fluxograma do algoritmo da média montado:

Page 23: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Estrutura de Dados•O computador só conhece os valores que estão armazenados na sua memória.•Portanto, a maioria das instruções está, de certa forma, associada ao processo de armazenamento ou transformação desses valores.•Na concepção de algoritmos, pode-se considerar:

• 1. Memória Conjunto de posições• 2. Cada posição recebe uma identificação(nome) e armazena um

valor.

Identificador Idade Nome Média

Valor 18 “João” 2,5

Page 24: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Estrutura de Dados•As posições de memória sempre armazenam um valar e seguem as seguintes premissas:

• 1. Se armazenamos um novo valor em uma posição, o seu valor antigo será perdido;

• 2. Se nenhum valor for atribuído a uma determinada posição, esta possui um “lixo” (as posições nunca estão vazias)

Page 25: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Estrutura de Dados - Identificador

•É o nome de uma posição na memória;•É definido pelo programador;•Recomenda-se o uso de nomes significativos.

• Ex: IDADE, NOME, VLR_SALARIO• Contra-Ex: X1, KCP, VAR_1, VAR_2

• Regras para definição de identificadores• 1. Deve começar com uma letra;• 2. Pode conter letras, números e caracteres especiais.

Identificador Idade Nome Média

Valor 18 “João” 2,5

Page 26: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Estrutura de Dados - Identificador

•É o nome de uma posição na memória;•É definido pelo programador;•Recomenda-se o uso de nomes significativos.

• Ex: IDADE, NOME, VLR_SALARIO• Contra-Ex: X1, KCP, VAR_1, VAR_2

• Regras para definição de identificadores• 1. Deve começar com uma letra;• 2. Pode conter letras, números e caracteres especiais.

Identificador Idade Nome Média

Valor 18 “João” 2,5

Page 27: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Estrutura de Dados – Constantes e Variáveis•Constantes: Representam valores que não mudam no decorrer do algoritmo:

•Ex: “O nome é:”, PI, Polegada, etc.

•Variáveis: Representam dados cujos valores são modificados ao longo da execução do algoritmo.

Page 28: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Tipos de Estrutura de dados

Estrutura de dados homogênea (Vetores e Matrizes)Vetores: Estrutura que suporta N posições de um mesmo tipo de dado, cada um com seu respectivo valor.

Ex. char[1...100]: string

Matrizes: estrutura que suporta NxM posições de um mesmo tipo de dados, cada uma com seu respectivo valor.

Ex: int[1..10, 1..10]: matriz_identidade;

Page 29: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Tipos de Estrutura de dados

Estrutura de Dados Heterogênea

Registros: estrutura que suporta K variáveis, cada qual com um tipo de dado próprio.

Ex: registro{ char[1..100]: nome; int: idade; real: salario;}: cadastro

Page 30: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Tipos de Estrutura de dados

As duas estruturas apresentadas podem ser combinadas de modo a

formar estruturas complexas de dados.

Page 31: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Estrutura Geral de um Algoritmo

Algoritmo_NomeAlgoritmo Declaração de variáveis e constantes globais Inicio

Bloco de comando

Fim

Fim_algoritimo

Page 32: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Comandos Básicos do Algoritmo

Declaração de Variáveis

Define os locais na memória que serão rotulados com o identificador da variável que será utilizada para a manipulação de um determinado tipo de dado.Nenhuma variável pode ser usada sem antes ter sido declarada.Ex:

Variáveis: <tipo_do_dado>

Tipo_do_dado tipos primitivos (inteiro, real, caracter e lógico) ou tipos estruturados (vetores, matrizes e registros)

Page 33: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Comandos Básicos do Algoritmo

Comentários

Comentários não são comandos, mas são muito importantes para a documentação e entendimento dos algoritmos e programas de computador.São compostos por textos explicativos em linguagem natural delimitados entre /* e */Ex./* Esse algoritmo calcula a media de 3 notas */

Page 34: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Comandos Básicos do Algoritmo

Comandos de Entrada e Saída

São utilizados para obter a entrada ou fornecer a saída ide informações ao usuário durante a execução do algoritmo.Sintaxe:

LeiaMostre

Ex.Leia (N1, N2, N3)Mostre( “A média final é: “, (N1+N2+N3)/3);

Page 35: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Comandos Básicos do Algoritmo

Comandos de Atribuição

Similar ao sinal de igual das expressões matemáticas convencionais, este comando atribui à variável da esquerda o valor da expressão da direita.Sintaxe:

Variável ← expressão;Ex:

Nome ← “fulano”;

Page 36: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Comandos Básicos do Algoritmo

Tipos de operadores

Relacionais: =(igual), <>(diferente), >(maior que), <(menor que), >=(maior igual que), e <=(menor igual que);

Lógicos: and, or

Aritméticos: + (soma), -(subtração), *(mutiplicação), /(divisão) e ^(exponenciação).

Page 37: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Comandos Básicos do Algoritmo

Tipos de Funções:

abs(X): obtém o valor absoluto de X;sqrt(X): calcula a raiz quadrada de X;log(X): calcula o logaritmo de X;mod(X,Y): obtém o resto da divisão de X por Y;trunca(X): obtém a parte inteira de X;round(X): arredonda o valor de X;sen(X): calcula o valor do seno de X;cos(X): calcula o valor do cosseno de X;tan(X): calcula o valor da tangente de X.

Page 38: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Primeiro Algoritmo•Calcular a média de 2 notas:

Algoritmo mediaInicio

Ler a 1ª nota;Ler a 2ª nota;Somar as 2 notas;Dividir a soma das notas por 2;Mostrar o resultado;

Fim

Page 39: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Quando compilado no computador586,5

Page 40: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Algoritmo Media.•Calcular a média de 2 notas:

Algoritmo mediaVar nota1, nota2, media de real;Início

Mostrar: “Digite a 1ª nota.”;Ler a 1ª nota;Mostrar: “Digite a 2ª nota.”;Ler a 2ª nota;Media ← (nota1 + nota2)/2Mostrar: “A media é: ”, media;

Fim

Page 41: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Quando compilado no computador

Digite a 1ª nota: 5Digite a 2ª nota: 8A média é: 6,5

Page 42: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Algoritmo carroAlgoritmo automovelVar custo_fab, perc_rev, impostos, preco_final de real;Inicio

Mostrar: “Digite o valor do custo de fabrica do automovel.”;Ler (custo_fab);perc_rev ← (25*custo_fab)/100;Impostos ← (45*custo_fab)/100;preco_final ← custo_fab + perc_rev + impostos;Mostrar: “O custo da fabrica: ”, custo_fab;Mostrar: “O percentual do revendedor é : ”, perc_rev;Mostrar: “O imposto é: ”, impostos;Mostrar: “O preço final do carro será de : ”, preco_final;

Fim

Page 43: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Quando compilado no computador

Digite o valor do custo de fábrica do automóvel : 40000O custo da fábrica: 40000O percentual do revendedor é: 10000O imposto é: 18000O preço final do carro será de: 68000

Page 44: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Exercício 1•Faça um algoritmo que leia o nome de uma pessoa , sua idade e o seu salário e ao final mostre essas informações.

Page 45: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Exercício 2•Faça um algoritmo que leia 2 números e faça as 4 operações matemáticas e mostre esses resultados.

Page 46: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Exercício 3•Duas variáveis (A e B) possuem valores distintos (A ← 5 e B ← 10). Crie um, algoritmo que armazene esses valores nas 2 variais e efetue a troca de valores de forma que a variável A passe a possuir o valor de B e que a variável B passe a possuir o valor de A. E ao final mostrar esses valores trocados.

Page 47: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Exercício 4•O custo ao consumidor de um carro novo, é a soma do custo de fábrica com a porcentagem do revendedor e com o custo dos impostos (aplicados ao custo da fabrica). Supondo que a porcentagem do revendedor seja de 25% do custo de fábrica e que os impostos custam 45% do custo de fábrica, faça um algoritmo que leia o calor de custo de fábrica e determine o preço do automóvel para o consumidor.

Page 48: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Exercício 4.1•O sistema de avaliação de determinada disciplina é composto por três provas. A 1ª prova tem peso 2, a 2ª prova tem peso 3 e a 3ª prova tem peso 5. Faça um algoritmo para calcular a média final de um aluno desta disciplina.

Page 49: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Exercício 5•Um Cliente de um banco tem um saldo positivo de R$ 500,00. Fazer um algoritmo que leia um cheque que entrou e calcule o saldo, mostrando o saldo na tela.

Page 50: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Exercício 6•Uma empresa de vendas se softwares para a seu vendedor um fixo de R$ 800,00 por mês, mais uma comissão de 15% pelo seu valor de vendas no mês. Faça um algoritmo que leia o valor da venda e determine o salário total do funcionário. Mostre as informações necessárias na tela.

Page 51: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Exercício 7•Uma empresa de desenvolvimento de softwares paga ao seu vendedor um salário fixo de R$ 500,00 por mês, mais um bônus de R$ 50,00 por sistema vendido. Faça um algoritmo que leia quantos softwares o funcionário vendeu e determine o salario total do funcionário. Mostre as informações que achar necessárias.

Page 52: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Exercício 8•Crie um algoritmo para calcular o salário líquido de um funcionário, considerando que seu salário bruto, incide um desconto de 9% em INSS para a previdência. O algoritmo deve mostrar o nome do funcionário, o seu salário bruto, o valor de desconto de INSS e o seu salário líquido.(dica.: Você deverá pedir (ler) o nome do funcionário e o valor do salário bruto).

Page 53: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Exercício 9•Considerando que para um consórcio, sabe-se o número total de prestações, a quantidade de prestações pagas e o valor atual da prestação, escreva um algoritmo que determine o total pago pelo consorciado e o saldo devedor.

Page 54: Algoritmos Prof. Kelly E. Medeiros. O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão

Exercício 10•Analisando a fórmula " Prestação = valor + (valor * (taxa/100) * tempo)", crie um algoritmo para efetuar o cálculo do valor de uma prestação em atraso. (Você deverá ler o VALOR da prestação, a TAXA de juros imposta pelo banco, e o número de dias em ATRASO.