MAC115 - Introdução à Computação

Física/Bacharelado - 2o. Semestre de 2000 - Turma 21

Aulas

  1. 23/8/2000 Discussão inicial sobre a disciplina.
  2. 25/8/2000 O processo de compilação de um programa.
  3. 30/8/2000 Mais exemplos introdutórios de programas em C. Variáveis: declaração e a noção de tipo. O tipo inteiro (int). Entrada e saída de inteiros: as funções scanf() e printf() da biblioteca stdio, formato %d para leitura e impressão de inteiros. Comandos de atribuição. Operações aritméticas básicas com inteiros. Programas-exemplos: soma2a.c, soma2b.c
  4. 1/9/2000 Aula de demonstração do uso do compilador lccwin32 (no Auditório Abrahão de Moraes).
  5. 6/9/2000 Expressões aritméticas, ordem de execução das operações, atribuições abreviadas. Iteração (laços): o comando while. Exemplos: numeros.c, n_numeros.c; soma100.c, soma_n.c. Uma solução para o problema deixado como exercício: acha_N.c
  6. 13/9/2000 Mais exemplos simples de repetições: prog1.5.c, prog1.5for.c. Outro exemplo: fatorial.c, fatorial_b.c, fatorial_for.c. O uso de sentinelas em entradas. Exemplo: soma_ate0.c.
  7. 15/9/2000 O comando if e o comando if else. Exemplos: num_neg.c, aula_pratica.c, prog1.20.c.
  8. 20/9/2000 Entrega do primeiro Exercício-Programa (veja na página principal de MAC-115). [O professor estava fazendo uma prova e portanto não deu aula. Os alunos puderam assistir aula com a Turma 23 (profa. Yoshiko).]
  9. 22/9/2000 [O professor continuava fazendo sua prova e portanto não deu aula. Os alunos puderam assistir aula com a Turma 23 (profa. Yoshiko).]
  10. 27/9/2000 Mais exemplos de uso dos comandos if e if else: prog1.20b.c. Outra solução para o problema dos 3 números: prog1.20c.c. Expressões booleanas (operadores relacionais ==, !=, <, >, <=, >= e operadores lógicos &&, ||, !). Identificação de anos bissextos: bissexto.c. Outra solução (importante!): bissexto2.c.
  11. 29/9/2000 Comentários sobre a entrega do EP1. Determinação do máximo e do mínimo: prog1.7.c. O algoritmo de Euclides: euclides.c. Laços encaixados: fatoração de um número [fatores.c] e tabuada [tabuada5.c].
  12. 4/10/2000 Exercícios sobre laços encaixados: Variáveis do tipo double. Exemplos básicos. Entrada e saída para o tipo double (%lf e %g). Séries: estimativa de e (eee.c), estimativa de exp x (exp.c). Uma série um pouco mais complicada (estude este exemplo!): estimativa de arctan x (arctan.c). Note que você pode estimar pi calculando arctan 1.

    A biblioteca math. Exemplos de uso: exp2.c, arctan2.c.

  13. 6/10/2000 Três possíveis critérios de parada para somas de séries: exp2.c (como antes), exp2epsilon.c, exp2indif.c [outras formas de controlar o laço: exp2indif2.c, exp2indif3.c]. Estimativa de log(1 - x): log.c. Introdução a funções. Um exemplo: exp_f.c. Outro exemplo: explog.c.
  14. 11/10/2000 [O professor estava em um encontro científico] Não houve aula.
  15. 13/10/2000 Não houve aula (12/10/2000 foi feriado).
  16. 18/10/2000 Exercícios de revisão para a prova. O problema do 3x+1 (Problema de Collatz): collatz.c. A probabilidade de dois números serem coprimos: coprimos.c. A função zeta: zeta.c. Determinação do máximo divisor comum de uma seqüência de números: m_euclides.c.
  17. 20/10/2000 Prova 1!
  18. 25/10/2000 Mais exemplos de funções. Um programa para encontrar uma aproximação para a raiz quadrada de um número: raiz.c. O método de Newton-Raphson para encontrar uma aproximação de uma raiz de uma equação genérica f(x) = 0: newton.c.
  19. 27/10/2000 Passagem de variáveis por referência. 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.
  20. 1/11/2000 O tipo char. A tabela ASCII. Aritmética com caracteres. Entrada e saída: getchar() e putchar(). A biblioteca ctype (veja os protótipos em ctype.txt).
  21. 3/11/2000 Finados. Não houve aula.
  22. 8/11/2000 Um novo comando de controle de fluxo: switch. Programa para contar o número de vogais em um texto: vogais.c. Programa para encontrar o comprimento maximo de uma palavra em um texto mais_longa.c. Variáveis indexadas. Exemplo inicial com vetores: inverte.c.
  23. 10/11/2000 Mais exemplos introdutórios com vetores: roleta.c e conta_char.c. Passagem de vetores como parâmetros em funções; exemplos: leia_imprima_vetor.c. Mais exemplos: produto_escalar.c.
  24. 15/11/2000 Recesso escolar.
  25. 17/11/2000 Discussão sobre o EP3 (dicas iniciais). Introdução a matrizes: leia_imprima_matriz.c. Mais vetores. Busca de um elemento em um vetor: busca.c (com sentinela). Ordenação de um vetor; discussão inicial. Idéia do algoritmo da bolha.
  26. 22/11/2000 Ordenação de vetores, continuação. Método da seleção: ordena_1.c, ordena_1a.c. Método da bolha: ordena_bubble.c. Busca em vetores ordenados; busca binária: busca_binaria.c.
  27. 24/11/2000 Mais discussão sobre o EP3. Exercícios com matrizes. Verifica se uma matriz é simétrica: matriz_simetrica.c; calcula o produto de uma matriz por um vetor: mz_x_vetor.c e mz_x_vetor2.c.
  28. 29/11/2000 [Professor Yoshi em Brasília] Os alunos devem assistir aula na turma 23, com a professora Yoshiko.
  29. 1/12/2000 Mais exercícios com matrizes: este programa determina se uma matriz é um quadrado latino: latino.c. Exercício. Dizemos que uma matriz n x n inteira A é uma matriz de permutação se em cada linha e em cada coluna houver n - 1 elementos nulos e um único elemento igual a 1. Escreva programa que recebe como entrada um inteiro n e uma matriz A de inteiros n x n e verifica se esta matriz é uma matriz de permutação. Palavras cruzadas. Veja aqui o programa das palavras cruzadas discutido em sala: p_cruzada.c.
  30. 6/12/2000 (As notas da P1 serão divulgadas até esta data.) Aula de exercícios; não percam!
  31. 8/12/2000 Prova 2!
  32. 13/12/2000 (As notas da P2 serão divulgadas até esta data.) Aula sobre strings. Exemplos discutidos: str.c, full.c, full1.c, full2.c, my_sort.c. [Não houve aula, por falta de quem assistisse...]
  33. 15/12/2000 Prova substitutiva!

Calendário

         August 2000             September 2000            October 2000    
     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa 
            1  2  3  4  5                     1  2      1  2  3  4  5  6  7 
      6  7  8  9 10 11 12      3  4  5  6  7  8  9      8  9 10 11 12 13 14 
     13 14 15 16 17 18 19     10 11 12 13 14 15 16     15 16 17 18 19 20 21 
     20 21 22 23 24 25 26     17 18 19 20 21 22 23     22 23 24 25 26 27 28 
     27 28 29 30 31           24 25 26 27 28 29 30     29 30 31 

        November 2000            December 2000        
     Su Mo Tu We Th Fr Sa     Su Mo Tu We Th Fr Sa    
               1  2  3  4                     1  2    
      5  6  7  8  9 10 11      3  4  5  6  7  8  9    
     12 13 14 15 16 17 18     10 11 12 13 14 15 16    
     19 20 21 22 23 24 25     17 18 19 20 21 22 23    
     26 27 28 29 30           24 25 26 27 28 29 30    
                              31 


Página principal de MAC115 (IF/Bacharelado - 2o. Semestre de 2000).
Netscape-HTML Checked!
Y. Kohayakawa <yoshi@ime.usp.br>

Last modified: Wed Dec 13 09:19:04 BRDT 2000