Prog I

Propaganda
MAB124 – Computação I (E)
Ementa (comentada)
Introdução:
História da computação.
O impacto do computador no trabalho do engenheiro.

Citar aplicações tais como cálculo estrutural, simulação
física, CAD, CAM, projeto de circuitos, matemática simbólica, etc.
Componentes básicos de um computador

Memória, CPU, periféricos, barramento, etc.
Introdução à Lógica de Programação:
Linguagens de programação.

Linguagem de máquina, linguagem de montagem,
linguagens de alto nível.

Compiladores, interpretadores e esquemas híbridos.
Informação e Dados

Noção de dado como informação codificada

Bits e bytes

Codificação de números (sistemas de numeração)

Codificação de caracteres e cadeias de caracteres
Lógica, seqüência lógica e instruções.

Conceito de algoritmos como sequências de instruções

Organização de dados: noção de estrutura de dados

Programa = Algoritmos + Estruturas de dados
Elementos de programação
O computador como calculadora (usando Python em modo de avaliação
imediata)

Tipos básicos numéricos (inteiros, ponto-flutuante,
complexos)

Expressões aritméticas

Uso de funções matemáticas usuais (sin, cos, sqrt, etc)

Noção de variável e comando de atribuição
Programa armazenado (usando editor de texto para confecção de programas
fonte)

Programas simples (sem entrada e saída)

Uso de comentários e strings de documentação

Como executar um programa armazenado

Comandos de entrada e saída (input e print)

Programas que realizam cálculos simples
Condições
Predicados e valores booleanos

Operadores relacionais

Operadores booleanos

Ordem de precedência e parênteses
O comando if
If simples (sem “else”)

Uso de indentação

Cláusula else

Cláusula elif
Algoritmos e estruturas de dados sequenciais
O comando while

Conceito de iteração

Uso de break e continue
Listas

Construção de listas

Iteração e busca

Operações sobre listas (concatenação, fatiamento,
ordenação)

Matrizes
O comando for

Noção de variável de controle

A função range
Strings e tuplas

Construção de tuplas e strings

Operações sobre tuplas e strings
Dicionários

Busca por valor versus indexação

Construção e exemplos de uso
Arquivos

Arquivos “default”

Criação e acesso a arquivos

Comandos de entrada e saída

Considerações a respeito do sistema operacional
Programação estruturada
Subrotinas (funções)

Parâmetros

Valores de retorno

Escopo (variáveis locais e globais)

Aninhamento de funções
Recursão

Analogia entre recursão e indução

Casos base e caso geral

Exemplos clássicos (busca, funções combinatórias, torre
de Hanói)
Estruturas de dados abstratas

Especificação, interface e implementação

Exemplos
Módulos e bibliotecas



Construção e importação de módulos
Módulos hierárquicos
Bibliografia:
Aprendendo Python
David Ascher & Mark Lutz, Editora Bookman, 2ª edição, 2007, 566 páginas.
Beginning Python from Novice to Professional
Magnus Lie Hetland, Apress, 2005, 640 pages.
Python Programming, an Introduction to Computer Science
John Zelle, Franklin, Beedle, & Associates, 517 pages.
Programming Python
Mark Lutz, O'Reilly, 2001, 1255 pages.
Python Cookbook
Alex Martelli & David Ascher, O'Reilly, 2002, 575 pages.
Rapid GUI Programming with Python and Qt
Mark Summerfield. Prentice Hall, 2007, 584 pages.
Download