Algoritmos e Programação de Computadores – Eng. de Energias Renováveis 2015

Algoritmos é a “arte” de resolver problemas. A disciplina de Algoritmos é considerada um dos pilares da Ciência da Computação. Basicamente, o aluno irá aprender conceitos básicos de computação, o que é um algoritmo, como resolver problemas por meio de algoritmos, e como utilizar algoritmos para ensinar um computador a resolver problemas. O aluno também aprenderá conceitos de tipos e estruturas de dados.

Receita básica para resolver um problema por meio de algoritmos

Receita básica para resolver um problema (exercício) por meio de algoritmos:

1. Pense em exemplos com valores reais, isto é, faça no lápis e descubra como você fez.
2. Escreva esses exemplos no código, como se a função já estivesse pronta.
2. Pense em quais são as entradas e saídas do algoritmo, olhando para os exemplos.
3. Escreva quais são os tipos de dados de entrada e saída (assinatura da função), e as restrições sobre eles.
4. Defina a função com os parâmetros, baseados na assinatura, e com uma instrução de retorno com um valor válido qualquer.
5. Escreva o algoritmo (passo a passo) para resolver o problema com base nos parâmetros de entrada.

Se você está fazendo os exercícios seguindo mais ou menos a mesma sequência, este é o caminho. Senão, experimente seguir esses passos e vai ver que a coisa sai mais fácil. Por quê? Porque a primeira coisa que se deve fazer é entender o problema. Logo, pense em exemplos, veja quais são os dados a serem consumidos, quais devem ser gerados, etc. Isto ajuda bastante.

Dúvidas:

Dúvidas podem ser mandadas a qualquer momento por email (heliohenrique3@gmail.com). O professor estará disponível em sua sala principalmente à tarde, de segunda a sexta.

Datas:

  • Primeira prova: 17/11
    • Conteúdo: Introdução a algoritmos. Definição de funções, atribuição de variáveis, desvio condicional. Estruturas de iteração (repetição). Recursividade (básico). Manipulação de strings.
  • Segunda prova: 18/12
    • Conteúdo: Acumulativo da primeira prova. Vetores (listas estáticas). Busca e ordenação. Matrizes. Tipos abstratos de dados: estruturas / registros. Arquivos.
  • Entrega e apresentação do trabalho (previsão): 18/12

Exemplos

Exemplos 1

Exemplos compara numeros

Exemplos Distancia, Fatorial, Area do Circulo

Exemplo Recursao

Exemplos While

Exemplo Exponencial

Exemplos Turtle

Exemplos Strings

Exemplos Listas

Listas (operações)

Classes

Matrizes

Gráfico simples

Insertion Sort

Exercícios

Exercicios 1: Link  (ENTREGA ATÉ DIA 16/10)

Exercicios 2: Link (ENTREGA ATÉ DIA 23/10)

Exercícios 3: Link (ENTREGA ATÉ DIA 06/11)

Exercícios 4: Link (ENTREGA ATÉ DIA 17/11)

Exercícios 5: Link (ENTREGA ATÉ DIA 18/12)

Trabalho

Trabalho (conta de luz): Entrega e apresentação até dia 18/12

Link

No Windows instalar Anaconda. ou Pyzo

No Linux: sudo apt-get install python-matplotlib

Material de estudo de algoritmos:

Apostila recomendada: Apostila: Como Pensar como um Cientista da Computação usando Python

O material a seguir é do prof. Arnaldo Vieira Moura, da UNICAMP, e é um ótimo material para estudar a disciplina:

Link: http://www.ic.unicamp.br/~mc102/algoritmos.html

Creative Commons License

Mas, atenção, não basta ler este material para ir bem na matéria!!! É imprescindível fazer exercícios e consultar livros na Biblioteca!!!

Usando o Python:

No Linux (Ubuntu / Mint / Debian):

sudo apt-get install python2.7 idle-python2.7

Ou instale esses pacotes pelo gerenciador de aplicativos

No Windows: Baixe e instale do site: https://www.python.org/downloads/

Online:

Python Tutor: http://www.pythontutor.com/visualize.html#mode=edit

Code Skulptor: http://www.codeskulptor.org/

Material para estudo da linguagem Python:

Apostila: Como Pensar como um Cientista da Computação usando Python

Documentação do Python (em português)

Curso online grátis: Intro to Computer Science

Curso online grátis: Python para zumbis

Curso online grátis: Python (codeacademy)

Livro: Use a Cabeça: Programação

DocumentacaoPython

Como Pensar Como um Cientista da Computação: Edição interativa (usando Python 3.x) (fora do ar)

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s