Algoritmos I Aula 1 – Introdução aos Algoritmos Professor: Max Pereira [email protected] Ciência da Computação Ementa • Algoritmos e Programas. • Constantes, variáveis, tipos de dados e expressões. • Construções básicas: atribuição, leitura e escrita. • Conceitos e metodologias de desenvolvimento de algoritmos. • Estruturas de condição, seleção e repetição. • Manipulação de literais. Aula 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 Data 09/03/17 16/03/17 23/03/17 30/03/17 06/04/17 13/04/17 20/04/17 27/04/17 04/05/17 11/05/17 18/05/17 25/05/17 01/06/17 08/06/17 15/06/17 22/06/17 29/06/17 06/07/17 13/07/17 Conteúdo Introdução, Motivação e Conceitos básicos. Lógica de Programação e Algoritmos. Fluxogramas. Constantes, variáveis, tipos de dados e expressões. Visualg (atribuição, leitura e escrita). Pseudocódigo. ******** Recesso Escolar ******* AVALIAÇÃO I Estruturas de controle: seleção. Estruturas de controle: seleção (continuação) Estruturas de controle: repetição. Estruturas de controle: repetição (continuação) AVALIAÇÃO II Introdução a Linguagem de Programação Java. Tipos básicos de dados. Variáveis, atribuições e expressões Estruturas de seleção e repetição (Java). ******** Feriado ******** Estruturas de seleção e repetição (Java). Resolução de problemas (Java). AVALIAÇÃO III AVALIAÇÃO FINAL Avaliações • Avaliação prática individual (peso 10) – sala de aula. – Solução e funcionamento (5.5): será considerado o funcionamento do programa e atendimento aos requisistos da atividade proposta. – Documentação e comentários (1.5): para o entendimento de qualquer programa é necessário que este esteja bem documentado. – Estrutura do código e nomenclatura (1.5): a indentação de um programa é essencial para sua leitura, assim como a escolha de nomes apropriados para as variáveis e constantes que o compõe. – Fixação de conceitos passados (1.5): É de vital importância o uso de cada conceito estudado em atividades anteriores. Aproveitamento semestral • A média será composta por três avaliações individuais. (Avaliação I + Avaliação II + Avaliação III) / 3 Importante • As avaliações de segunda chamada ocorrerão em um único dia: 01/07/2017, sábado, das 8h as 11h. • Deverá obrigatoriamente preencher o requerimento em até 48 horas após a avaliação que não compareceu. Bibliografia • Forbellone, André Luiz Villar; Eberspacher, Henri Frederico. Lógica de Programação a construção de algoritmos e estruturas de dados. São Paulo: Prentice Hall, 2005. Disponível em: < http://unisul.bv3.digitalpages.com.br/users/publications/9788576050247/ pages/_1 >. • Ascencio, Ana Fernanda Gomes; Campos, Edilene Aparecida Veneruchi de . Fundamentos da Programação de Computadores . São Paulo: Pearson Education do Brasil, 2012. Disponível em: < http://unisul.bv3.digitalpages.com.br/users/publications/9788564574168/ pages/-16 >. Computação • O termo computação geralmente é empregado para designar o uso de algoritmos para resolução de problemas. • A computação está relacionada à execução de algoritmos, com um processo, para realização de cálculo de funções. Computação • Sob esse ponto de vista, a computação vem sendo praticada por milênios, seja mentalmente ou por escrito. • Os gregos deduziram o tamanho da Terra. Os impostos eram somados. As distâncias mapeadas, etc. Computação • A computação surge como ciência na década de 1930 quando matemáticos e lógicos desenvolvem modelos para formulação dos conceitos de computabilidade e computação aplicada. O começo... Alan Turing David Hilbert Kurt Gödel O começo... • O trabalho de Turing sugeria uma nova abordagem e uma mudança para uma solução eletrônica. • Dado o conhecimento eletrônico que se tinha, poderia ser criada uma máquina que executaria, por exemplo, 10.000 cálculos por minuto. Computação e Ciência • Além de uma disciplina originária da matemática, a computação também é uma disciplina da engenharia. • Os fundamentos iniciais da computação vieram de outras áreas, como matemática, filosofia e engenharia eletrônica. Modelo de von Neumann Memória Entrada Unidade Central de Processamento Saída Modelo de von Neumann • Os dados e os programas são armazenados na memória. • Os programas são formados por comandos (instruções). • As instruções são lidas sequencialmente da memória, um após o outro. • A execução de uma nova instrução inicia apenas depois que a execução da anterior tiver terminado (execução sequencial). • Um comando pode modificar o valor de um dado existente na memória, solicitar novos dados ou enviar dados para a saída. Algoritmo • Conceito extremamente importante para a ciência da computação: – ALGORITMO (What the hell is this?) Algoritmo • “qualquer método para resolver um certo tipo de problema”. • “uma sequência finita de instruções, claramente definidas, que pode ser executada mecanicamente por um agente humano ou não”. Exercite seu cérebro!!!