Estratégias de resolução de problemas. Práticas de ensino de algoritmos (Hazzan, Cap. 5) Péricles Miranda

Tamanho: px
Começar a partir da página:

Download "Estratégias de resolução de problemas. Práticas de ensino de algoritmos (Hazzan, Cap. 5) Péricles Miranda"

Transcrição

1 Estratégias de resolução de problemas Práticas de ensino de algoritmos (Hazzan, Cap. 5) Péricles Miranda

2 Resolução de Problemas (PS) PS é uma das atividades centrais realizadas por computeiros. No processo de resolução de problemas, estudantes tem dificuldades em: Análise do problema Construção da solução

3 Resolução de Problemas (PS) O professor tem que estar ciente destas dificuldades e Apresentar estratégias para ajudar o estudante a ganhar experiência e desenvolver habilidades.

4 O que iremos estudar hoje? Estratégias de resolução de problemas

5 Introdução Programar é um processo de resolução de problema; Desenvolver habilidades em resolver problemas deve ser inicialmente abordado; Abstração Analogia Brainstorming Dividir para conquistar...

6 Introdução O que acontece hoje no ensino?

7 Introdução O que acontece hoje no ensino? Ensina-se linguagens de programação Aluno se vira para desenvolver as habilidade de PS.

8 Introdução Como podemos mudar isso?

9 Processo de PS O processo de PS básico é: Identificar os requisitos do sistema Criar um conjunto de passos que resolve o problema

10

11 Processo de PS Os passos podem ser vistos como um PROCESSO DE DESCOBERTA. Muitos autores tratam o processo de PS como um PROCESSO CRIATIVO, como a ARTE.

12 Processo de PS Existem estágios no processo de PS que podem ajudar:

13 Processo de PS Existem estágios no processo de PS que podem ajudar: Análise do problema Entender e identificar os requisitos do problema

14 Processo de PS Existem estágios no processo de PS que podem ajudar: Análise do problema Considerar alternativas: Pense em diversas formas de resolver o problema

15 Processo de PS Existem estágios no processo de PS que podem ajudar: Análise do problema Considerar alternativas Escolha uma abordagem

16 Processo de PS Existem estágios no processo de PS que podem ajudar: Análise do problema Considerar alternativas Escolha uma abordagem Decomponha o problema em sub-tarefas

17 Processo de PS Existem estágios no processo de PS que podem ajudar: Análise do problema Considerar alternativas Escolha uma abordagem Decomponha o problema em sub-tarefas Desenvolvimento do algoritmo: desenvolva o algoritmo em estágios considerando as subtarefas

18 Processo de PS Existem estágios no processo de PS que podem ajudar: Análise do problema Considerar alternativas Escolha uma abordagem Decomponha o problema em sub-tarefas Desenvolvimento do algoritmo Verifique a corretude do algoritmo

19 Processo de PS Existem estágios no processo de PS que podem ajudar: Análise do problema Considerar alternativas Escolha uma abordagem Decomponha o problema em sub-tarefas Desenvolvimento do algoritmo Verifique a corretude do algoritmo Calcule a eficiência do algoritmo

20 Processo de PS Existem estágios no processo de PS que podem ajudar: Análise do problema Considerar alternativas Escolha uma abordagem Decomponha o problema em sub-tarefas Desenvolvimento do algoritmo Verifique a corretude do algoritmo Calcule a eficiência do algoritmo Reflita: reflita e analise o processo e verifique se algo pode ser melhorado

21 Processo de PS Existem estágios no processo de PS que podem ajudar: Análise do problema Considerar alternativas Escolha uma abordagem Decomponha o problema em sub-tarefas Desenvolvimento do algoritmo Verifique a corretude do algoritmo Calcule a eficiência do algoritmo Reflita

22 Processo de PS

23 Entendendo o Problema Primeiro estágio do processo de PS; Objetivo: identificar as características/requisitos do problema Entradas Saídas

24 Exercício 1: Identificação de entradas e saídas Problema: Crie um sistema que simula um caixa eletrônico com as operações depositar, sacar e transferir. Tarefa: Identificar a(s) entrada(s) e saída(s) para a resolução do problema.

25 Processo de PS

26 Design da solução Estudantes possuem maior dificuldade nesta etapa; Existem 3 passos que devem ser seguidos Definição de variáveis Desenvolvimento progressivo Uso de padrões de algoritmos

27 Design da Solução Definição das variáveis A identificação das entradas e saídas do problema clarificam o problema; A partir deste artefato, pode-se extrair as variáveis

28 Exercício 2: Definição das variáveis Problema: Crie um sistema que simula um caixa eletrônico com as operações creditar, debitar e transferir. Tarefa: Definir as variáveis necessárias para a resolução do problema.

29

30 Design da Solução Desenvolvimento Progressivo É uma metodologia top-down que parte de um problema geral para problemas específicos; A ideia principal é dividir o problema em subproblemas

31 Design da Solução Desenvolvimento Progressivo

32 Design da Solução Desenvolvimento Progressivo Vantagens Cada sub-problema possui uma solução mais fácil de implementar e de checar; A modularização melhora a legibilidade da solução; As soluções dos sub-problemas podem ser reutilizadas na solução completa do problema.

33 O mais legal é que essa metodologia pode ser aplicada a qualquer processo de desenvolvimento de software!

34 A importância do Desenvolvimento progressivo aumenta a medida que a complexidade do problema também aumenta!

35 Exercício 3: Quebra em sub-problemas Problema: Crie um sistema que simula um caixa eletrônico com as operações creditar, debitar e transferir. Tarefa: Quebrar problema em sub-problemas

36 Design da Solução Uso de padrões de algoritmos Diante de um problema não familiar, como estudantes irão pensar em soluções?

37 Design da Solução Uso de padrões de algoritmos Diante de um problema não familiar, como estudantes irão pensar em soluções? Identificar similaridades entre o problema e problemas já resolvidos; Transferir ideias destes problemas para problema novo; Observar a essência do problema e identificar soluções que podem ser reusadas;

38

39 Exemplo Prático Problema: Criar um sistema que auxilie o usuário em sua locomoção de um lugar para outro.

40

41 O que já existe que pode nos ajudar a resolver este problema?

42

43

44

45 Design da Solução Uso de padrões de algoritmos É de fundamental importância a identificação de componentes que foram utilizadas em problemas similares; Os componentes (se necessário) devem ser adaptados e integrados ao problema atual; Em muitos casos, pode-se combinar diferentes componentes no desenvolvimento da solução

46 Exercício 4: Reuso de componentes Problema: Dobrar o salário dos funcionários da empresa na folha. Componentes MAP: Recebe como parâmetros uma lista de itens e a operação que deseja realizar sobre os itens, e retorna uma nova lista. FILTER: Recebe como parâmetros uma lista de itens e uma operação Booleana que irá operar sobre cada item; e retorna uma nova lista com os itens que satisfazem a operação.

47 Exercício 5: Reuso de componentes Problema: Selecionar os funcionários aniversariantes do mês.

48

49 Processo de PS

50 Verificação da solução Após o desenvolvimento da solução, sua corretude deve ser examinada. Como avaliar se a nossa solução está correta?

51

52 Dicas Sempre execute mentalmente a sua solução como se fosse o compilador!

53 Exemplo prático Tem um erro neste algoritmo! Como descobrir? Vamos executar mentalmente!

54 Verificação da solução A grande vantagem da execução mental é que você é forçado a refletir sobre a sua solução. Além de identificar problemas, você passa a pensar em como aperfeiçoar sua solução!

55 Alguém já ouviu falar em Debugging?

56 Processo de PS

57 Reflexão Etapa em que o estudante deve repensar e analisar a sua solução como um todo. Exige tempo e prática! Impessoalidade é importante

58 Reflexão A reflexão deve acontecer em diversos momentos: Antes de começar a resolver o problema: refletir problemas similares já resolvidos e identificar componentes. Enquanto estiver resolvendo: inspecionar, controlar e supervisionar o que está sendo feito (pode ser feito mentalmente). Depois de resolver: identificar problemas e propor soluções.

59 Reflexão Oriente a sua reflexão com perguntas: Perguntas a se fazer antes: Como estimar a dificuldade do problema? Por que cheguei a esta conclusão? Estou com dificuldade em entender alguma parte do problema? Qual parte não está clara? Eu já resolvi problemas similares? Quais são? Quais as similaridades? Perguntas a se fazer depois A solução está completa? Por que eu escolhi esse caminho de resolução? O que poderia mudar? A resolução teve a dificuldade que eu esperava? Eu poderia resolver o problema diferentemente? Como?

60 Você deve estar se perguntando: Esse processo é muito longo, tenho que fazer muitas coisas! O que ganho com isso?

61

62

63 Estratégias de resolução de problemas Práticas de ensino de algoritmos (Hazzan, Cap. 5) Péricles Miranda

Simulando Funções de Alta Ordem via o Padrão de Projetos Template

Simulando Funções de Alta Ordem via o Padrão de Projetos Template Simulando Funções de Alta Ordem via o Padrão de Projetos Template Fernando Magno Quintão Pereira 27 de outubro de 2010 Questão 1 Imagine que você trabalhe com mecanismos de busca na web. Seu problema básico

Leia mais

O QUE FALAR SOBRE O CURSO QUE EU VOU PROMOVER COMO AFILIADO?

O QUE FALAR SOBRE O CURSO QUE EU VOU PROMOVER COMO AFILIADO? O QUE FALAR SOBRE O CURSO QUE EU VOU PROMOVER COMO AFILIADO? Método simples, que eu utilizo para ter ideias de conteúdo estratégico. Por: Tatiane Faria 02 I N T R O D U Ç Ã O Olá, seja bem vindo(a)! É

Leia mais

Introdução a Programação

Introdução a Programação Introdução a Programação Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula 01 Informática e a Programação Roteiro Informática Pensar e Programar Atividades

Leia mais

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014. DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos Apresentação Computação e Programação (CP) 2013/2014 Aula 1 Objetivos Ficar a saber: funcionamento da unidade curricular (UC) Computação

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina.

Leia mais

Apresentação. Informação geral + Conceitos iniciais

Apresentação. Informação geral + Conceitos iniciais Apresentação Informação geral + Informação geral Página da cadeira Objectivos principais Compreender a importância dos algoritmos e dos programas de computador para a resolução de problemas em engenharia.

Leia mais

Aula 10 Modularização Cleverton Hentz

Aula 10 Modularização Cleverton Hentz Aula 10 Modularização Cleverton Hentz Sumário de Aula Introdução Funções Exemplos 2 Introdução Na resolução de problemas maiores e mais complicados a forma atual de criação dos algoritmos não é tão boa:

Leia mais

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador Prof. Araken Medeiros araken@ufersa.edu.br O processo de resolução de um problema com um computador leva à escrita de um algoritmo ou programa e à sua execução. Mas o que é um algoritmo? Angicos, RN 15/9/2009

Leia mais

Você gostaria de ter um espaço aberto para trocar idéias sobre...

Você gostaria de ter um espaço aberto para trocar idéias sobre... Você gostaria de ter um espaço aberto para trocar idéias sobre... Este bate papo que tivemos foi, na verdade, para inaugurar o Programa Sua carreira; Sua vida profissional; Dicas para o auto-desenvolvimento;

Leia mais

S13 - Software e Engenharia de Software - Continuação

S13 - Software e Engenharia de Software - Continuação S13 - Software e Engenharia de Software - Continuação ENGENHARIA DE SOFTWARE PRESSMAN, 2011 Gilberto Wolff UTFPR Roteiro O processo de software A prática da Engenharia de software Mitos relativos ao software

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

Estilos Arquiteturais. Prof. Fellipe Aleixo

Estilos Arquiteturais. Prof. Fellipe Aleixo Estilos Arquiteturais Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Como Definir Arquiteturas? Dois tipos de elementos podem ser utilizados para a definição de uma arquitetura: Componentes à blocos

Leia mais

PROGRAMAÇÃO PARA DESIGNERS - PENSAR COMO O INIMIGO

PROGRAMAÇÃO PARA DESIGNERS - PENSAR COMO O INIMIGO PROGRAMAÇÃO PARA DESIGNERS - PENSAR COMO O INIMIGO Introdução "Para derrotar o inimigo é preciso pensar como ele" Actionscripting na perspectiva de um designer não é muito fácil porque vê-em o mundo em

Leia mais

Métodos de Ensino. Práticas de ensino de algoritmos (Hazzan, Cap. 7) Péricles Miranda

Métodos de Ensino. Práticas de ensino de algoritmos (Hazzan, Cap. 7) Péricles Miranda Métodos de Ensino Práticas de ensino de algoritmos (Hazzan, Cap. 7) Péricles Miranda Objetivos desta aula Apresentar métodos de ensino para educadores de cursos de computação. Discutir as vantagens e desvantagens

Leia mais

Patrícia de Siqueira Ramos. UNIFAL-MG, campus Varginha. 21 de Março de 2018

Patrícia de Siqueira Ramos. UNIFAL-MG, campus Varginha. 21 de Março de 2018 Introdução UNIFAL-MG, campus Varginha 21 de Março de 2018 Não existe, em geral, uma única solução para um problema Algumas soluções são melhores do que outras, sob algum critério Alguns problemas são casos

Leia mais

ESTRUTURAS DE DADOS E ALGORITMOS APRESENTAÇÃO DO CURSO E INTRODUÇÃO

ESTRUTURAS DE DADOS E ALGORITMOS APRESENTAÇÃO DO CURSO E INTRODUÇÃO ESTRUTURAS DE DADOS E ALGORITMOS APRESENTAÇÃO DO CURSO E INTRODUÇÃO Adalberto Cajueiro (adalberto@computacao.ufcg.edu.br) Departamento de Sistemas e Computação Universidade Federal de Campina Grande 1

Leia mais

Lógica de Programação II

Lógica de Programação II Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1 Carga Horária: 72 horas Nº Créditos: 04 aulas Objetivo: Lógica de Programação II Resolver problemas usando os comandos básicos da linguagem (C). Com

Leia mais

Introdução a Algoritmos Aula 1

Introdução a Algoritmos Aula 1 Introdução a Algoritmos Aula 1 Professor: Maurício Archanjo Nunes Coelho Metodologia Aulas expositivas Transparências Quadro negro Material disponível em PDF Resolução de exercícios Leitura/Estudo do material

Leia mais

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU Aula 2 POO 1 Introdução Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

COMPUTADORES NA EDUCAÇÃO MÉDICA

COMPUTADORES NA EDUCAÇÃO MÉDICA CI242 - TÓPICOS DE PESQUISA EM INFORMÁTICA CURITIBA, 24 DE ABRIL DE 2017 COMPUTADORES NA EDUCAÇÃO MÉDICA HAYANNA K. F. SANTOS NICOLE C. KERKHOVEN 1 O PAPEL DOS COMPUTADORES NA EDUCAÇÃO MÉDICA OBJETIVOS:

Leia mais

Construção de Algoritmos II Aula 06

Construção de Algoritmos II Aula 06 exatasfepi.com.br Construção de Algoritmos II Aula 06 André Luís Duarte Porque mil anos são aos teus olhos como o dia de ontem que passou, e como a vigília da noite. Salmos 90:4 Recursividade e complexidade

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Programação Dinâmica. Prof. Humberto Brandão

Projeto e Análise de Algoritmos Projeto de Algoritmos Programação Dinâmica. Prof. Humberto Brandão Projeto e Análise de Algoritmos Projeto de Algoritmos Programação Dinâmica Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.3 Programação Dinâmica

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 01 Apresentação da Disciplina Prof.ª Danielle Casillo PLANO DE ENSINO Nome: Teoria da Computação Créditos:

Leia mais

Análise de Sistemas Aula 4

Análise de Sistemas Aula 4 Análise de Sistemas Aula 4 Prof. Emerson Klisiewicz Contextualização Aula 4 Gerenciamento de Requisitos Refinamento de Requisitos Aprovação de Requisitos Matriz de Rastreabilidade O Sucesso Clientes satisfeitos

Leia mais

Projeto e Análise de Algoritmos Aula 1: Panorama (0.1,0.2)

Projeto e Análise de Algoritmos Aula 1: Panorama (0.1,0.2) 1 Projeto e Análise de Algoritmos Aula 1: Panorama (0.1,0.2) DECOM/UFOP 2013/1 5º. Período Anderson Almeida Ferreira Baseado no material desenvolvido por Andréa Iabrudi Tavares BCC 241 2012/2 2 Algumas

Leia mais

O Ensino de Ciência da Computação. Práticas de ensino de algoritmos (Hazzan, Cap. 3 / EAD Cap. 2) Péricles Miranda

O Ensino de Ciência da Computação. Práticas de ensino de algoritmos (Hazzan, Cap. 3 / EAD Cap. 2) Péricles Miranda O Ensino de Ciência da Computação Práticas de ensino de algoritmos (Hazzan, Cap. 3 / EAD Cap. 2) Péricles Miranda O Que é Ciência da Computação? Analise os argumentos abaixo: 1. Ciência é a observação,

Leia mais

Como Estabelecer Metas Claras E Concretas Que Você Pode Facilmente Atingir E Usar Para Avaliar O Seu Progresso

Como Estabelecer Metas Claras E Concretas Que Você Pode Facilmente Atingir E Usar Para Avaliar O Seu Progresso Goal Clarification Worksheet Como Estabelecer Metas Claras E Concretas Que Você Pode Facilmente Atingir E Usar Para Avaliar O Seu Progresso www.xokmax.com Estabeleça Suas Metas Oi! Vejo que você está pronto

Leia mais

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

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação O que é Algoritmo? Algoritmo é um dos processo para criação de um programa. Putz????? Definições de Algoritmos Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido.(forbellone,

Leia mais

Computação I: Representações de Algoritmos

Computação I: Representações de Algoritmos Computação I: Representações de Algoritmos reginaldo.re@utfpr.edu.br * Parte da apresentação foi gentilmente cedida pelo prof. Igor Steinmacher Agenda Objetivos Relembrando... Algoritmos para desenvolver

Leia mais

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

Introdução ao Pensamento Computacional. Maristela Alcântara

Introdução ao Pensamento Computacional. Maristela Alcântara Introdução ao Pensamento Computacional Maristela Alcântara Junho 2015 Aprender a programar, programar para aprender Muito se tem discutido sobre a influência das tecnologias no desenvolvimento das habilidades

Leia mais

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 4.1. Aplicações utilizando Programação Estruturada e Programação Orientada a Objeto.

Leia mais

LINGUAGEM DE PROGRAMAÇÃOC. GrupoNT

LINGUAGEM DE PROGRAMAÇÃOC. GrupoNT LINGUAGEM DE PROGRAMAÇÃOC GrupoNT INFORMAÇÃOECOMUNICAÇÃO Autor Grupo NT Revisão NT Editora e Figuramundo Projeto Gráfico NT Editora Editoração Eletrônica NT Editora e Figuramundo Capa NT Editora NT Editora,

Leia mais

APRENDIZAGEM ATIVA NOS ANOS INICIAIS. Estruturas de pensamento

APRENDIZAGEM ATIVA NOS ANOS INICIAIS. Estruturas de pensamento APRENDIZAGEM ATIVA NOS ANOS INICIAIS Estruturas de pensamento Aprendizagem Ativa Objetivos Desenvolvimento de metagognição e do pensamento por meio da apresentação ao aluno; Avaliação em prol da aprendizagem,

Leia mais

ALGORITMOS AVANÇADOS. UNIDADE III Algoritmo de Ordenação por Intercalação (Mergesort) Luiz Leão

ALGORITMOS AVANÇADOS. UNIDADE III Algoritmo de Ordenação por Intercalação (Mergesort) Luiz Leão UNIDADE III Algoritmo de Ordenação por Intercalação (Mergesort) Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 3.1 - Definição 3.2 - Dividir para conquistar 3.3 - Problema da

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina

Leia mais

Python Funções. Introdução à Programação SI1

Python Funções. Introdução à Programação SI1 Python Funções Introdução à Programação SI1 Conteúdo Funções Conceitos Objetivos Modularização Exemplos Exercícios 2 Funções O que são? Qual a função de uma função? 3 Imagine o código 4 Imagine o código

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I. Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I Prof. Dr. Daniel Caetano 2013-2 Objetivos Compreender do que é composto um programa Compreender o que é lógica Compreender

Leia mais

Engenharia Reversa e Reengenharia. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2017

Engenharia Reversa e Reengenharia. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2017 Engenharia Reversa e Reengenharia Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2017 Fases Genéricas do Ciclo de Vida Engenharia Sistemas Análise Projeto Codificação Testes Manutenção

Leia mais

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS 1/18 ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS Algoritmos 2/18 Algoritmos Algoritmo - sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador)

Leia mais

Programação Inteira. Algoritmo Branch-and-Bound (ou enumeração implícita)

Programação Inteira. Algoritmo Branch-and-Bound (ou enumeração implícita) Programação Inteira Algoritmo Branch-and-Bound (ou enumeração implícita) Métodos de Solução: Branch-and-Bound O método Branch-and-Bound (B&B) baseia-se na idéia de desenvolver uma enumeração inteligente

Leia mais

Algoritmos e Estrutura de Dados. Algoritmos Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Algoritmos Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 3 Conceitos Básicos de Algoritmos Prof. Tiago A. E. Ferreira Definição de Algoritmo Informalmente... Um Algoritmo é qualquer procedimento computacional bem definido

Leia mais

14 regras práticas para seu aplicativo ou software. engajar os usuários

14 regras práticas para seu aplicativo ou software. engajar os usuários 14 regras práticas para seu aplicativo ou software engajar os usuários produto X usuário Sua empresa tem uma solução interativa digital? Um site? Um aplicativo mobile? Um software? Se sim talvez você já

Leia mais

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I PARA ENGENHARIA. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I PARA ENGENHARIA. Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I Prof. Dr. Daniel Caetano 2018-1 Objetivos Compreender do que é composto um programa Compreender o que é lógica Compreender

Leia mais

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende Sub Rotinas Estrutura de Dados Prof. Kleber Rezende Considerações Iniciais Uma dos métodos mais comuns e amplamente utilizados em programação de computadores é o Top-Down. Nesta abordagem um problema é

Leia mais

Histórico de Linguagens de Programação

Histórico de Linguagens de Programação Bacharelado em Ciência da Computação PARADIGMAS DE PROGRAMAÇÃO Histórico de Linguagens de Programação Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Objetivos Geral: Estudar as características

Leia mais

MÓDULO 16 PLANEJAMENTO DE CONSTRUÇÃO, TESTES E DOCUMENTAÇÃO DO SISTEMA

MÓDULO 16 PLANEJAMENTO DE CONSTRUÇÃO, TESTES E DOCUMENTAÇÃO DO SISTEMA MÓDULO 16 PLANEJAMENTO DE CONSTRUÇÃO, TESTES E DOCUMENTAÇÃO DO SISTEMA Quando falamos para os alunos sobre projeto e desenvolvimento de sistemas de informação eles pensam logo em programar. A programação

Leia mais

COLÉGIO OBJETIVO JÚNIOR

COLÉGIO OBJETIVO JÚNIOR COLÉGIO OBJETIVO JÚNIOR NOME: N. o : DATA: / /2015 FOLHETO DE INFORMÁTICA (V.C. E R.V.) 7. o ANO Ao longo deste ano, aprendemos a operar os comandos e as funções básicas do SCRATCH, por exemplo, utilizando

Leia mais

Introdução à Programação. João Manuel R. S. Tavares

Introdução à Programação. João Manuel R. S. Tavares Introdução à Programação João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de

Leia mais

O PROJETO DE PESQUISA. Prof. Angelo Augusto Frozza, M.Sc.

O PROJETO DE PESQUISA. Prof. Angelo Augusto Frozza, M.Sc. O PROJETO DE PESQUISA Prof. Angelo Augusto Frozza, M.Sc. ESTRUTURA DO PROJETO DE PESQUISA Ordem de apresentação do Projeto de Pesquisa: 1. Introdução a) Apresentação b) Definição do problema c) Justificativa

Leia mais

Linguagens de Programação. Introdução. Carlos Bazilio

Linguagens de Programação. Introdução. Carlos Bazilio Linguagens de Programação Introdução Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp ??? Pascal aux := 0 for i:=1 to 10 do aux := aux + i 10: i = 1 20: if i > 10 goto 60

Leia mais

Algoritimos e Estruturas de Dados III CIC210

Algoritimos e Estruturas de Dados III CIC210 Algoritimos e Estruturas de Dados III CIC210 Divisão e Conquista Haroldo Gambini Santos Concurso Universidade Federal de Ouro Preto - UFOP 3 de setembro de 2009 Haroldo Gambini Santos Divisão e Conquista

Leia mais

Programação I Apresentação

Programação I Apresentação Programação I Apresentação Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Referências JUNIOR, D. P.; NAKAMITI, G. S.; ENGELBRECHT, A. de M. E.; BIANCHI, F. Algoritmos e Programação

Leia mais

EDU Canvas. A visão INNOVARES do Business Model Canvas para Educação

EDU Canvas. A visão INNOVARES do Business Model Canvas para Educação EDU Canvas A visão INNOVARES do Business Model Canvas para Educação Fortaleza/CE, 2016 CONCEITOS DE ADAPTAÇÃO DO BUSINESS MODEL CANVAS PARA APLICAÇÃO NA EDUCAÇÃO A base de atuação da Equipe Innovares é

Leia mais

1. Introdução. 2. Escopo de trabalho e prazos

1. Introdução. 2. Escopo de trabalho e prazos 1. Introdução Esta declaração de trabalho ("SOW") é incorporada ao contrato de assinatura de SAAS (o "contrato") entre a Wrike, Inc. ("Wrike") e o cliente, na data efetiva do contrato. Se algum termo deste

Leia mais

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo. Lista de Exercício 1 Algoritmo e Programação 29/08/2018 (Solução) 1) Escreva conforme a premissas computacionais, o que vem a ser, lógica. R: São as premissas básicas para se executar instruções, alocadas

Leia mais

Especificação do TP3

Especificação do TP3 Especificação do TP3 Data de Entrega: 21/05/2008 1 Descrição do Problema O problema a ser resolvido neste trabalho é conhecido na literatura como o problema de isomorfismo de sub-grafos Uma definição formal

Leia mais

BCC 701 Programação de Computadores I

BCC 701 Programação de Computadores I BCC 701 Programação de Computadores I Professor: Anderson Almeida Ferreira anderson.decom@gmail.com http://www.decom.ufop.br/anderson Sala: COM 10 DECOM - UFOP Programa da disciplina Ementa: Conceitos

Leia mais

Metodologia do Projeto Bruno Munari

Metodologia do Projeto Bruno Munari Metodologia do Projeto Bruno Munari Livro: Das coisas nascem coisas O que é um problema? O problema do design resulta de uma necessidade. As necessidades podem originar um problema de qualquer tipo. Problema

Leia mais

Estruturas de Dados. Profº Carlos Alberto Teixeira Batista

Estruturas de Dados. Profº Carlos Alberto Teixeira Batista Estruturas de Dados Profº Carlos Alberto Teixeira Batista E-mail: carlos.batista@facape.br carlos36_batista@yahoo.com.br [...] A abstração é nossa mais importante ferramenta mental para lidar com a complexidade.

Leia mais

1. Introdução. 2. Escopo de Trabalho e Prazos

1. Introdução. 2. Escopo de Trabalho e Prazos 1. Introdução Esta declaração de trabalho ("SOW") é incorporada no contrato de assinatura de SAAS (o "contrato") entre a Wrike, Inc. ("Wrike") e o cliente, na data efetiva do contrato. Se algum termo desta

Leia mais

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos DCC / ICEx / UFMG Pensar Orientado a Objetos Projeto Orientado a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Onde quer que você olhe no mundo real, você vê objetos Pessoas, animais, plantas,

Leia mais

Professor Jefferson Chaves Jefferson de Oliveira Chaves

Professor Jefferson Chaves Jefferson de Oliveira Chaves Professor Jefferson Chaves jefferson.chaves@ifc-araquari.edu.br Dizer o que é e para que serve orientação a objetos; Conceituar classes, atributos e comportamentos; Entender o significado de variáveis

Leia mais

Fundamentos de Lógica e Algoritmos. Aula 2.3 Introdução a Algoritmos. Prof. Dr. Bruno Moreno

Fundamentos de Lógica e Algoritmos. Aula 2.3 Introdução a Algoritmos. Prof. Dr. Bruno Moreno Fundamentos de Lógica e Algoritmos Aula 2.3 Introdução a Algoritmos Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Fundamentos de Lógica e Algoritmos Aula 2.3 Introdução a Algoritmos Prof. Dr. Bruno Moreno

Leia mais

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Conteúdo Programático. Bibliografia... Forma de Avaliação. Novidades

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Conteúdo Programático. Bibliografia... Forma de Avaliação. Novidades 1 2 Algoritmos e Lógica de Programação 80 horas // 4 h/semana Apresentação da Disciplina Aula 01 Prof. Piva Conteúdo Programático Método para desenvolvimento de algoritmos; A lógica e os algoritmos; O

Leia mais

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO PARA ENGENHARIA. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO PARA ENGENHARIA. Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o professor e o curso Importância do ENADE Importância da lógica Importância da programação Conhecer

Leia mais

Algoritmos de Ordenação. Profº Carlos Alberto T. Batista

Algoritmos de Ordenação. Profº Carlos Alberto T. Batista Algoritmos de Ordenação Profº Carlos Alberto T. Batista E-mail: carlos.batista@facape.br carlos36_batista@yahoo.com.br Por que ordenar os dados? Encontrar elementos em uma lista torna-se algo simples e

Leia mais

Teoria Geral dos Sistemas

Teoria Geral dos Sistemas Teoria Geral dos Sistemas Sistemas de Informação SIN0001 Turma B Prof. Ricardo Jose Pfitscher Material cedido por: Prof. Gerson Volney Lagemann Cronograma Introdução Sistemas Leis Universais dos Sistemas

Leia mais

ORIENTAÇÃO A OBJETOS Histórico:

ORIENTAÇÃO A OBJETOS Histórico: GESTÃO DE TECNOLOGIA DA INFORMAÇÃO Anhanguera Itapecerica da Serra Curso: Gestão da Tecnologia da Informação Disciplina: Modelagem de Sistemas Prof. Luiz Antonio do Nascimento Histórico: A orientação a

Leia mais

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO PARA ENGENHARIA. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO PARA ENGENHARIA. Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO Prof. Dr. Daniel Caetano 2018-1 Objetivos Conhecer o professor Conhecer a disciplina Discutir as regras da disciplina Apresentar o assunto da disciplina

Leia mais

4 PASSOS PARA A CONSTRUÇÃO DO SEU NEGÓCIO.

4 PASSOS PARA A CONSTRUÇÃO DO SEU NEGÓCIO. 4 PASSOS PARA A CONSTRUÇÃO DO SEU NEGÓCIO www.canvasacademy.com.br VAMOS COMEÇAR? De 0 a 10, quão comprometido você está HOJE? O resultado final deste conteúdo depende realmente de quem? ANIMADOS? O que

Leia mais

Como Fazer Diagramas de Interação

Como Fazer Diagramas de Interação Como Fazer Diagramas de Interação CI163 Projeto de Software Prof. Andrey Ricardo Pimentel Construindo Diagramas de Interação Os diagramas de Interação na UML mostram a troca de mensagens entre os objetos

Leia mais

Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista ( )

Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista ( ) Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista (2.1-2.2) DECOM/UFOP 2013/1 5º. Período Anderson Almeida Ferreira Adaptado do material desenvolvido por Andréa Iabrudi

Leia mais

EDUCAÇÃO 4.0: conheça quais são as mudanças da nova educação

EDUCAÇÃO 4.0: conheça quais são as mudanças da nova educação EDUCAÇÃO 4.0: conheça quais são as mudanças da nova educação Estamos presenciando as inovações tecnológicas da Indústria 4.0 em diversas situações no modo como vivemos. Nesse novo modelo, a tecnologia

Leia mais

DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA

DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA DEPARTAMENTO DE CIÊNCIAS EXATAS CÓDIGO: EXA808 DISCIPLINA: EI5 ENGENHARIA DE SOFTWARE CARGA HORÁRIA: 180h EMENTA: Estudo

Leia mais

Linguagens de Programação I. Introdução a Algoritmos e Lógica de Programação

Linguagens de Programação I. Introdução a Algoritmos e Lógica de Programação Linguagens de Programação I Introdução a Algoritmos e Lógica de Programação 1 INTRODUÇÃO Que é um programa de computador? Um programa de computador é o produto resultante da atividade intelectual de um

Leia mais

Introdução à Orientação a Objetos em Java

Introdução à Orientação a Objetos em Java Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB Centro de Informática, UFPE Programação estruturada

Leia mais

Visão Geral... e conceitos básicos

Visão Geral... e conceitos básicos Visão Geral.. e conceitos básicos 1 Curso de... Programação O que se estuda aqui? Algoritmos 2 E o que são algoritmos? Sequência finita e não ambígua de passos para a solução de um problema. Lembre- se

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 4 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 4 Construção de programas Actividades de teste

Leia mais

Estruturas de Dados 2

Estruturas de Dados 2 Estruturas de Dados 2 Técnicas de Projeto de Algoritmos Dividir e Conquistar IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/83 Projeto de Algoritmos por Divisão

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I. Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I Prof. Dr. Daniel Caetano 2013-1 Objetivos Compreender do que é composto um programa Compreender o que é lógica Compreender

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Professor Ariel da Silva Dias Introdução Apresentação Professor Professor Ariel Dias Apresentação Disciplina O que veremos? www.arieldias.com BlackBoard Apresentação

Leia mais

Processos de software

Processos de software Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de

Leia mais

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de arquitetura Linha

Leia mais

Análise de Complexidade para algoritmos iterativos e recursivos

Análise de Complexidade para algoritmos iterativos e recursivos Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa Análise de Complexidade para algoritmos iterativos e recursivos Algoritmos iterativos - complexidade expressa através de somatórios. Algoritmos

Leia mais

BCC 701 Programação de Computadores I

BCC 701 Programação de Computadores I BCC 701 Programação de Computadores I Professor: Anderson Almeida Ferreira anderson.ferreira@gmail.com http://www.decom.ufop.br/anderson Sala: 44 DECOM - UFOP Programa da disciplina Ementa: Introdução

Leia mais

Problema. Exercício. Atividade cujo resolvedor já tem habilidades ou conhecimentos suficientes para resolvê-la

Problema. Exercício. Atividade cujo resolvedor já tem habilidades ou conhecimentos suficientes para resolvê-la Exercício Atividade cujo resolvedor já tem habilidades ou conhecimentos suficientes para resolvê-la Problema... o problema é visto como ponto de partida para a construção de novos conceitos e novos conteúdos;

Leia mais

Motivação. Estrutura de Dados. Motivação. Motivação. Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto de software

Motivação. Estrutura de Dados. Motivação. Motivação. Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto de software Estrutura de Dados Aula 01 -Tipos Abstratos de de Dados Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Motivação Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto

Leia mais

ANÁLISE E PROJETO DE SISTEMAS

ANÁLISE E PROJETO DE SISTEMAS CURSO TÉCNICO DE INFORMÁTICA Módulo C ANÁLISE E PROJETO DE SISTEMAS Conceitos de Análise Estruturada Sistema Financeiro Colmeia O QUE É SISTEMA? Várias são as definições. Podemos adotar a definição de

Leia mais

Projecto e Desenvolvimento de Programas

Projecto e Desenvolvimento de Programas Projecto e Desenvolvimento de Programas Projecto de programas Metodologia de desenvolvimento Construção de algoritmos Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Programa de Computador

Leia mais

Análise e Técnicas de Algoritmos

Análise e Técnicas de Algoritmos Análise e Técnicas de Algoritmos Prof. Jorge Figueiredo http://www.dsc.ufcg.edu.br/~abrantes/atal032.html Jorge Figueiredo Aula 1-1 Agenda Apresentação do curso Motivação Introdução informal Jorge Figueiredo

Leia mais

Patrícia de Siqueira Ramos. 11 de Março de 2019

Patrícia de Siqueira Ramos. 11 de Março de 2019 Patrícia de Siqueira Ramos UNIFAL-MG, campus Varginha 11 de Março de 2019 Patrícia de Siqueira Ramos Fundamentos da programação 1 / 16 Não existe, em geral, uma única solução para um problema Algumas soluções

Leia mais

Algoritmos de Busca. Profº Carlos Alberto T. Batista

Algoritmos de Busca. Profº Carlos Alberto T. Batista Algoritmos de Busca Profº Carlos Alberto T. Batista E-mail: carlos.batista@facape.br carlos36_batista@yahoo.com.br Por que estudar busca de dados? Sistemas trabalham, frequentemente, com a busca de números,

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de POO Professor: Charles Leite Motivação Na Programação OO, um OBJETO é considerado a entidade central de um programa Assim, o desenvolvimento de

Leia mais

Aula 04: CRIATIVIDADE. Ghislaine Miranda Bonduelle

Aula 04: CRIATIVIDADE. Ghislaine Miranda Bonduelle Aula 04: CRIATIVIDADE Ghislaine Miranda Bonduelle MEMORIZANDO... Qualidade Qualidades dos produtos (ou serviços) De acordo com exigencia explícita e implicíta do cliente No menor prazo... No menor preço...

Leia mais

Saiba Quais São Os Principais Indicadores Chave De Performance De Sua Equipe Externa De Manutenção

Saiba Quais São Os Principais Indicadores Chave De Performance De Sua Equipe Externa De Manutenção Saiba Quais São Os Principais Indicadores Chave De Performance De Sua Equipe Externa De Manutenção Para te ajudar a entender melhor o nosso texto nós vamos começar te explicando o que são os indicadores

Leia mais

Introdução a Padrões, GRASP. Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé)

Introdução a Padrões, GRASP. Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) Introdução a Padrões, GRASP Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) O que vimos na última aula? Processo de Desenvolvimento de Software Visão geral de processo Processos

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Program João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de um programa.

Leia mais