MAC115 - Introdução à Computação
Física/Bacharelado - 2o. Semestre de 2000 - Turma 23
Aulas
- 23/8/00 - Informações sobre a disciplina[HTML |
PostScript | PDF]
- 25/8/00 - Alguns 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.
- Modelo simplificado de um computador
- O computador a papel
- Veja aqui o programa
que executamos no computador a papel.
- 30/8/00 - Aprendendo C com exemplos
- Exemplos de programas em C
- Meu primeiro programa: ola.c
- Somando 2 numeros inteiros: soma2.c | soma2a.c (veja a
diferença entre as saídas desses programas)
- Imprimindo os inteiros de 1 a 100: numeros100.c
- Declaração de variáveis do tipo int.
- Comandos de entrada/saida (funções printf e
scanf), comandos de atribuição, o comando
while.
- Exercícios.
- 01/9/00 - Aula de demonstração do uso do compilador
lccwin32 (no Auditório Abrahão de Moraes).
- 06/9/00 - Variáveis, palavras reservadas, tipos de dados, expressões
aritméticas. Mais exemplos de uso do comando
while. Exercícios
sugeridos (e resolvidos: acha_n.c,n_impar.c,
soma_ate0a.c).
prog1.5.c).
- 13/9/00 - O comando for. Refazendo os exemplos feitos
com o comando while. Sobre loops e
break. O uso de sentinelas. Exemplo: soma_ate0b.c. Exercícios para casa.
- 15/9/00 - O comando if e o comando if
else. Operadores relacionais (==,
!=, <, >,
<=, >=). Exemplos:
num_neg.c,
aula_pratica.c,
prog1.20a.c.
Correção dos exercícios para casa:
prog1.5.c,
prog1.5for.c
fatorial.c,
fatorial_b.c,
fatorial_for.c.
- 20/9/00 - Entrega do primeiro Exercício-Programa (veja na
página principal de MAC-115).
Mais exemplos de uso dos comandos if e if else:
prog1.20b.c,
prog1.20c.c,
Operadores lógicos (&&, ||,
!). Identificação de anos bissextos: bissexto.c, bissexto2.c.
- 22/9/00 - Ex.1.7 do Caderno de Exercícios (maior nota, menor
nota)prog1.7.c. Maximo Divisor
Comum (mdc usando algoritmo de Euclides): duas soluções. Como obter
os digitos de um dado numero: digitos.c. Inversão de um dado
numero. Para casa: Ex.1.15 do Caderno de Exercícios (Seqüência de
Fibonacci).
- 27/9/00 - (Comentarios sobre inicializacoes com valores
artificiais -- Ex.1.15). Malhas encaixadas (comandos for encaixados):
tabuada5.c,
tabela_triang.c.
Tabela piramidal até 10 (veja solução e resolva o exercício
proposto no próprio programa: piramide.c). MDC de vários
números; geração de triplas inteiras (a,b,c) cuja soma dá n (um
inteiro dado).
- 29/9/00 - Variáveis do tipo float e
double. Formatos de entrada (%lf, %f, %e, %g) e de saída
(%f, %e, %g). Séries. Cálculo de uma aproximação para a constante e
(até atingir o limite de precisão de ponto flutuante): const_e.c.
- 04/10/00 - Mais séries (com diferentes critérios de parada).
(a) n primeiros termos: PI.c (veja troca de
sinal), arctan.c, exp2.c (veja uso
da biblioteca math);
(b) valor absoluto do termo <= epsilon:
exp2epsilon.c
(c) valor absoluto de dois termos consecutivos <=
epsilon.
Exercícios (deixados em aula): outra série para o
cálculo de PI.
- 06/10/00 - Introdução a funções. Funções inteiras: mdc(a,b),
fatorial(n), max(a,b); funções reais: raiz quadrada
usando série; funções sem tipo. Um exemplo de uso de
função (modificando o programa visto exp2epsilon.c):
exp2_func.c).
- 11/10/00 - [Não houve aula: professora foi para um evento científico.]
- 13/10/00 - [Não houve aula (12/10/00 foi feriado).]
- 18/10/00 - Revisão de tópicos já vistos: importância de um bom
layout (indentação apropriada dos comandos); uso de
flags(para indicar mudança de status); laços infinitos e
uso de break; cuidado com divisão de inteiros; mudança de
tipos: (double) i, (int) x. Comentários sobre alguns exercícios:
sequências de números (testes de termos consecutivos), dígitos de um
número (como montar novos números), ex. 3.2 (hipotenusa), ex....(
múltiplos), primos (teste até sqrt(.)).
ENTREGA (AOS ALUNOS) DO SEGUNDO EXERCÍCIO-PROGRAMA.
- 20/10/00 - 1a. PROVA (não será cobrada a parte de funções; quem
souber, pode usar).
- 25/10/00 - [Não houve aula: professora foi para USP-São Carlos.]
- 27/10/00 - Funções: passagem de parâmetros por valor
versus passagem de parâmetros por referência. Variáveis do
tipo ponteiros ou apontadores
(pointers). Dois exemplos: ex0.c e ex1.c. Um exemplo simples em que queremos
alterar o valor de uma variável de main() em uma função, e
portanto precisamos passar a variável "por referência": ordena3.c. Outro exemplo: hm0.c. Construção alternativa: hm1.c (evita passagem por referência). O
método da bisecção para isolar raízes de equações: bisec.c.
- 01/11/00 - Mais sobre pointers. Variáveis do tipo
char. A tabela
ASCII. Entrada e saída: formato %c, getchar() e
putchar().
- 3/11/00 - Finados. Não houve aula.
- 8/11/00 - Mais sobre o tipo char. A biblioteca ctype.h (veja em ctype.txt) Exemplos: programa para
contar vogais, consoantes e outros caracteres: vogais.c ; (usando o comando
switch) vogais_1.c,
vogais_2.c. Programa para
encontrar o comprimento maximo de uma palavra em um texto mais_longa.c
- 10/11/00 - Arrays (variáveis indexadas). Exemplos: inverte.c, roleta.c e conta_char.c. Passagem
de vetores como parâmetros em funções; exemplos: leia_imprima_vetor.c. Exercício
para casa: produto escalar de dois vetores.
- 15/11/00 - Não houve aula (feriado).
- 17/11/00 - Arrays (continuação). Produto escalar de
dois vetores (produto_escalar.c).
Busca de um elemento num vetor (busca.c). Ordenação de um
vetor: método da seleção (ordena_1.c,ordena_1a.c). Dicas sobre
o EP3. Introdução a matrizes: leia_imprima_matriz.c.
- 22/11/00 - Ordenação de vetores, continuação. Método da bolha
(Bublle sort): ordena_bubble.c.
Busca em vetores ordenados; busca binária: busca_binaria.c. Exercícios sobre
matrizes.
- 24/11/00 - Matrizes (continuação). Verifica se uma matriz é simétrica: matriz_simetrica.c; calcula o produto de
uma matriz por um vetor: mz_x_vetor.c, mz_x_vetor2.c; determina se uma matriz é um
quadrado latino: latino.c.
- 29/11/00 - Exercício de Simulação (chamadas de funções: passagem
de parâmetro por valor e por referência): enunciado e resposta.
Mais exercícios sobre
vetores. Tabela de numeros primos (Crivo de Eratóstenes)crivo.c. Triângulo de Pascal
triang_pascal.c.
Comentários sobre o programa para testar se uma matriz é um quadrado
latino (aula anterior).
- 01/12/00 - Exercícios sobre matrizes (ajuda no EP3). Palavras
cruzadas. Veja aqui o programa das palavras cruzadas discutido
em sala: p_cruzada.c. Comentários
sobre o EP3.
- 06/12/00 - Exercícios sobre matrizes e funções.
- 08/12/00 - Prova 2
- 13/12/00 -
- 15/12/00 - Prova substitutiva
Página principal de MAC115 (IF/Bacharelado - 2o. Semestre de
2000).
Yoshiko Wakabayashi
<yw@ime.usp.br>
Last modified: Tue Dec 5 17:57:02 BRDT 2000