Algoritmos e Estruturas de Dados I - Introdução

Slides:



Advertisements
Apresentações semelhantes
Algoritmo e Programação
Advertisements

Pseudo-código: sintaxe
Introdução à Programação
Data: 10 a 12 de fevereiro de 2009 e
Algoritmo I Aula 05 Pseudo-Linguagem.
INTRODUÇÃO – LOGICA E ALGORITMOS
Paradigmas de Linguagens Conceitos Básicos
ALGORÍTMOS E ESTRUTURA DE DADOS SLIDE - 2
Introdução a Programação Renata Freire
Introdução à Programação
Lógica de Programação Módulo II
INTRODUÇÃO À PROGRAMAÇÃO
Introdução à Lógica de Programação
THOBER CORADI DETOFENO, MSC. Aula 06
Estruturas de Controle
Esquema básico do hardware
ALGORITMO E ESTRUTURA DE DADOS
Princípios de funcionamento
INTRODUÇÃO À PROGRAMAÇÃO
PRC Bruno Correa.
Formas de Representação de Algoritmos
Introdução a Programação
Professor Fernando Luís
Algoritmos e Estruturas de Dados I Construção de Algoritmos
Processamento da Informação BC-05045
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Introdução à Programação
PROGRAMAÇÃO I UNIDADE 1.
INTRODUÇÃO – LOGICA E ALGORITMOS
Representação de Algoritmos
Estrutura de dados, pseudocódigo
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez.
A automatização de tarefas é um aspecto marcante da sociedade moderna. O aperfeiçoamento tecnológico alcançado, com respeito a isto, teve como elementos.
PCI- Introdução à Computação
Desenvolvimento de Jogos e Entretenimento Digital
Introdução a Programação
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
TÉCNICAS DE PROGRAMAÇÃO
Android Aula 01 Introdução ao Java Humberto Moura
Desenvolvimento Web Lógica de Programação
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Conceitos Básicos Luis Antonio Tavares
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Introdução a Algoritmos
Fábio de Oliveira Borges
Igor Steinmacher, MSc. O maravilhoso mundo da Lógica de Programação.
Algoritmos e Estruturas de Dados I - Introdução
Programação de PIC em C Exposição das funções básicas para
Algoritmo e Programação
Algoritmos e Estruturas de Dados I - Introdução
Fundamentos de linguagens de programação
Algoritmos e Programação MC102
Exercícios (Algoritmo Narrativo, Fluxograma e Pseudocódigo) RESOLVIDO
Etapas : Algoritmo é uma sequência lógica de instruções que podem ser executadas. É importante destacar que qualquer tarefa que siga um certo padrão.
Linguagens de Programação
Linguagem Técnica de Programação
Algoritmos e Programação I
ALGORITMOS.
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Curso Engenharia Química Modalidade Superior Instituto Federal do Sul de Minas, câmpus Pouso Alegre Professora Michelle Nery Programação de Computadores.
Algoritmos e Estruturas de Dados I - Introdução
Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez.
Projeto e Desenvolvimento de Algoritmos
Sistemas para Internet Algoritmos e Lógica de Programação
Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez.
Linguagem de Programação Prof. Fabricio Roulin Bittencout
Lógica de programação Introdução à lógica de programação
Algoritmos e Lógica de Programação
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

Algoritmos e Estruturas de Dados I - Introdução 1 Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez

2 Algoritmos - Conceito Sequência de passos que visa atingir um objetivo bem definido. Um algoritmo é um conjunto finito de regras que fornece uma sequencia precisa de operações para resolver um problema específico. Descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações.

Algoritmos – exemplos da vida quotidiana 3 Algoritmos – exemplos da vida quotidiana Instruções que um professor passa aos seus alunos em uma academia de ginástica Uma receita para preparo de um bolo O guia de preenchimento da declaração de imposto de renda. A regra para determinação de máximos e mínimos de funções por derivadas sucessivas. A maneira como as contas de água, luz e telefone são calculadas mensalmente.

Problemas mais complexos solucionados por algoritmos 4 Problemas mais complexos solucionados por algoritmos A internet permite que o mundo acesse e obtenha com rapidez grandes quantidades de informações. Algoritmos inteligentes são necessários para gerenciar e manipular esse grande volume de dados. Exemplos de problemas localização de boas rotas pelas quais os dados viajarão uso de um mecanismo de pesquisa para encontrar com rapidez páginas em que residem informações específicas. A capacidade de manter privativas informações como números de cartão de crédito, senhas e extratos bancários é essencial no comercio eletrônico.A criptografia de chave pública e as assinaturas digitais são tecnologias centrais utilizadas baseadas em algoritmos numéricos e na teoria dos números.

5 Algoritmos - exemplo 1 Algoritmo – instruções que um professor passa aos seus alunos em uma academia de ginástica para fortalecer braços e pernas. 1) Repetir 10 vezes os quatro passos abaixo: 1.1.Levantar e abaixar braço direito; 1.2.Levantar e abaixar braço esquerdo; 1.3.Levantar e abaixar perna esquerda; 1.4.Levantar e abaixar perna direita.

Algoritmos - exemplo 2 6 Algoritmo – Fazer um bolo 1) Bater duas claras ; 2) Adicionar duas gemas; 3) Adicionar um xícara de açúcar; 4) Adicionar duas colheres de manteiga; 5) Adicionar uma xícara de leite de coco; 6) Adicionar farinha e fermento; 7) Colocar numa forma e levar ao forno em lume brando

7 Algoritmos - exemplo 3 Problema – Dispomos de duas vasilhas com capacidades de 9 e 4 litros respectivamente. As vasilhas não tem nenhum tipo de marcação, de modo que não é possível ter medidas como metade ou um terço. Faça um algoritmo que usando as vasilhas de 9 e 4 litros encha uma terceira vasilha de medida desconhecida com seis litros de água. Uma possível solução é: (1) Encha a vasilha de 9 litros;

8 Algoritmos - exemplo 3 (2) Usando a vasilha de 9 litros, encha a vasilha de 4 litros; (3) Despeje o que sobrou na vasilha de 9 litros (5 litros) na terceira vasilha. Observe que falta um litro para completar os seis litros; (4) Esvazie a vasilha de 4 litros; (5) Torne a encher a vasilha de 9 litros; (6) Usando a vasilha de 9 litros encha a vasilha de 4 litros; (7) Esvazie a de 4 litros; (8) Usando o que restou na vasilha de 9 litros (5 litros), encha novamente a vasilha de quatro litros; (9) Despeje o que sobrou na vasilha de 9 litros (1 litro) na terceira vasilha, que agora tem 6 litros.

Algoritmos - exemplo 4 Problema – Considere cinco rãs estão posicionadas em seis casas da seguinte maneira: rã 1 rã 2 rã 3 rã 4 rã 5 Faça um algoritmo que mostre como as rãs podem chegar a seguinte posição final: rã 5 rã 4 rã 3 rã 2 rã 1

1010 Algoritmos - exemplo 4 As rãs foram treinadas para trocar de casas, mas sempre obedecendo as seguintes regras: - elas podem pular para a casa vizinha (frente ou trás), se ela estiver vazia; - elas podem pular sobre a rã vizinha para uma casa livre (frente ou trás).

1111 Algoritmos - exemplo 4

1212 Algoritmos - exemplo 5 Um algoritmo que inclua decisões, como o que fazer em um domingo poderia ser o seguinte: (1) Acordar. (2) Tomar o café. (3) Se estiver sol vou à praia senão leio o jornal e assisto TV (4) Almoçar. (5) Ir ao cinema. (6) Fazer uma refeição e comer (7) Ir dormir.

Reflexões sobre os exemplos 1313 Reflexões sobre os exemplos Os algoritmos referidos devem ser executados por um ser humano com alguns níveis de conhecimento. O computador não entenderia a instrução Bater duas claras nem Tomar o café. Quais são as instruções que o computador entende para podermos trabalhar com algoritmos para serem executados por um computador? Conheçamos a seguir alguns conceitos básicos sobre computador.

1414 Conceitos Básicos Computadores – máquinas capazes de solucionar problemas, mas que só agem quando recebem instruções nos mínimos detalhes. A tarefa principal dos computadores é o processamento de dados, ou seja, receber dados (entrada), realizar operações (processamento propriamente dito) e gerar uma resposta (saída).

Estrutura de um computador 1515 Conceitos Básicos Estrutura de um computador MEMÓRIA UNIDADE DE ENTRADA UNIDADE DE SAIDA UNIDADE DE CONTROLE UNIDADE LÓGICA E ARITMÉTICA Unidade Central de Processamento (UCP)

1616 Conceitos básicos Unidade de entrada – Traduz informação de um dispositivo de entrada em um código que a UCP entende (padrões de pulsos elétricos compreensíveis ao computador). Unidade de saída – converte os dados processados, de pulsos elétricos em palavras ou números que podem ser escritos em vídeos ou outros dispositivos de saída. Exemplos ue: Teclado drive de CD / DVD-ROM, pen drive.

Conceitos básicos 1717 joystick, câmera filmadora, câmera digital, tela sensível ao toque, mesa gráfica, caneta ótica, etc. Exemplos de us Vídeo Impressora drive de CD/DVD-ROM, pen drive caixa de som, etc.

1818 Conceitos básicos Memória – armazena os dados e o próprio programa. Número finito de localizações que são identificadas por meio de um único endereço. 1000 1003 1004 1005 1006 1007 1008 1009 1010 1001 1002 Read/Write CPU Endereço Dados Escrita – CPU envia endereço da posição de memória a ser escrita e dados a escrever. Leitura – CPU envia endereço da posição de memória a ser lida e recebe dados.

1919 Conceitos básicos Unidade lógica e aritmética – São executadas operações matemáticas de adição, multiplicação e divisão e operações lógicas como conjunção, disjunção, ou exclusivo e outras. Unidade de controle – Responsável pelo “tráfico” de dados. Controla a transferência de dados da memória para a unidade lógica e aritmética, da entrada para a memória e da memória para a saída.

Algoritmos – Método de Construção 2020 Algoritmos – Método de Construção entender o problema; definir os dados de entrada; definir o processamento; definir os dados de saída; construir o algoritmo usando descrição narrativa, fluxograma ou pseudocódigo; realizar testes.

Algoritmos - Características 2121 Algoritmos - Características Finitude: algoritmos devem terminar após um número finito de passos; Definição: cada passo deve ser precisamente definido Entradas: devem ter zero ou mais entradas Saídas: devem ter uma ou mais saídas; Efetividade: todas as operações devem ser simples de modo que possam ser executadas em um tempo limitado.

Algoritmos - Dificuldades 2222 Algoritmos - Dificuldades Difícil para iniciantes saber o que o computador pode ou não fazer Criação de algoritmos é um processo não automático e tem muito de arte Pode haver mais de uma solução para um problema.

Algoritmos - Representação 2323 Algoritmos - Representação Linguagem natural ou descrição narrativa: Algoritmos expressos diretamente em linguagem natural como as receitas. Fluxograma: representação gráfica Pseudo-código (pseudo-linguagem): linguagem intermediária entre linguagem natural e linguagem de programação.

Algoritmos - Representação 2424 Algoritmos - Representação Descrição narrativa Escrever, usando linguagem natural, os passos a serem seguidos para a solução. Vantagens – a linguagem natural já é bastante conhecida. Não é necessário aprender nenhum conceito novo. Desvantagens – possibilidades de várias interpretações, gerando dificuldade na codificação.

Algoritmos – exemplo 1 Calcular a área de um retângulo. 2525 Dados de entrada base e altura Processamento (cálculo) Área do retângulo = base x altura Dados de saída Área do retângulo

Algoritmos – Representação 2626 Algoritmos – Representação Exemplo 1 – Descrição narrativa Passo 1 – Ingressar largura do retângulo Passo 2 – Ingressar altura do retângulo Passo 3 – Multiplicar a largura pela altura Passo 4 – Mostrar o resultado da multiplicação

2727 Algoritmos – exemplo 2 Calcular a média ponderada de um aluno e verificar a sua aprovação em relação a uma média pré-definida para aprovação. 5 notas e 5 pesos devem ser considerados. Dados de entrada notas e pesos correspondentes, média para aprovação Processamento (cálculo) Média do aluno = [(N1 x P1) + (N2 x P2) + ... + (N5 x P5)] / (P1 + P2 + ... + P5) Se média do aluno for maior ou igual à média para aprovação, aluno aprovado. Caso contrário, aluno reprovado. Dados de saída Média do aluno, aprovação

Algoritmos – Representação 2828 Algoritmos – Representação Exemplo 2 – Descrição narrativa Passo 1 – Ingressar pesos Pi e notas Ni Passo 2 – Ingressar media referência MF Passo 3 – Calcular a média ponderada usando MA = [(N1 x P1) + (N2 x P2) + ... + (N5 x P5)] / (P1 + P2 + ... + P5) Passo 4 – Se MA>=MF COND=Aprovado senão COND=Reprovado Passo 5 – Mostrar MA e COND

Algoritmos - Representação 2929 Algoritmos - Representação Fluxograma Descrição dos passos para a resolução do problema utilizando símbolos gráficos definidos previamente. Vantagens – entendimento mais fácil do que a leitura de textos. Desvantagens – necessidade de aprender a simbologia. Poucos detalhes, dificultando a codificação.

Algoritmos - Representação 3030 Algoritmos - Representação Fluxograma – símbolos utilizados Início e fim do algoritmo Sentido do fluxo de dados Cálculos e atribuição de valores Entrada de dados Saída de dados Tomada de decisão

Algoritmos - Representação 3131 Algoritmos - Representação Exemplo 1 – Fluxograma Início b, h A = b * h A Fim

Algoritmos - Representação 3232 Algoritmos - Representação Exemplo 2 – Fluxograma Início p1,p2,p3,p4,p5,N1,N2,N3,N4,N5,MR MA = [(N1 x P1) + (N2 x P2) + ... + (N5 x P5)] / (P1 + P2 + ... + P5) F MA>=MR V Cond=R Cond=A A Fim MA, Cond

Algoritmos - Representação 3333 Algoritmos - Representação Pseudocódigo (portugol) Descrição dos passos a serem seguidos através de regras definidas previamente. Vantagens – codificação mais rápida. Desvantagens – necessidade de aprender o pseudocódigo.

Algoritmos – Representação por pseudocódigo 3434 Algoritmos – Representação por pseudocódigo Símbolos e palavras utilizadas (convenção nossa) Cálculos e atribuição de valores ← Entrada de dados leia Saída de dados escreva Tomada de decisão (1 vez) Se … então... Senão... Tomada de decisão (repetidas vezes) Enquanto … faça F V V

Algoritmos – Representação por pseudocódigo 3535 Algoritmos – Representação por pseudocódigo Exemplo 1 ALGORITMO Inicio escreva “Informe a largura do retângulo” leia b escreva “Informe a altura do retângulo” leia h a ← b * h escreva “Área = ”, a Fim

Algoritmos – Representação por pseudocódigo 3636 Algoritmos – Representação por pseudocódigo Exemplo 2 – ALGORITMO Inicio escreva “Informe Média de referência” Leia MF Contador←1,somaproduto←0, somapesos←0 Enquanto contador<=5 escreva “Informe nota(contador)” leia n(contador) escreva “Informe peso(contador)” leia p(contador) somaproduto← p(contador)*n(contador)+somaproduto somapesos← p(contador)+somapesos contador←contador+1 MA<-somaproduto/somapesos

Algoritmos – Representação por pseudocódigo 3737 Algoritmos – Representação por pseudocódigo Exemplo 2 – Se MA>=MF então Cond←“Aprovado“ Senão Cond←“Reprovado“ escreva MA, Cond Fim