algoritmos i aula 1 - introduç - cursos presenciais e eadpaginas.unisul.br/max.pereira/algoritmos i...

18
Algoritmos I Aula 1 – Introdução aos Algoritmos Professor: Max Pereira [email protected] Ciência da Computação

Upload: vuquynh

Post on 03-Jan-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

Algoritmos IAula 1 – Introdução aos Algoritmos

Professor: Max Pereira

[email protected]

Ciência da Computação

Page 2: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

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.

Page 3: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

Aula Data Conteúdo

01 27/02/18 Introdução, Motivação e Conceitos básicos.

02 06/03/18 Lógica de Programação e Algoritmos.

03 13/03/18 Fluxogramas.

04 20/03/18 Constantes, variáveis, tipos de dados e expressões.

05 27/03/18 Visualg (atribuição, leitura e escrita). Pseudocódigo.

06 03/04/18 AVALIAÇÃO I

07 10/04/18 Estruturas de controle: seleção.

08 17/04/18 Estruturas de controle: seleção (continuação)

09 24/04/18 Estruturas de controle: repetição.

01/05/18 **************** FERIADO *******************

10 08/05/18 Estruturas de controle: repetição (continuação)

11 15/05/18 AVALIAÇÃO II

22/05/18 ************** NÃO HAVERÁ AULA ********************

12 29/05/18 Introdução a Linguagem de Programação Java. Tipos básicos de dados.Variáveis, atribuições e expressões

13 05/06/18 Estruturas de seleção e repetição (Java).

14 12/06/18 Estruturas de seleção e repetição (Java).

15 19/06/18 AVALIAÇÃO III

16 26/06/18 Apresentações dos Trabalhos de Conclusão de Curso (TCC)

03/07/18 AVALIAÇÃO FINAL

Page 4: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

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.

Page 5: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

Aproveitamento semestral

• A média será composta por três avaliaçõesindividuais.

(Avaliação I + Avaliação II + Avaliação III) / 3

Page 6: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

Importante

• As avaliações de segunda chamada ocorrerão em um único dia: 23/06/2018, sábado, das 8h as 11h.

• Deverá obrigatoriamente preencher o requerimento em até 48 horas após a avaliação que não compareceu.

Page 7: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

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 >.

Page 8: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

Computação

• O termo computação geralmente é empregado para designar o uso de algoritmospara 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.

Page 9: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

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.

Page 10: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

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.

Page 11: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

O começo...

David Hilbert

Alan Turing

Kurt Gödel

Page 12: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

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.

Page 13: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

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.

Page 14: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

Modelo de von Neumann

Memória

EntradaUnidade Central de

ProcessamentoSaída

Page 15: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

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.

Page 16: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

Algoritmo

• Conceito extremamente importante para a ciência da computação:

– ALGORITMO (What the hell is this?)

Page 17: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

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”.

Page 18: Algoritmos I Aula 1 - Introduç - Cursos Presenciais e EaDpaginas.unisul.br/max.pereira/Algoritmos I Aula 01.pdf · 12 29/05/18 Introdução a Linguagem de Programação Java. Tipos

Exercite seu cérebro!!!