ALGORITMOS Dilvan Moreira.

Slides:



Advertisements
Apresentações semelhantes
Capa. Algoritmos Um algoritmo pode ser expresso de diversas maneiras, dentre elas: Linguagem Natural Fluxograma Pseudocódigo Linguagem de Programação.
Advertisements

Iterações Dilvan Moreira. Lembrando... Desenvolvimento de programas  Desenvolvimento incremental:  Evitar depuração de muito código.  A técnica consiste.
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
Introdução à Informática com Software Livre 11:37.
IntroduÇão Vou apresentar aqui, neste portfólio, tudo que aprendi, ou pelo menos tentei aprender no decorrer desse 2º trimestre, que é em geral 2 itens:
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
ESTRUTURAS DE CONTROLO Estrutura sequencial: é um conjunto de instruções em que são executadas pela ordem em que aparecem escritas no programa. Mas como.
Tópicos Preliminares Algorítmos I.
Aprendizado de máquina
CÁLCULO NUMÉRICO Aula 2 – Introdução ao Programa de Computação Numérica (PCN) e Teoria dos Erros.
Recursividade, Entrada pelo teclado e Funções com retorno
Eduardo Mazza Max José Lins Timóteo
Introdução a Algoritmos
Márcio Soussa Estrutura de Dados Márcio Soussa
CÁLCULO NUMÉRICO Aula 1 – Introdução ao Programa de
Tópicos Preliminares (Tipos, Constante e Variável)
IP – Começando no Python
Prof. Wellington Franco FUNDAMENTOS DE PROGRAMAÇÃO - T02
Prof. Wellington Franco
IP – Condicionais e controle de fluxo
Matemática – 8° ANO D Prof.: ISRAEL AVEIRO
LINGUAGENS DE PROGRAMAÇÃO
DESENVOLVIMENTO DE PROGRAMAS
Introdução à Programação
Como Calcular Médias no ASP
Algoritmos e Fluxogramas
Equações do 2º Grau ax2 + bx + c = 0, a ≠ 0.
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
Arquitetura de Computadores
IP – Repetições Prof. Eduardo Falcão.
Introdução à Programação
Dilvan Moreira (baseado no livro Big Java e T. Munzner)
Métodos Numéricos de Determinação de Raízes: Bisseção, Secante e Newton-Raphson Professor.: Heron Jr.
Funções do Usuário em Matlab
Organização de Computadores
INEQUAÇÕES EXPONENCIAIS
Estrutura de Repetição
Lógica de Programação Significa o uso correto das leis do pensamento e de processos de raciocínio para a produção de soluções logicamente válidas e coerentes,
Programação.
Instituto Federal de Santa Catarina
Linguagem de Programação I
Aula 07 e 08 - Funções Definição de função, representação de funções, função crescente e decrescente, função linear , polinomial, racionais e algébricas.
Organização de Computadores
EQUAÇÕES DO 1º E 2º GRAUS (Aula 6)
Complexidade de Algoritmos
Equação e Problemas do Segundo Grau (Setor 411)
Unidade 9 – Números Complexos
Linguagem PASCAL Tipos Estruturados
Algorítmos e Técnicas de Programação
Algorítmos e Técnicas de Programação
FUNÇÕES (Aula 7) MATEMÁTICA Prof.Rafael Pelaquim Ano 2011
Introdução à Programação INF Programação I
Marco André Lopes Mendes
Programação em C Aula 1 – Apresentação Prof. Rafael Mesquita.
Algoritmos Prof.: Carlos Alberto
Introdução à lógica de programação utilizando Scratch Aula 3
ALGORITMOS.
ALGORITMOS.
Programação em assembly
RISC vs. CISC Introdução
Python: Comandos Básicos
Profa. Mercedes Gonzales Márquez
Introdução a progrmação Comandos condicionais: if e switch
Matrizes Produto de Matrizes
Operadores Aritméticos
RESULUÇÃO DOS EXERCÍCIOS E
Equação do Segundo Grau
MATEMÁTICA.
Aula 3 Professores: Conteúdo: Dante Corbucci Filho
Transcrição da apresentação:

ALGORITMOS Dilvan Moreira

Lembrando: Linguagem de Máquina Primeira linguagem: linguagem de máquina Muito primitiva Exemplo: Muito difícil de programar Necessidade de linguagens mais legiveis 00000000001000100011000000100000 add what’s to what’s and put it unimportant details for us in this in this in this register register register

Lembrando: Linguagem Assembler Linguagens Assembler Uso de mneomonicos para representar linguagem de máquina Exemplo de instrução Corresponde a instrução em linguagem de máquina add r1,r2,r6 00000000001000100011000000100000 add what’s to what’s and put it unimportant details for us in this in this in this register register register

Lembrando: Linguagens de Alto Nível Exemplo de instrução de alto nível A = B + C Diz ao computador Vá na memória e ache o valor armazenado na posição B Vá na memória e ache o valor armazenado na posição C Adicione esses dois valores Armazene o resultado na posição A

Lembrando: Compilação Converte um programa em linguagem de alto nível para linguagem de máquina Instrução de alto nível: A = B + C Se torna várias linhas de código de máquina! high-level language compiler machine language 00010000001000000000000000000010 load B 00010000010000000000000000000011 load C 00000000001000100011000000100000 add them 00010100110000000000000000000001 store in A

Edição  Compilação  Teste - Operação em ciclos - Tente não ficar preso neles - Erros de compilação são mais fáceis - Erros de execução não são detectados automaticamente

Exemplo de um Programa em Python Código: # ------------------------------- # Autor: Kleberson Serique print "Alô, Mundo!" # Fim do programa Saida:(Tela do computador) Alô, Mundo!

Exemplo de um Programa em Python Comentarios são ignorados pelo compilador Código: # ------------------------------- # Autor: Kleberson Serique print "Alô, Mundo!" # Fim do programa

Exemplo de um Programa em Python Código: print "Alô, Mundo!" Para o compilador, o código vai aparecer como acima, sem nenhum comentário. Comentários são importantes para pessoas Mas não para o compilador

Algoritmo Um conjunto finito ordenado, bem conhecido e bem definido de ações primitivas, que possam ser executadas sobre objetos bem definidos e que produza um efeito desejado. Vem de Algoritmi a forma latina do nome do matemático Muhammad ibn Mūsā al-Khwārizmī

Algoritmo: Trocar lâmpada 1- Posicione a escada embaixo da lâmpada queimada 2- Selecione uma nova lâmpada Se a potência não for a mesma da queimada, repita o processo até encontrar uma que sirva Descarte a lâmpada selecionada Selecione uma nova 3- Repita até que a lâmpada possa ser alcançada Suba um degrau da escada

Algoritmo: Trocar lâmpada 4. Repita até que a lâmpada fique livre do soquete Gire a lâmpada no sentido anti-horário 5. Posicione a nova lâmpada no soquete 6. Repita até que a lâmpada esteja firme no soquete Gire a lâmpada no sentido horário 7. Repita até que se alcance o chão Desça um degrau da escada

Exemplo de uso de Algoritmo Problema: Calcule as raízes reais da equação do 2o grau Ax2 + Bx + C = 0, dados os parâmetros A, B e C. Fórmulas matemáticas necessárias: ∆ = B2 − 4.A.C X1 = −(B +√∆)/2.A X2 = −(B −√∆)/2.A

Exemplo de uso de Algoritmo Elaborar o algoritmo: INÍCIO Leia (A,B,C); DELTA ← B ∗ B − 4 ∗ A ∗ C; Se DELTA ≥ 0 Então Início Se DELTA = 0 EntãoX1 ← X2 ← −B/(2∗A) Senão Início X1 ← (B + sqrt(DELTA)/(2 ∗ A); X2 ← (−B + sqrt(DELTA)/(2 ∗ A); Fim; Imprima (A,B,C,X1,X2); Fim:

Exemplo de uso de Algoritmo Codificação: print ("Cálculo das raízes de uma equação de") a = float(raw_input("Entre com a: ")) b = float(raw_input("Entre com b: ")) c = float(raw_input("Entre com c: ")) delta = (b*b) - 4 * a * c if delta >= 0: if delta == 0: x1 = -b/(2*a) x2 = x1 else: x1 = (-b+sqrt(delta))/(2*a) x2 = (-b-sqrt(delta))/(2*a) print("As raízes são: " + x1 + " e " + x2) print ("ERRO: não há raízes reais!")

Exemplo de uso de Algoritmo Por fim: Edição  Compilação  Teste

Trabalhinho Criar um algoritmo para algum problema. Por exemplo, para calcular a integrar numérica de uma equação como seno(x) entre 0 e π/2.

Perguntas?