O que é um Algoritmo?

Documentos relacionados
algoritmo "exercício 22 resposta incorreta" var A, i: inteiro eh_primo: logico inicio repita escreva ("Entre com um valor inteiro positivo: ") leia

Programação Procedimental

Programação Estruturada

Algoritmos e Técnicas de Programação

Algoritmos e Programação

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Objetivo: Desenvolver algoritmos a partir de problemas

Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Laboratório de Programação 1 Algoritmos e a Lógica de Programação

Fundamentos de Lógica e Algoritmos Aula 2.5 Conceitos Básicos de Algoritmos. Prof. Dr. Bruno Moreno

Aula 02. Algoritmos e Pseudocódigo

Introdução à Pseudo-código PROGRAMAÇÃO I (COM06842) LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)

Algoritmos e Programação

Algoritmos e Programação

Estruturas de Repetição

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de repetição. Prof. Alex Camargo

2. Complexidade de Algoritmos

2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006

Programação de Computadores:

Introdução à Algoritmos INF 1005 e INF Programação I

AULA 07. HABILIDADES TRABALHADAS: Desenvolver algoritmos utilizando laços a partir da leitura de fluxogramas ou algoritmos em portugol.

LINGUAGEM ALGORÍTMICA

ALGORITMOS AULA 1. Profª Amanda Gondim

Aula 4 Estruturas Condicionais

Introdução à Computação

IEC081 Introdução à Ciência dos Computadores Estruturas Condicionais em Linguagem C

Introdução a Computação

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA COMANDOS DE DESVIO

Fundamentos de Programação

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação

CONCEITOS DE ALGORITMOS

Programação de Computadores III

Algoritmos e Programação - Engenharia da Computação -

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Estruturas de controle: Estrutura de DECISÃO

Algoritmos e Programação

Noções de algoritmos - Aula 1

Algoritmo. Conjunto finito de instruções que permitem a realização de uma tarefa. 2.1: Introdução 2. ALGORITMOS

Aula 01 Algoritmos e lógica de programação e introdução ao C++

Linguagem C estruturas de repetição

Programação de Computadores

Programação Estruturada Aula VisualG

Estrutura de Seleção

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Estruturas de Repetição

CURSO BÁSICO DE PROGRAMAÇÃO AULA 5. Revisão Laços de Repetição

Estruturas de Repetição

Pra início de conversa... O que é um algoritmo? Exemplos de algoritmos. Como podemos descrever algoritmos? Como podemos descrever algoritmos?

Introdução aos Algoritmos. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Microcontroladores. Programação: fluxogramas, pseudocódigos e lógica. Prof. Daniel

Programação de Computadores III

Lógica Aula 3. Definição. Estrutura de decisão

ESTRUTURAS DE Desvios Condicionais ou de Seleção

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

Capítulo 1 Conceitos Básicos

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Introdução a Programação

Aula 16 Estruturas de Controle. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Noções de algoritmos - Aula 1

Processamento da informação. Prof. Fabrício Olivetti de França

Fluxogramas. Leandro Tonietto ago-09

CURSO BÁSICO DE PROGRAMAÇÃO AULA 6. Revisão Laços de Repetição

Introdução à Programação. 4ª aula. Prof. José Honorato F. Nunes

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

01/08/2011. Introdução Lógica Sequencia lógica Instruções Algoritmos Programas. Lógica. Lógica na programação. Instrução.

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 25

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

CONCEITO DE ALGORITMO

Estruturas de Seleção Seleção Simples e Composta (parte 1)

Técnicas de Programação

Transcrição:

Introdução a Ciências da Computação Capítulo 2 O que é um Algoritmo? Página

Tópicos Histórico Estruturas de Controle Comandos em seqüência Estruturas Condicionais Álgebra Booleana Estruturas de Repetição Página 2

O que é um algoritmo? É um conjunto determinístico de instruções que cumprem alguma tarefa, na qual partindo de um estado inicial chegam a um determinado estado final. Exemplo: - Caipirinha - Cortar limões - Espremer limões - Adicionar açúcar - Misturar cachaça - Colocar gelo Página 3

2. Histórico O nome algoritmo vem do nome do matemático persa Abu Abdullah Muhammad bin Musa al-khwarizmi (78 85). Entre outras coisas ele desenvolveu uma solução sistemática para funções lineares e quadráticas. A palavra 'algarismo' também é derivada de seu nome, devido a seu trabalho relacionado a notação posicional do sistema de numeração decimal. Página 4

Histórico No século XVIII na Europa, a tradução do nome de alkhwarizmi deu origem à palavra algoritmo. O primeiro caso de um algoritmo escrito para um computador foi um programa de Ada Byron para a máquina analítica de Charles Babbage. No século XX, as pesquisas de Alan Turing e Alonzo Church formalizaram o que é um algoritmo. A partir disto foi possível definir quais tipo de problemas um algoritmo pode resolver. Página 5

Estruras de Controle Algoritmos são formas de codificar procedimentos estereotipados. Para descrever procedimentos estes têm de ser codificados de uma forma legível e organizada. Para organização de descrições de algoritmos usamos 3 estruturas de controle: O bloco ou seqüência de comandos: descreve uma seqüência de ações que devem ser executadas uma após a outra. A estrutura condicional: usada para descrever uma situação onde temos de decidir entre duas formas de agir em função de uma situação que poderá ocorrer. A estrutura de repetição: usada para descrever uma situação onde temos de repetir um determinado número de vezes alguma ação até que uma situação seja atingida. Originadas do Teorema da Programação Estruturada. Página 6

Teorema da Programação Estruturada O teorema da programação estruturada ( Corrado Böhm and Giuseppe Jacopini, 966) é resultado da teoria das linguagens de programação. Ela define que cada rotina computável pode ser implementada em uma linguagem que combine os sub-programas em apenas três maneiras específicas:. Executar um subprograma, depois outro sub-programa (seqüência) 2. Executar um ou dois subprogramas de acordo com o valor de uma variável booleana (condição) 3. Executar um subprograma até que uma variável boolean seja verdadeira (iteração) Página 7

Comandos em Seqüência: Exemplo Exemplo: - Caipirinha - Cortar limões - Espremer limões - Adicionar açúcar - Misturar cachaça - Colocar gelo A ordem em que as instruções são executadas influi no estado final. Exemplo: os limões devem ser cortados antes de espremidos. Página 8

Estruturas Condicionais Caipirinha Cortar limões Espremer limões Adicionar açúcar Se (houver Cachaça) então misturar cachaça senão misturar vodka Colocar gelo Página 9

.3 Estruturas Condicionais A SE (condição satisfeita) ENTÃO bloco de comandos SENÃO bloco de comandos 2 FIM condição a ser satisfeita é o resultado de uma operação lógica. Ex: SE ( saldo_do_cliente <) ENTÃO cliente está em débito Página

Estruturas Condicionais: Nota 2 Nota Algoritmo MédiaAluno Início do Algoritmo Leia a primeira nota Leia a segunda nota Calcule a média SE (média < 5,75) ENTÃO Calcula Média escreva aluno reprovado SENÃO Média < 5,75 Reprovado escreva aluno aprovado FIM Aprovado FIM do Algoritmo Página

.2 Álgebra Booleana Desenvolvida pelo inglês George Boole no século XIX. É considerada a base de toda a matemática computacional. A álgebra de boole envolve operadores essenciais da teoria de conjuntos e lógica. Página 2

Álgebra Booleana: Operadores de Conjunto A A A União: Intersecção: Complemento: B B B Página 3

Álgebra Booleana: Operadores Lógicos A and B = L A A B B A B Lâmpada acessa A or B = L A B Lâmpada acessa not A = L A A Lâmpada acessa Página 4

Álgebra Booleana: Operadores Lógicos S = Caipirinha Razoável A = Limão azedo B = Açúcar C = Gelo A B S = ( ((not A) and B) or C) C Not A (not A) and B S Página 5

Estruturas de Repetição Para i:= até faça início fim bloco_de_comandos Enquanto( condição_satisfeita) faça início bloco_de_comandos fim Repita início bloco_de_comandos fim até que( condição_satisfeita ) Página 6

Estruturas de Repetição Caipirinha Cortar limões Espremer limões Enquanto (muito azedo) Adicionar açúcar Misturar cachaça Repita Colocar gelo até que (( not copo cheio) or (caipirinha muito forte) ) Página 7

Estruturas de Repetição 2 Valor Potência 3 pot : inteiro i : inteiro valor : inteiro potencia : inteiro pot : = Pot = Pot = 2 Pot = 4 Pot = 8 Algoritmo Potência var Início I= Para I:= até Potência faça i:=i+ Pot:= pot * valor I= I=2 I=3 Leia valor Leia potência pot := ; Para i:= até potência faça início pot := pot * valor fim imprime 'valor', valor,'elevado a potência', potência,'=', pot Fim Imprime Pot Página 8

EXERCÍCIOS Página 9