MAC110 - Introdução à Computação
Turma 48 -- Licenciatura em Matemática (not) -- 2o. Semestre de 2017
Aulas
- 01/ago (3af)
- Informações gerais sobre a disciplina. Como pode ocorrer
mudanças, consulte sempre a página
principal desta disciplina.
- Conceitos básicos
- Hardware x software
- Do que trata a Ciência da Computação
- O que é um algoritmo
- Compilador | linguagem de alto
nível | linguagem de máquina
- Tarefa para casa. Ler (sem pressa) o seguinte material:
- 04/ago (6af)
- 08/ago (3af)
- Introdução à linguagem Python -
Primeiros
passos (notas de aula no panda.ime.usp.br)
- Meu primeiro programa: ola.py
- Somando 2 números inteiros: soma2numeros.py
- Outros exemplos
- Estrutura de um programa em Python (faremos como nos
exemplos acima e nos demais que serão disponibilizados nesta página).
- Variáveis,
expressões e funções de entrada e
saída. Veja mais info aqui
- Como escolher nomes de variáveis. O que é uma
expressão. O que é um comando.
- Tipos de variáveis (por ora): string e int
- Operadores aritméticos: +, -, *, /, //, %
- Operadores relacionais: <, >, <=, >=, ==, !=
- Comandos de entrada/saida (funções)
input( ) e print( ))
- A funçao int( ) (para conversão de tipo)
- Comando de atribuição.
- 11/ago 6af)
- Detalhamento dos comandos da aula anterior
- O comando while. <====
IMPORTANTÍSSIMO!
- 15/ago (3af)
- Mais usos do comando while:
aula3_acha_k.py |
aula3_mdc.py |
aula3_mdc_2.py
- O operador % (mod) (resto da divisão de dois
números inteiros --- o resto é sempre um número inteiro).
Exemplo1: 10 % 3 é igual a 1; exemplo2: 0 % 5 é igual a 5; exemplo3: 1 % 2 é igual a 1. Para testar
se um número k é par, basta testar se o resto da divisão de k por 2 é
igual a zero (ou seja, testar se (k % 2 == 0))
- 18/ago (6af)
- Comentários sobre solução do exercício de casa. Vejam duas
soluções aqui: solucao1 (acha_k_sol1.py);
solucao2 (acha_k_sol2.py) (com formato)
- O comando if <=== Novo!
- INFO SOBRE EP1 (1o. Exercício-Programa) na aula: onde
acessá-lo e prazo de entrega (no PACA) --- veja o enunciado na pagina da disciplina
- 22/ago (3af)
- 25/ago (6af)
- 29/ago (3af)
- 1/set (6af)
- Exemplos sobre manipulação de digitos.
- Conta ocorrencias de um dado dígito
- imprime um número dado na ordem inversa
(de seus dígitos)
- mudanças de base: (a) base 2 para a base 10,
(b) base 10 para
2
- Verificar ocorrência de dígitos consecutivos
iguais (tem 2 conceitos importantes: lidar com atual e anterior,
e fazer uso de variável booleana indicadora de status):
veja aqui.
- Problemas a serem resolvidos em casa (foram discutidos
em aula):
- Dado n (um número inteiro positivo), verificar se
n é palíndrome.[Definição: n é
palíndrome, se a leitura de n da esquerda para a direita
coincide com a leitura de n da direita para a
esquerda. Exemplo: n=2357532 e n=4774 sào
palíndromes; n=678 não é palíndrome.]
- Problema: Dado n (um número inteiro positivo),
verificar se todos os números 1, 2 e 3 ocorrem como
dígitos de n.
- Dado n (um número inteiro positivo),
verificar se todos os dígitos de n são menores que
8. [Resolver usando "indicador de status" (variável
booleana)]
- Dado n (um número inteiro positivo),
imprimir o número formado apenas pelos dígitos ímpares de n na
ordem inversa em que ocorrem em n. (E se fosse na mesma ordem?)
4/set (2af) -- Caderno de Exercícios
Caderno de Exercícios (Projeto MAC Multimídia) (Com alguns
exercícios resolvidos.)
4/set (2af) - EP2 disponiblizado - Veja o enunciado do
EP2 na pagina
principal da disciplina
4 a 8 de setembro -- Recesso Escolar --- Aproveitar para
fazer o EP2
<=========== AVISO!
- 12/set (3af)
- 15/set (6af)
- Haverá aula no horário previsto.
- 19/set (3af) -- PRIMEIRA PROVA
- 22/set (6af)
- Malhas encaixadas
- Funções - conceitos e alguns exemplos
- 26/set (3af)
- Malhas encaixadas e funções
- 29/set (6af)
- 03/out (3af)
- 06/out (6af)
- 10/out (3af)
- 17/out (3af)
- 20/out (6af)
- 24/out (3af)
- Busca em lista - Solucao1 -- Solucao2 -- Solucao3 -- Compare as 3 solucoes (a terceira e' a mais simples e elegante.)
- Criacao de lista sem repeticao -- Solucao
- 27/out (6af)
- 31/out (3af) -- SEGUNDA PROVA
- 7/nov (3af)
- 10/nov (6af)
- 14/nov (3af)
- 17/nov (6af)
- Tirar dúvidas sobre o EP4
-
Como ler os dados de um arquivo, e salvar os resultados em
outro arquivo (veja aqui)!. Explicações serão dadas na aula.
- Exercício para casa (relacionado ao EP4): ler uma matriz
correspondente a um labirinto n x m e construir uma matriz (m+2)x(n+2)
correspondente a esse labirinto com uma moldura de "parede" ao seu redor.
O seu programa deve ler de um arquivo (onde a primeira linha
contém os valores de m e n, e as demais linhas
correspondem às linhas da matriz), e deve salvar a matriz
com moldura em um outro arquivo. Fazer individualmente, como
parte do EP4, e para tirar dúvidas na próxima aula.
- 21/nov (3af)
- 24/nov (6af) Ex. com matrizes/funcoes (recapitulação) -- Teste de conhecimento básico: (1)
Sabe ler uma matriz? (2) Sabe imprimir uma matriz (com layout de
matriz)? (3) Sabe criar e inicializar uma matriz com um
valor? (4) Sabe como acessar uma linha de uma matriz? (5) Pode
ter função que devolve uma matriz? (6) Como descobrir o número
de linhas de uma matriz? (7) Como descobrir o número de
colunas de uma matriz?
- 28/nov (3af) -- TERCEIRA PROVA
- 1/dez (6af) -- aula
- 5/dez (3af) -- PROVA SUB
- 8/dez (6af) - Não haverá aula
Página principal de
MAC110 (Lic. Matemática (not) - 2o. Semestre de 2017) - Turma 48
Yoshiko Wakabayashi
<yw@ime.usp.br>
Last modified: Mon Oct 1 19:09:48 BRT 2018