Algoritmos e Programação de Computadores I. Prof. Eduardo

Documentos relacionados
Aula 10 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Lógica de Programação

10/02/2015. As linguagens. Algoritmos e Lógica de programação. Os produtos. Os ingredientes. Introdução. Atuais:.Net Java Delphi PHP

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. Isac Aguiar isacaguiar.com.br

1.1. Organização de um Sistema Computacional

Lógica. Everson Santos Araujo

Programação para Computação

Resolução de problemas e desenvolvimento de algoritmos

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Dadas a base e a altura de um triangulo, determinar sua área.

Introdução à Programação e Algoritmos. Aécio Costa

Programação 1. Rafael Vargas Mesquita. ftp://ftp.ci.ifes.edu.br/informatica/mesquita/

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

Programação Estruturada

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Universidade Federal do Vale do São Francisco. Estruturas de Dados. Professor: Marcelo Santos Linder

Algoritmo e Programação

De uma forma ampla, o profissional egresso deverá ser capaz de desempenhar as seguintes funções:

ARQUITETURA DE COMPUTADORES

1. NÍVEL CONVENCIONAL DE MÁQUINA

MC-102 Aula 01. Instituto de Computação Unicamp

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

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

Algoritmos e Linguagem de Programação de Computadores I

COMPUTADOR SIMPLIFICADO E COMPUTADOR DIGITAL. Algoritmos e Programação APG0001

ICC Introdução para JavaScript

Linguagem Matemática e as Artes

ALGORITMOS E FLUXOGRAMAS

Lógica de Programação

Programação II. Aula 2

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

Componentes do Computador e. aula 3. Profa. Débora Matos

Computação Eletrônica

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Web site. Objetivos gerais. Introdução. Profa. Patrícia Dockhorn Costa

Princípios de funcionamento dos computadores

BARRAMENTO DO SISTEMA

Organização e Arquitetura de Computadores I. de Computadores

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

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Algoritmos. Cláudio Barbosa

Introdução aos Sistemas da InformaçãoAula 4 p. 1

Métodos de Desenvolvimento de Software. Aula 1: Introdução

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

ARQUITETURA DE COMPUTADORES - CONCEITUAL

ULA Sinais de Controle enviados pela UC

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Sistemas Numéricos bit / Byte BIT BYTE. Prof. Celso Candido ADS / REDES / ENGENHARIA

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber

Lógica de Programação

Algoritmos e Programação Parte Teórica

ALGORITMOS E ESTRUTURAS DE DADOS I

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de / 25

1. DAS VAGAS: Estão disponíveis 2 (duas) vagas para Arquitetura e Montagem de Computadores e Algoritmos e Programação.

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

Informática I. Aula 6. Aula 6-12/09/2007 1

2. Representação Numérica

Informática I. Aula 5. Aula 5-13/05/2006 1

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

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Sistema de Computação

Universidade Federal de Alfenas

Orientação a Objetos

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores

Linguagem algorítmica: Portugol

Informática I. Aula 4. Aula 4-11/09/2006 1

CURSO DE INFORMÁTICA LICENCIATURA 1 PERÍODO

UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA COLEGIADO DO CURSO DE GRADUAÇÃO EM ENGENHARIA ELÉTRICA/ENG.

Algoritmos e Programação I

Vitor Amadeu Souza. Jogos Matemáticos

Sistemas Operacionais

Introdução às Linguagens de Programação

ALP Algoritmos e Programação. . Linguagens para Computadores

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

SECRETÁRIA DE ESTADO DA EDUCAÇÃO DO PARANÁ CURSO PROFISSIONALIZANTE INFORMÁTICA

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

O Processo de Programação

Organização de Computadores

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

FORMAÇÃO DE PROFESSORES EM LOGO: APRENDIZAGEM DE PROGRAMAÇÃO E GEOMETRIA * 1. COSTA, Igor de Oliveira 1, TEIXEIRA JÚNIOR, Waine 2

1 O que é um computador? Definição uma máquina que lê dados, efectua cálculos e fornece resultados.

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Matemática Financeira II

Docente: Éberton da Silva Marinho

AGRUPAMENTO DE ESCOLAS DE PORTELA E MOSCAVIDE. Informação - Prova de Equivalência à Frequência da disciplina de Aplicações Informáticas B

Introdução à Programação 2006/07. Computadores e Programação

Utilizando a ferramenta de criação de aulas

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

Introdução aos Sistemas de Informação. Departamento de Engenharia Rural Centro de Ciências Agrárias - UFES Bruno Vilela Oliveira bruno@cca.ufes.

Lição 1 Introdução à programação de computadores

Transcrição:

Algoritmos e Programação de Computadores I Prof. Eduardo

Professor Eduardo Machado Real - Mestrado em Ciência da Computação - Especialização em Desenvolvimento de Aplicação para a World Wide Web - Licenciatura em Matemática (res. 2/97) - Graduação em Ciência da Computação Sociedade Brasileira de Computação nº 30495 Atividades (no Lattes): - http://lattes.cnpq.br/1147614161712893

Professor Projetos: - Ensino Introdução à Ciência da Computação e às suas Ferramentas de produtividade. - Pesquisa Estudos de Métodos de Aprendizado de Máquina. - Extensão Inclusão digital: o computador e as suas ferramentas de produtividade.

Professor Contato: - e-mail: eduardomreal@uems.br eduardomreal@gmail.com eduardomreal@hotmail.com Materiais: http://eduardomreal.wikispaces.com, no link da disciplina. Contato da turma?

Disciplina Algoritmos e Programação de Computadores 1 C/H semanal: 6 C/H Total: 204 (C/H teórica: 102 e C/H Aulas Práticas: 102) Aulas: - Terça-feira: das 20:50h às 22:30h - Quinta-feira: das 19:00h às 22:30h

Disciplina Algoritmos e Programação de Computadores 1 Plano de ensino - Ementa - Objetivos -...

Disciplina Algoritmos e Programação de Computadores 1 Critérios de avaliação - 4 Notas. - cada Nota será o resultado da aplicação de Prova e Trabalho(s) e/ou Atividade(s), sendo a média ponderada calculada para este resultado.

Disciplina Algoritmos e Programação de Computadores 1 Cronograma previsto

Introdução Um computador é uma máquina que manipula dados a partir de uma sequência de instruções. Finalidade: receber, manipular e armazenar dados. - realizar a tarefa de processamento de dados.

Introdução Verifique sobre o histórico dos computadores! Verifique sobre Unidade Central de Processamento (UCP), Memória e Dispositivos de Entrada e Saída de dados (E/S)!

Introdução De modo geral, as etapas para o desenvolvimento de um programa são: Análise Nesta etapa estuda-se o enunciado do problema para definir os dados de entrada, o processamento e os dados de saída. Algoritmo Ferramentas do tipo descrição narrativa, fluxograma ou português estruturado são utilizadas para descrever o problema com suas soluções. Codificação O algoritmo é transformado em códigos da linguagem de programação escolhida para se trabalhar.

Noções de Lógica Ideia de racionalidade e coerência. Consiste em ser a arte de pensar corretamente. Para desenvolver qualquer algoritmo e, consequentemente, qualquer software computacional, são necessários conhecimentos básicos de lógica.

Noções de Lógica Nova Andradina é uma cidade do estado de Mato Grosso do Sul. Zezinho nasceu em Nova Andradina. Portanto, Zezinho é Sul-matogrossense. O guarda-roupa está fechado. O terno está dentro do guarda-roupa. Preciso primeiro abrir o guarda-roupa, para depois pegar o terno. Sei que o livro está no armário. Sei que o armário está fechado. Logo, concluo que tenho de abrir o armário para pegar o livro.

Noções de Lógica Sei que sou mais velho que João. Sei que João é mais velho que José. Então, concluo que eu sou mais velho que José. Asdrúbal é aluno da UEMS. Para ser aprovado, um aluno do UEMS precisa obter nota maior ou igual a 6,0 e comparecer no mínimo a 75% das aulas. Asdrúbal compareceu a todas as aulas e obteve nota igual a 8,0. Então, o que podemos concluir?

Lógica de Programação A lógica de programação é essencial para pessoas que desejam trabalhar com desenvolvimento de programas para computadores. Lógica de programação pode ser definida como um conjunto de técnicas para encadear pensamentos a fim de atingir determinado objetivo. - compreender os conceitos de lógica de programação e de algoritmos, conhecer exemplos de algoritmos e algumas técnicas para construção de algoritmos e entender os conceitos de estrutura sequencial, estrutura de seleção e estruturas de repetição no contexto de algoritmos.

Lógica de Programação Instruções - Instrução é a informação que indica a um computador uma ação elementar a executar. Contexto Humano X Contexto Computacional

Algoritmos Um algoritmo é formalmente uma sequência finita de passos que levam a execução de uma tarefa. - Uma sequência de instruções que resultam de uma meta específica. Exemplos: receitas de culinária, manual de instruções, coreografia etc. As estruturas de dados servem para a manipulação das informações utilizadas no algoritmo

Algoritmos Somar dois números quaisquer.

Algoritmos Vamos acessar o material 1 e analisar o exemplo para trocar uma lâmpada!

Outros! Algoritmos

Algoritmos Crie uma sequência lógica para: - Ir à Universidade. - Somar dois números e multiplicar o resultado pelo primeiro número.

Algoritmos Segundo [Cormen et. al., 2012]:

Algoritmos Segundo [Cormen et. al., 2012]:

Algoritmos Problema da ordenação:

TAD Durante o processo de computação de sua saída, um algoritmo manipula dados obtidos de sua entrada. Quando os dados são dispostos e manipulados de forma homogênea, constituem um tipo abstrato de dado (TAD).

TAD Segundo [Pereira, 1996], - um TAD é formado por um conjunto de valores e por uma série de funções que podem ser aplicadas sobre esses valores; - funções e valores, em conjunto, constituem um modelo matemático que pode ser empregado para modelar e solucionar problemas do mundo real, especificando as características relevantes dos elementos envolvidos no problema, de modo que eles se relacionam e como podem ser manipulados.

TAD e ED Conforme [Ascencio & Araújo, 2010], um algoritmo é um projeto em função de TADs. Para implementálos em uma LP é necessário representá-los de alguma maneira nessa linguagem, utilizando tipos e operações suportadas pelo computador. Na representação do TAD, emprega-se uma estrutura de dados (ED).

ED [Cormen et. al., 2002]: uma estrutura de dados (ED) é um meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.

ED As estruturas diferem umas das outras pela disposição ou manipulação de seus dados, de modo que não se pode separar as estruturas de dados e os algoritmos associados a elas. Todos os problemas a serem resolvidos por algoritmos possuem dados que precisam ser armazenados, e o são em estruturas, de acordo com o contexto do problema.

Por que o estudo dos algoritmos vale a pena? Projeto genoma DNA Internet e grande volume de dados Comércio eletrônico Indústria e comércio

Por que o estudo dos algoritmos vale a pena? Problemas concretos: - Mapas - Problemas matemáticos - Sequências - AM - Redes - SO - etc

Por que o estudo dos algoritmos vale a pena? Educação?

Construindo um algoritmo Problema das Torres de Hanói: Regra: Mover os discos de uma haste para outra sem que o disco maior fique sobre o disco menor.

Construindo um algoritmo Problema das Torres de Hanói: Solução:

Problema: Construindo um algoritmo 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.