Cronograma
Agosto
Setembro
Outubro
Novembro
- 4 de novembro:
- Passagem de parâmetro por referência.
- Problema 17.1: (a) Escreva uma função que troca o conteúdo de
duas variáveis. (b) Escreva um programa que leia um
inteiro positivo n e uma seqüência de n inteiros e imprime
a seqüência ordenada. Use obrigatoriamente a função do
item (a).
[uma solução em C]
- Problema 17.2: (a) Escreva uma função que recebe como
parâmetro um inteiro positivo ano e devolve 1 se ano for
bissexto, 0 em caso contrário. (Um ano é bissexto se
(ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0)))
(b) Escreva uma função que tem como parâmetros de entrada
e saída três números inteiros, dia, mes e ano,
representando uma data, e modifica esses inteiros de forma
que eles representem o dia seguinte. (c) Escreva um
programa que lê um inteiro positivo n e uma seqüência de n
datas e imprime, para cada data, o dia seguinte.
- 7 de novembro:
- Strings.
- Problema 18.1: Exercício 5.7 da seção 5 do Caderno de
Exercícios.
- Vetores como parâmetro de função.
- Problema 18.2: (a) Escreva uma função que recebe como
parâmetros duas strings, uma contendo uma frase e outra
uma palavra, e devolve o número de vezes que a palavra
ocorre na frase. (b) Escreva uma função que tem como
parâmetro de entrada e saída uma string e converte todas
as letras da string para maiúsculas. (c) Escreva um
programa que lê uma frase, um número n e uma
seqüência de n palavras, e conta quantas vezes cada
palavra ocorre na frase.
- 11 de novembro:
- Problema 19.1: (a) Escreva uma função que recebe um
número inteiro n>0 e devolve o número de dígitos de n e o
primeiro dígito de n. (b) Escreva um programa que leia um
inteiro positivo n e uma seqüência de n inteiros positivos
e imprime o número de dígitos e o primeiro dígito de cada
um deles.
[uma solução em C]
- Problema 19.2: (a) Escreva uma função que recebe como
parâmetros um número real x, um inteiro não-negativo n e
os coeficientes de um polinômio de grau n, armazenados em
um vetor p, e devolve o valor do polinômio no ponto x. (b)
Escreva uma função que recebe como parâmetros de entrada e
saída um inteiro não-negativo n e um polinômio p (ou seja,
os coeficientes de um polinômio armazenados em um vetor p)
e deriva o polinômio p, ou seja, altera n e p
adequadamente de forma que, após a chamada, em n e em p
estejam guardados, respectivamente, o grau e o polinômio
p'. (c) Escreva um programa que lê um inteiro positivo n,
os coeficientes reais de um polinômio e um real x e
verifica se x é ou não ponto crítico do polinômio. (Ponto
crítico é uma raiz da derivada do polinômio.)
[uma solução em C]
- 14 de novembro:
- Problema 20.1: (a) Escreva uma função de cabeçalho int
divide (int *m, int *n, int d) que recebe três inteiros
positivos como parâmetros e devolve 1 se d divide pelo menos
um entre *m e *n, 0 caso contrário. Fora isso, se d divide
*m, divide *m por d, e o mesmo para o *n. (b) Escreva uma
função que recebe dois inteiros positivos a e b como
parâmetros e devolve o mmc entre eles. Utilize a função do
item (a). (c) Escreva um programa que leia um inteiro n>0 e
uma seqüência de n inteiros positivos e imprima o mmc de
todos os números da seqüência.
- Demonstração do programa acima e de vários errinhos
normais quando se usa passagem de parâmetro por referência,
etc.
- Exercício: (a) Escreva uma função que recebe como
parâmetros de entrada um inteiro positivo n e um vetor com
n inteiros e devolve (ou seja, nesse caso, têm como
parâmetros de saída) dois inteiros, um indicando um
elemento mínimo do vetor e outro indicando um elemento
máximo do vetor. (b) Escreva um programa que leia um
inteiro n e uma seqüência de n inteiros e imprima o índice
e o valor do menor e do maior número da seqüência. Use
obrigatoriamente a função do item (a).
[uma solução em C]
- Fora este, olhe alguns exercícios que foram adicionados
ao Caderno de Exercícios para a versão do ano que
vem. Eles se encontram na (nova) seção 5 da versão web
do Caderno
de Exercícios - Exercícios com Funções - Parte II.
- 18 de novembro:
- Introduzir matrizes
- Problema 21.1: Dados inteiros positivos m e n e uma
matriz real Am x n, imprimir a transposta da
matriz A.
[uma solução em C]
- Problema 21.2: Dados um inteiro positivo n e uma matriz
real n x n, verificar se a matriz é simétrica.
[uma solução em C]
- Problema 21.3: Escreva um programa que, dados m, n, p e duas
matrizes, Amxn e Bnxp, imprime a
matriz resultante do produto de A por B.
[uma solução em C]
Exercício: exercícios 6.1, 6.2 e 6.4 do Caderno de Exercícios. Faça pelo menos dois deles!!!!!!!!!!!!
- 21 de novembro:
- Problema 22.1: Um jogo de palavras cruzadas pode ser
representado por uma matriz Am x n onde cada
posição da matriz corresponde a um quadrado do jogo, sendo
que 0 indica um quadrado branco e -1 indica um quadrado
preto. Indicar na matriz as posições que são início de
palavras horizontais e/ou verticais nos quadrados
correspondentes (substituindo os zeros), considerando que
uma palavra deve ter pelo menos duas letras. Para isso,
numere consecutivamente tais posições. (Exercício 5.9 do
Caderno de Exercício.)
[uma solução em C]
- Matrizes como parâmetros de funções.
- Dois problemas da seção de exercícios complementares:
o problema do ratinho (8.2) e o problema das 8 rainhas (8.7).
- Exercícios 7.5 e/ou 7.14 do Caderno de Exercícios.
[7.5]
[7.14]
- 25 de novembro:
- Exercício 7.6 do Caderno de Exercício.
[7.6]
- Exercício 7.16 do Caderno de Exercício.
- Exercícios recomendados de simulação: 7.20 e 7.25.
- Mais um exercício para você treinar: 7.11.
- 28 de novembro:
- 2 de dezembro:
Matéria da prova: inteiros, reais,
caracteres, vetores, matrizes, funções (com parâmetros por
valor, por referência, e vetores e matrizes como
parâmetros).
(Seções de 1 a 7 do Caderno de Exercícios impresso, com ênfase
maior às seções de 5 a 7; seções de 1 a 8 da versão web do Caderno de
Exercícios.)
Last modified: Mon Dec 1 14:15:31 BRST 2003