Algoritimos ADS FATEC Ciclo 01

56
Algoritmos e Lógica de Programação

description

Primeira aula de Algoritmos de Analise e Desenvolvimento de Sistemas da FATEC

Transcript of Algoritimos ADS FATEC Ciclo 01

Apresentao do PowerPoint

Algoritmos eLgica de ProgramaoObjetivos Introduo a lgica. Conceito de algoritmos. Tipos de algoritmos: Descrio narrativaPseudocdigoDiagrama de bloco Exemplos prticos.

Lgica a forma de organizar os pensamentos e demonstrar o raciocnio de maneira correta.

Para pensar, falar ou escrever corretamente, deve-se colocar os pensamentos em ordem.

LgicaCincia que estuda as leis e os critrios de validade que regem o pensamento e a demonstrao, ou seja, cincia dos princpios formais do raciocnio.Algoritmo

A palavra vem do latim, dos termos:

Algorismos ou AlgorithmosAlgoritmo

uma sequncia lgica de passos que levam a soluo de um dado problema.

uma sequncia de passos que visam atingir um objetivo bem definido.

Algoritmo

Algoritmo

Regras formais, sequenciais e bem definidas a partir do entendimento lgico de um problema a ser resolvido com o objetivo de transform-lo em um programa que seja possvel de ser executado por um computador. Problemas ????

Trocar um pneu Preparar uma receita Sacar dinheiro do banco 24 horas Somar trs nmeros Calcular a conta de energia eltrica

Problemas Cotidianos O processo de desenvolvimento de um algoritmo pode ser dividido em trs fases:

Etapas de ao de um computadorEntrada - o algoritmo recebe os dados necessrios para executar a tarefa.Processamento - o algoritmo processa os dados de entrada para gerar os resultados de sada.

Sada o algoritmo exibe os resultados para o usurio. Calcular a mdia de dois nmerosProblema?Entrada?Processamento?Sada? Obter dois nmeros, calcular a mdia e mostrar o resultado obtido Dois Nmeros O resultado obtido (mdia) Clculo da mdia Ler atentamente o problema a ser resolvido Definir os dados de entrada Definir o processamento, ou seja, quais os clculos a serem realizados Definir os dados de sada Construir o algoritmo Testar o algoritmo utilizando simulaes

Construo de Algoritmos 01 - Elabore um algoritmo que mova trs discos de uma Torre de Hani, que consiste em trs hastes (a-b-c), uma das quais serve de suporte para trs discos de tamanhos diferentes (1-2-3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo transferir os trs discos para outra haste.

Desafio 1

Algoritmo:

incio 1. mover o disco 1 para a haste b 2. mover o disco 2 para a haste c 3. mover o disco 1 para a haste c 4. mover o disco 3 para a haste b 5. mover o disco 1 para a haste a 6. mover o disco 2 para a haste b 7. mover o disco 1 para a haste b fim

ResoluoProgramas de computador so algoritmos codificados em uma linguagem de programao especfica, como Java, Phyton, C#, VB, entre outras.

Programas Representao

de Algoritmos

Descrio narrativaPseudocdigo Diagrama de bloco Representao de Algoritmos Os algoritmos so expressos diretamente em linguagem natural. Descrio narrativaExemplo: Trocar uma Lmpada

Pegar a lmpada novaPegar a escadaPosicionar a escada embaixo da lmpada queimadaSubir na escada com a lmpada nova na moRetirar a lmpada queimadaColocar a lmpada novaDescer da escadaTestar o interruptorGuardar a escadaJogar a lmpada velha

Exemplo: Trocar uma LmpadaLinguagem intermediria entre a linguagem natural e uma linguagem de programao para descrever os algoritmos.

Pseudocdigo

Portugus estruturado ou Portugol

Pseudocdigo Brasil

formada com estruturas de verbos, substantivos, preposies, etc.

Linguagem de programao real: idioma ingls

Linguagem de Projeto de Programao (LPP)

Palavras Reservadasinicio: palavra que d incio ao programa.

escreva: imprime mensagens ou contedos na tela.

leia: recebe entrada de valores.

fim: palavra que finaliza o programa.

Algoritmo que l dois nmeros, calcula a soma, atribui o resultado a X e exibe o resultado da soma.

Exemplo - Pseudocdigo

Somar dois nmerosProblema?Entrada?Processamento?Sada? Ler dois nmeros, calcular a soma, atribuir o resultado a X e exibir o resultado da soma. Dois Nmeros. O resultado obtido (X). Somar os dois nmeros.Programa SOMA_NUMEROSvar X , N1, N2: inteiroinicio escreva (Digite o primeiro nmero) leia (N1) escreva (Digite o segundo nmero) leia (N2) X N1 + N2 escreva (X)fim

Exemplo - PythonN1 = int (input ("Digite primeiro numero: \n"))N2 = int (input ("Digite segundo numero: \n "))X = N1 + N2print ("Soma %d" %X)Elaborar um algoritmo que leia 4 nmeros inteiros e imprima a mdia ponderada, sabendo-se que os pesos so respectivamente 1, 2, 3 e 4.

Programando

Programa MEDIAvarN1, N2, N3, N4 : inteiroM: realincioleia N1leia N2leia N3leia N4M (N1*1 + N2*2 + N3*3 + N4*4)/10escreva Mfim

Representao grfica que emprega formas geomtricas padronizadas para indicar as diversas aes que devem ser executadas e decises que devem ser tomadas para resolver o problema.

Diagrama de Bloco

Diagrama de Bloco

Vantagens:

Estabelece sequncia visual de operaes.

Apenas as aes so consideradas.

Diagrama de Bloco

SmboloSignificadoDescrioTerminalTerminatorIncio e fim do fluxo lgicoSmboloSignificadoDescrioEntrada ManualManual InputEntrada manual de dados, normalmente efetuada em um tecladoSmboloSignificadoDescrioProcessamentoProcessRepresenta a execuo de uma operao que estabelece um resultadoSmboloSignificadoDescrioExibioDisplayRepresenta a sada visual de dados em um monitor de vdeo.SmboloSignificadoDescrioLinhaLineRepresenta a ao de vnculo existente entre os vrios smbolos. Os smbolos podem ser identificados por um rtulo. Os smbolos devem ser conectados por linhas de setas que mostrem a direo do fluxo. Estrutura visual: sentido de cima para baixo.Diagrama de Bloco Regras de utilizao

Algoritmo que l dois nmeros, calcula a soma, atribui o resultado a X e exibe o resultado da soma.

Exemplo - Diagrama de Bloco

IncioFimN1, N2X N1 + N2 XElaborar um algoritmo que leia 4 nmeros reais e imprima a mdia ponderada, sabendo-se que os pesos so respectivamente 1, 2, 3 e 4.

Criando o Diagrama de Bloco

SmboloSignificadoDescrioTerminalTerminatorIncio e fim do fluxo lgicoEntrada ManualManual InputEntrada manual de dados, normalmente efetuada em um tecladoProcessamentoProcessRepresenta a execuo de uma operao que estabelece um resultadoExibioDisplayRepresenta a sada visual de dados em um monitor de vdeo.LinhaLineRepresenta a ao de vnculo existente entre os vrios smbolos.IncioFimN1, N2, N3, N4M (N1*1 + N2*2 + N3*3 + N4*4)/10 MPesquisaO que uma varivel em Linguagem de Programao?

DesafiosQuatro rs esto posicionadas em cinco casas da seguinte maneira:

Problema 1 r 1r 2r 3r 4Regras: elas podem pular para a casa vizinha (frente ou trs), se ela estiver vazia.

elas podem pular sobre a r vizinha para uma casa livre (frente ou trs).Como as rs podem chegar a seguinte posio final?

r 4r 3r 2r 1Oito carros, de marcas e cores diferentes, esto alinhados, lado a lado para uma corrida. Estabelea a ordem em que os carros esto dispostos, baseando-se nas seguintes informaes:O Ferrari est entre os carros vermelhos e cinza O carro cinza est a esquerda do Lotus. O McLaren o segundo carro esquerda do Ferrari e o primeiro direita do carro azul. O Tyrrell no tem carro sua direita e est logo depois do carro preto. O carro preto esta entre o Tyrrell e o carro amarelo. O Shadow no tem carro algum esquerda: est esquerda do carro verde. A direita do carro verde est o March. O Lotus o segundo carro direita do carro creme e o segundo esquerda do carro marrom. O Lola o segundo carro esquerda do Maverick.

Problema 2 - A Corrida de carros

Trs jesutas e trs canibais precisam atravessar um rio; para tal, dispem de um barco com capacidade para duas pessoas.

Por medidas de segurana no se permite que em alguma margem a quantidade de jesutas seja inferior de canibais. Qual a seqncia de passos que permitiria a travessia com segurana ?

Problema 3Informaes: 3 jesutas 3 canibais 1 barco com capacidade para 2 pessoas Aes: atravessar o rio com segurana Resultado: 3 jesutas e 3 canibais na outra margem do rio

Exerccio 3H cinco casas de 5 diferentes coresEm cada casa mora uma pessoa de uma diferente nacionalidade. Esses 5 proprietrios bebem diferentes bebidas, ouvem diferentes tipos de msica e tm um animal de estimao diferente.Nenhum deles tem o mesmo animal, nem ouve a mesma msica e nem bebe a mesma bebida.

Problema 4 - Quem tem um peixe?O ingls vive na casa vermelha O sueco tem cachorros como animais de estimao O dinamarqus bebe ch A casa verde fica esquerda da casa branca O dono da casa verde bebe caf A pessoa que ouve msica sertaneja cria pssaros O dono da casa amarela ouve rock O homem que vive na casa do centro bebe leite O noruegus vive na primeira casa O homem que ouve jazz vive ao lado do que tem gatos O homem que cria cavalos vive ao lado do que ouve rock O homem que ouve msica pop bebe refrigerante O alemo ouve msica clssica O noruegus vive ao lado da casa azul O homem que ouve jazz vizinho do que bebe gua

Dicas