GFM015 Introdução à Computação. Algoritmos. Ilmério Reis da Silva UFU/FACOM

Documentos relacionados
Introdução a Programação

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo.

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

É neste ponto que entra o conceito de lógica de programação.

Algoritmos e Programação

Algoritmos e Programação. Ederson Luiz da Silva Ciência da Computação

Desenvolvimento de Algoritmos. Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza ICMC/USP

ALGORITMOS AULA 1. Profª Amanda Gondim

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

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

Algoritmos e Programação. Ederson Luiz da Silva Ciência da Computação

Programação Básica de Computadores

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

#Conceituação. Algoritmos. Eliezio Soares

Algoritmos e Programação de Computadores Disciplina:

Desenvolvimento de Algoritmos. RAD 2119 Tecnologia de Informação Aplicada a Administração. Essa aula. Lógica e Pensamento Lógico. Lógica.

Introdução à Computação

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

GFM015 Introdução à Computação. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Introdução à Lógica de Programação

Ivanovitch Medeiros Dantas da Silva. Natal, 01 de setembro de 2011

Aula 1: Desenvolvimento de Algoritmos

Capítulo 1 Conceitos Básicos

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

CONCEITO DE ALGORITMO

INTRODUÇÃO A PROGRAMAÇÃO

Pseudocódigo e Visualg

Lógica de Programação

Aula I Introdução à Lógica de Programação

ALGORITMOS CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

Aula 3: Algoritmos: Formalização e Construção

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Algoritmos e Programação

INTRODUÇÃO À PROGRAMAÇÃO. Introdução à Algoritmos. Prof. Me. Sérgio Carlos Portari Júnior

Lógica de Programação

Computadores = cérebros eletrônicos?

Algoritmos e Fluxogramas

Programação de Computadores IV. Introdução a Algoritmos SLIDES CEDIDOS POR Bruno Marques

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo

Prof. Paulo Villa Aula 1

Introdução ao Conceito de Algoritmo e Programação Estruturada

Capítulo 1 - Lógica e Algoritmos

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

Algoritmos e Programação

Aula 1 - Introdução Cleverton Hentz

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

Introdução à Programação. slides de Deise Sacol

Algoritmos e Programação

Computação Eletrônica

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

Programação em C. Victor Amorim dos Santos

Introdução à Programação

Programação em C. Victor Amorim dos Santos

2. Criação de Algoritmos

Algoritmos e Programação

Conceitos e Representação de Algoritmos

Técnicas de Programação

Introdução à Algoritmos. Professora: Fabíola Gonçalves.

Algoritmos e Programação

Algoritmos e Linguagem de Programação I

Introdução à Lógica de Programação

Aula 2 - Introdução Cleverton Hentz

Linguagem de Descrição de algoritmos

Introdução a Computação

Programação de Computadores:

Introdução à Algoritmos

Algoritmos e Técnicas de Programação

Pseudocódigo e visualg

Unidade 1 Conceitos básicos

Desenvolvimento de algoritmos Desenvolvimento de Algoritmos

Sintática: como é escrito cada elemento da linguagem de programação.

INTRODUÇÃO À PROGRAMAÇÃO

Introdução a Programação de Jogos

Introdução à Lógica de Programação

3.1 - O que é um diagrama de bloco? Simbologia... 11

CCO 016 / COM 110 Fundamentos de Programação

Lógica de Programação

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

Introdução a algoritmos. Prof.: Jesus

BCC 701 Programação de Computadores I

Lógica de Programação

Noções de algoritmos - Aula 1

INF 1005 Programação I

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

Aula 1 Algoritmo e Pseudo-código

Programação de Computadores III

Algoritmos. Prof. Jonatas Bastos Site:

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Processamento da Informação BC-05045

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

Fundamentos de Programação

Fluxograma. Conjunto de símbolos utilizados em fluxogramas

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Revisão Histórico das Linguagens de Programação

Prof. Jorge Cavalcanti

ALP Algoritmos e Programação

Transcrição:

GFM015 Introdução à Computação Algoritmos Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/ic UFU/FACOM

Programa 1. Noções básicas sobre os componentes de micro computadores 2.Uso de Aplicativos 3. Algoritmos 3.1 Abstração: representação do mundo real no computador 3.2 Como escrever a solução de um problema para um computador: fluxograma, pseudocódigo 4. Fundamentos de programação 5. Estrutura de Dados 6. Modularização de programas

Abstração Resolução de problemas por meio do computador Dados de Entrada Processamento (Transformação) Dados de Saída COMPUTADOR

Abstração - Passos Passos para resolução de problemas: Entendimento do Problema Criação de uma seqüência de operações para solução do problema Execução desta seqüência Verificação da adequação da solução A Execução pode ser feita por um computador

Uma Abstração das Fases de Desenvolvimento Análise de Requisitos Problema Especificação Manutenção Projeto e Desenvolvimento Produto Programas Testes e Validação

Análise e Especificação de Requisitos Def. Análise de Requisitos é o levantamento e estudo das necessidades do usuário Def. Especificação de Requisitos é a descrição das necessidades do usuário por meio da ação que deve ser executada pelo sistema. Ex: Registrar as notas dos alunos; Calcular a média final, etc.

Projeto e Desenvolvimento ESPECIFICAÇÃO DO PROBLEMA 1ª Fase: Resolução do Problema Solução Algorítmica Programa de Computador 2ª Fase: Implementação (codificação)

Teste e validação Verificar se o sistema apresenta erros de execução Verificar se o sistema atende aos requisitos Validação junto ao usuário

Manutenção Correção de erros identificados no teste e validação Adaptação a novos requisitos

Algoritmos

Algoritmos - Definição Em geral: Def. Algoritmo: é uma seqüência finita de passos que deve ser seguida para a realização de uma tarefa. Exemplo: Trocar um pneu furado Em computação: Def. Algoritmo é uma seqüência finita de instruções ou operações cuja execução, em tempo finito, resolve um problema computacional, qualquer que seja sua instância. Exemplo: Somar três números

Algoritmos - Propriedades Cada passo representa uma ação bem definida, sem ambiguidade e entendida pelo executor A sequência de passos é ordenada O conjunto de passos é finito.

Algoritmos Exemplo Geral Executor Humano Exemplo1 Trocar um pneu furado Passo 1: Pegar o macaco e o estepe; Passo 2: Levantar o carro usando o macaco; Passo 3: Retirar o pneu furado; Passo 4: Colocar o estepe em seu lugar; Passo 5: Abaixar o carro; Passo 6: Guardar o macaco e o pneu furado;

Algoritmos Exemplo Computacional Exemplo2: Somar três números Passo 1: Ler os três números; Passo 2: Somar os três números; Passo 3: Mostrar o resultado obtido; OBS: observe as operações de entrada e saída

Outro Exemplo Torre de Hanói Dada uma base contendo três pinos, A, B e C, sendo que no Pino A são dispostos alguns discos uns sobre os outros, em ordem crescente de diâmetro, de cima para baixo, o problema consiste em passar todos os discos para o Pino C, mantendo sempre a ordem crescente de diâmetro na disposição dos discos nos três pinos.

Torre de Hanói - Figura

Torre de Hanói Solução para três discos Algoritmo 1 Posição inicial; 2 Move o disco 1 para a Pino C; 3 Move o disco 2 para a Pino B; 4 Move o disco 1 para a Pino B; 5 Move o disco 3 para a Pino C; 6 Move o disco 1 para a Pino A; 7 Move o disco 2 para a Pino C; 8 Move o disco 1 para a Pino C;

Torre de Hanói Curiosidades O número mínimo de "movimentos" para conseguir transferir todos os discos do primeiro pino para o terceiro é 2 n -1, sendo n o número de discos. Logo: 3 discos => 8 movimentos 4 discos => 15 movimentos 7 discos => 127 movimentos 15 discos => 32.767 movimentos 64 discos => 18.446.744.073.709.551.615 movimentos. Entretanto, podemos desenvolver um algoritmo com poucos passos para solucionar esse problema.

Torre de Hanói Uma solução recursiva Solução da Torre de Hanoi com o disco de baixo e a torre de cima.

Torre de Hanói Algoritmo Recursivo x

Exercícios algoritmos Temos 3 recipientes de tamanhos distintos (8, 5 e 3 litros), sendo que o recipiente de 8 litros está totalmente cheio. Considerando que os recipientes não sejam graduados, deseja-se colocar 4 litros em dois recipientes.

Exercícios algoritmos Um comerciante está transportando um lobo, um coelho e 500 kg de cenouras. Durante a viagem, ele se depara com um rio e um pequeno barco, no qual só é possível transportar um elemento por vez. Descreva quais serão as ações tomadas pelo comerciante para atravessar o rio, de modo que ele nunca deixe o lobo e o coelho ou o coelho e as cenouras sozinhos em uma das margens.

Características de Algoritmos Computacionais Abstrai-se de alguns detalhes da linguagem de programação, mas o Executor será um computador Logo, as instruções devem ser entendidas pelo computador Características Operações de entrada e saída Estruturas de dados Estruturas de controle

Diretrizes para o Desenvolvimento de Algoritmos Identificar o problema Identificar as entradas Identificar as saídas Definir os passos: Regras; Limitações; Ações Registrar a sequência de passos Testar por meio de execução manual Exemplo: calcular a média final do aluno, sendo que o mesmo realizou quatro provas: E: p1, p2, p3, p4; S: media; Sequência: obter P1,P2,P3,P4; somar P1,P2,P3,P4 e dividir a soma por 4; apresentar o resultado da divisão

Formas de Representação de Algoritmos Narrativa em linguagem natural Imprecisa Dificulta a codificação Fluxograma: gráfico representando passos individuais por meio de objetos gráficos e fluxo de execução por meio de setas Diagramas de Chapin ou Nassi_Shneiderman: gráfico representando cada passo por uma caixa Pseudocódigo: linguagem específica que utiliza expressões pré-definidas para representar ações e controle, facilitando a codificação futura

Fluxogramas INICIO INICIO 1 P1, P2, P3 e P4 Leitura condição N S MEDIA = (P1+P2+P3+P4)/4 Ação 1 Ação 2 Ação 3 MEDIA S condição N FIM FIM 1

Diagramas de Chapin ou Nassi_Shneiderman Leia P1, P2, P3 e P4 Média = (P1+P2+P3+P4) / 4 S condição N Escreva Média

Pseudocódigo Características Texto estruturado por meio de regras Palavras-chave (escreva, se-então, etc.) Finalizador de comandos (;) Etc. Obs: utilizaremos pseudocódigo para representar nossos algoritmos computacionais.

Exemplo de Pseudocódigo algoritmo_media_final declare inteiro: P1, P2, P3, P4; real: media; inicio leia(p1, P2, P3, P4); Media (P1+P2+P3+P4)/4; escreva(media); fim fim_algoritmo

Bibliografia Disponível em: http://www.facom.ufu.br/~ilmerio/ic/ic_s3_algoritmos.pdf Material de apoio em: http://www.facom.ufu.br/~ilmerio/ic/ic_introducao.pdf

FIM Algoritmos