Marina Andretta

professora doutora - usp (São Carlos)

departamento de matemática aplicada e estatística - icmc

SME0230 - introdução à programação de computadores (01/2020)


Estagiários PAE: Filomen Incahuanaco Quispe (fincahuanaco @ usp.br). e

                            Germain Garcia (germaingarcia @ usp.br).

Monitor: Gabriel Dalforno (gdalforno7 @ usp.br).


ATENÇÃO: fique atento às atualizações nesta página. Novas informações serão sempre postadas aqui! Se você conhece colegas que não costumam acessar a página, avise-os!

(02/07): o prazo para entrega da prova foi adiado para o dia 05/07 (domingo), às 23h59min.

(26/06): o prazo para entrega da segunda parte do trabalho foi adiado (pela última vez) para o dia 28/06 (domingo), às 20h.

(24/06): o campeonato será realizado no dia 29/06 (segunda-feira), às 9h, na "sala" de aula do Google Meet.

(24/06): o enunciado da prova será liberado, nesta página e no Run Codes (onde será feita a entrega), no dia 25/06 (quinta-feira), às 12h.

(22/06): de acordo com as respostas obtidas pelo formulário, as datas de entrega dos trabalhos e provas foram adiadas. Confira as novas datas nas regras da disciplina no fim desta página.

(22/06): preencha este formulário até dia 22/06, às 22h, para decidirmos se as datas das próximas atividades (entregas de trabalhos e provas) serão mantidas ou adiadas. Ás 22h30min os resultados e a decisão serão postados nesta página.

(18/06): devido a alguns problemas nos casos de teste para o trabalho conjunto de GA e IPC, eles foram atualizados.

(02/06): foram disponibilizados casos de teste para o trabalho conjunto com GA. Veja mais abaixo.

(27/05): a data de entrega da primeira parte do trabalho foi adiada. Veja a alteração nas regras da disciplina no final desta página e no enunciado do trabalho.

(18/05): as datas de entrega dos trabalhos e das provas foram adiados. Veja a alteração nas regras da disciplina no final desta página e no enunciado do trabalho.

(29/04): na sexta-feira, dia 08/05, teremos aula das 10h10min às 11h50min, pelo Google Meet, para discutir o trabalho.

(27/04): foram disponibilizadas as novas regras da disciplina. Veja no final desta página.

(18/03): continuaremos com as aulas virtuais nas aulas de segunda e quarta, no mesmo horário da aula. Avisem seus colegas!

(18/03): na sexta-feira, dia 20/03, haverá exercícios para entrega no Run Codes. Não haverá aula no labrotório, mas a professora e os monitores estarão disponíveis online para tirar dúvidas. Caso você tenha problema em fazer os exercícios, entre em contato por e-mail. Avisem seus colegas!

(17/03): na quarta-feira, dia 18/03, teremos aula virtual da disciplina pelo Google Meet. A aula ficará gravada e o link do vídeo será colocado aqui na página. Para se logar no Google Meet, use seu e-mail da USP para que não seja necessário autorizar sua entrada. Você pode entrar no Google Meet por um navegador ou, caso esteja usando celular ou tablet, pode baixar o aplicativo Hangouts Meet. É importante que, ao entrar, todos desliguem o microfone e o vídeo, para que a conexão fique melhor. As perguntas deverão sempre ser feitas pelo chat. Se tiver mais de um aluno na mesma sala (física), usem fones de ouvido (senão haverá problemas de microfonia). O nome da "reunião" será andretta-sme0230. A aula ocorrerá no horário normal (às 10h10min). Como é a primeira vez que a aula é feita assim, podemos ter algumas dificuldades, mas as adaptações necessárias serão feitas. Avisem seus colegas!

(15/03): devido à pandemia do novo corona vírus, as aulas presenciais no ICMC serão suspensas a partir do dia 16/03 (segunda-feira). No momento, não teremos aula, mas a professora está buscando alternativas. Caso você tenha dificuldades de acompanhar uma possível aula online (por não ter celular/computador, internet, etc), entre em contato com ela e-mail.

(15/03): os atendimentos presenciais dos estagiários PAE, do monitor e da professora ficarão suspensos enquanto as aulas presenciais permanecerem suspensas. Você pode tirar dúvidas com eles através de e-mail. Caso seja necessário, pode combinar com eles uma conversa por vídeo ou por áudio para esclarecer melhor as dúvidas.


Os vídeos e os chats das aulas virtuais estarão sempre disponíveis nesta pasta do Google Drive.


Os exercícios de laboratório e trabalhos estarão disponíveis e deverão ser entregues no Run Codes. Para se matricular, use o código 4Z51.


Material da aula sobre história da computação.

Exercício feito em aula: algoritmo para cozinhar arroz.

Material da aula sobre instruções, tipos de dados e operações.

Exercício feito em aula: programa que lê e imprime os valores de algumas variáveis.

Exercício feito em aula: outro programa que lê e imprime os valores de algumas variáveis.

Material da aula sobre estruturas condicionais.

Exercício feito em aula: programa que lê 3 notas e calcula sua média.

Exercício feito em aula: programa que lê os coeficientes de uma equação de 2o grau e calcula suas raízes reais.

Exercício feito em aula: programa que lê os coeficientes de uma equação de 2o grau e calcula suas raízes complexas.

Dicas sobre a escrita de códigos, elaboradas pelo Gabriel (monitor).

Exercício feito em aula: programa que lê um número e escreve seu nome em português (usando switch-case).

Exercício feito em aula: programa que lê um número e escreve se ele esta entre 1 e 3, entre 4 e 5 ou fora deste intervalo (usando switch-case).

Material da aula sobre estruturas de repetição.

Exercício feito em aula: programa que imprime todos os inteiros entre 1 e 5.

Exercício feito em aula: programa que lê e soma 5 números (usando uma variável para cada número).

Exercício feito em aula: programa que lê e soma 5 números (usando uma variável para acumular a soma).

Exercício feito em aula: programa que lê e soma 5 números (usando a estrutura de repetição "for").

Exercício feito em aula: programa que lê e soma uma quantidade de números definida pelo usuário).

Exercício feito em aula: programa que lê um número e calcula seu fatorial.

Exercício feito em aula: programa que lê um número e calcula seu fatorial. Só aceita número maior ou igual a zero.

Material da aula sobre funções.

Exercício feito em aula: programa calcula a média aritmética entre dois números dados (usando função).

Exercício feito em aula: programa que lê um número e calcula seu fatorial (usando função).

Exercício feito em aula: programa que lê dois números n e k e calcula a combinação de n, k a k (usando função para calcular fatorial).

Exercício feito em aula: programa exemplo de uso de funções.

Exercício feito em aula: programa que lê dois inteiros a e b e imprime todos os inteiros no intervalo de a até b.

Exercício feito em aula: programa que exemplifica alteração de valor de variáveis por funções.

Exercício feito em aula: programa que soma e multiplica os números 13 e 42 (usando função).

Exercício feito em aula: programa que lê os coeficientes de uma equação de 2o grau e calcula suas raízes reais (usando função).

Exercício feito em aula: programa que lê dois números n e k e calcula a combinação de n, k a k (usando função para calcular fatorial e combinação).

Material da aula sobre vetores.

Exercício feito em aula: programa que lê 4 notas, calcula a média dessas notas e imprime quais estão acima ou abaixo da média.

Exercício feito em aula: programa que lê n números e os ordena de forma crescente.

Exercício feito em aula: programa que lê n números e os ordena de forma crescente (usando função).

Material da aula sobre matrizes.

Exercício feito em aula: programa que lê 2 matrizes 3x4 e calcula sua soma.

Exercício feito em aula: programa para jogar Jogo da Velha.

Exercício feito em aula: programa que lê um inteiro n e imprime os n primeiros termos da Sequência de Fibonacci.

Exercício feito em aula: programa que lê um inteiro n e imprime os n primeiros termos da Sequência de Fibonacci (usando função).

Exercício feito em aula: programa que lê um número e calcula seu fatorial (usando função recursiva).

Material da aula sobre registros.

Exercício feito em aula: programa que lê 3 pontos e verifica se eles formam um triângulo.

Exercício feito em aula: programa que lê 3 pontos, verifica se eles formam um triângulo e calcula sua área.

Material da aula sobre ponteiros.

Exercício feito em aula: programa que cria alguns vetores usando alocação dinâmica, preenche-os com 0s e os imprime.

Exercício feito em aula: programa que cria uma matriz (bidimensional) usando alocação dinâmica, preenche-a e a imprime.

Exercício feito em aula: programa que cria uma matriz (tridimensional) usando alocação dinâmica, preenche-a e a imprime.

Exercício feito em aula: programa que cria um vetor usando alocação dinâmica e usa funções para preenchê-lo e imprimi-lo.

Exercício feito em aula: programa que sorteia um número e o usuário tenta adivinhá-lo.

Exercício feito em aula: programa que lê dois nomes e os imprime em ordem alfabética.

Exercício feito em aula: programa que lê os dados de um polinômio P e o valor de um ponto x, calcula o grau de P, imprime P com termos em ordem decrescente de expoente e calcula o valor de P(x).

Exercício feito em aula: programa que implementa uma corrida de letras.

Exercício feito em aula: programa que implementa uma corrida de letras (sem usar matriz).

Exercício feito em aula: programa que lê números de um arquivo de entrada, soma esses numeros e salva o resultado em outro arquivo.


Enunciado da prova.

Enunciado da prova de recuperação.

Enunciado do trabalho.

Enunciado do trabalho conjunto com Geometria Analítica. Caso queira testar seu programa, aqui tem alguns casos de teste. Os arquivos .in têm as entradas e os .out têm as saídas. Ambos podem ser abertos usando editores de texto como Emacs, Gedit, Sublime, Notepad, entre outros.


Enunciado do Exercício 1 (segunda aula de laboratório).

Enunciado do Exercício 2 (segunda aula de laboratório).

Enunciado do Exercício 3 (terceira aula de laboratório).

Enunciado do Exercício 4 (terceira aula de laboratório).

Enunciado do Exercício 5 (quarta aula de laboratório).

Enunciado do Exercício 6 (quarta aula de laboratório).

Enunciado do Exercício 7 (quinta aula de laboratório).

Enunciado do Exercício 8 (quinta aula de laboratório).

Enunciado do Exercício 9 (sexta aula de laboratório).

Enunciado do Exercício 10 (sexta aula de laboratório).

Enunciado do Exercício 11 (sétima aula de laboratório).

Enunciado do Exercício 12 (sétima aula de laboratório).

Enunciado do Exercício 13 (oitava aula de laboratório).

Enunciado do Exercício 14 (oitava aula de laboratório).

Enunciado do Exercício 15 (nona aula de laboratório).

Enunciado do Exercício 16 (nona aula de laboratório).

Enunciado do Exercício 17 (décima aula de laboratório).

Enunciado do Exercício 18 (décima primeira aula de laboratório).

Enunciado do Exercício 19 (décima segunda aula de laboratório).


Regras para a disciplina. Atualizadas em 02/07/2020.


voltar para ensino.

última atualização: 11/08/2020