Mudanças entre as edições de "PRG29002 - Programação I - Eng.Telecom 2016-1"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 19: Linha 19:
 
**Lista de exercícios 2: Entregar por e-mail (seguir instruções) ou manuscrito
 
**Lista de exercícios 2: Entregar por e-mail (seguir instruções) ou manuscrito
 
***Gabarito dos pseudocodigos [[Media:LISTA_2_EXERCICIO_1.pdf|Q1]] [[Media:LISTA_2_EXERCICIO_2.pdf|Q2]] [[Media:LISTA_2_EXERCICIO_3.pdf|Q3]] [[Media:LISTA_2_EXERCICIO_4.pdf|Q4]] [[Media:LISTA_2_EXERCICIO_5.pdf|Q5]]  
 
***Gabarito dos pseudocodigos [[Media:LISTA_2_EXERCICIO_1.pdf|Q1]] [[Media:LISTA_2_EXERCICIO_2.pdf|Q2]] [[Media:LISTA_2_EXERCICIO_3.pdf|Q3]] [[Media:LISTA_2_EXERCICIO_4.pdf|Q4]] [[Media:LISTA_2_EXERCICIO_5.pdf|Q5]]  
 
 
**Lista de exercícios 3: Entregar por e-mail (seguir instruções) ou manuscrito  
 
**Lista de exercícios 3: Entregar por e-mail (seguir instruções) ou manuscrito  
 
***O estudante deve entregar na forma de fluxograma cada desafio que resolvemos na aula de 13/04 na forma de pseudocódigo, e devem ser entregues na forma de pseudocódigo os fluxogramas que fizemos em sala -  
 
***O estudante deve entregar na forma de fluxograma cada desafio que resolvemos na aula de 13/04 na forma de pseudocódigo, e devem ser entregues na forma de pseudocódigo os fluxogramas que fizemos em sala -  
Linha 30: Linha 29:
 
**Prova 1: Algoritmos e lógica utilizando pseudocódigo e fluxogramas
 
**Prova 1: Algoritmos e lógica utilizando pseudocódigo e fluxogramas
 
*25/05/2016
 
*25/05/2016
**Lista de exercícios 6: Aguardar instruções de entrega
+
**Lista de exercícios 6: Entregar via moodle
 
*28/05/2016
 
*28/05/2016
**Desafio 2 (jogo da velha): Aguardar instruções de entrega
+
**Desafio 2 (jogo da velha): Entregar via moodle
 +
*22/06/2016
 +
**Prova 2: Prática
  
 
==Material de aula==
 
==Material de aula==

Edição das 16h44min de 31 de maio de 2016

Professor da Disciplina: Cleber Jorge Amaral
e-mail: cleber.amaral@ifsc.edu.br

Critérios e instrumentos de avaliação

  • Conceito => Somatório(Nota)/QtNotas
    • Esta é uma previsão, eventuais mudanças serão comunicadas no decorrer das atividades
    • Nota[1]: Nota da Avaliação 1 (a definir data e formato)
    • Nota[2]: Nota da Avaliação 2 (a definir data, formato e necessidade desta segunda avaliação)
    • Nota[3]: Média das notas das Listas de exercícios
    • Nota[4]: Nota do Projeto final
  • Frequência
    • Mínimo 75%

Datas importantes

  • 13/04/2016
    • Lista de exercícios 1: Entregar por e-mail ou manuscrito
    • Desafio 1 (projeto de cafeteira): Entregar por e-mail ou manuscrito a Narrativa, Fluxograma e Pseudocódigo
  • 20/04/2016
    • Lista de exercícios 2: Entregar por e-mail (seguir instruções) ou manuscrito
    • Lista de exercícios 3: Entregar por e-mail (seguir instruções) ou manuscrito
      • O estudante deve entregar na forma de fluxograma cada desafio que resolvemos na aula de 13/04 na forma de pseudocódigo, e devem ser entregues na forma de pseudocódigo os fluxogramas que fizemos em sala -
      • Os títulos dos algoritmos são citados na mídia 1.3 (link abaixo) mas os detalhes foram trabalhados em sala e fotografados pelos próprios alunos
  • 27/04/2016
    • Lista de exercícios 4: Entregar por e-mail (seguir instruções) ou manuscrito
  • 11/05/2016
    • Lista de exercícios 5: Entregar por e-mail (seguir instruções)
  • 17/05/2016
    • Prova 1: Algoritmos e lógica utilizando pseudocódigo e fluxogramas
  • 25/05/2016
    • Lista de exercícios 6: Entregar via moodle
  • 28/05/2016
    • Desafio 2 (jogo da velha): Entregar via moodle
  • 22/06/2016
    • Prova 2: Prática

Material de aula

Exercicios complementares - Vetores
  1. Implementar um programa em C para ler 10 números reais (float) para um vetor. Usar o comando while.
  2. Modificar o exercício para computar a média dos 10 números que estão no vetor.
  3. Modificar o exercício anterior para computar a quantidade de números do vetor que estão acima da média.
  4. Refazer os exercícios anteriores usando o comando for;
  5. Considere um vetor global de floats chamado vetRnd de tamanho 100. Construa uma função que inicia este vetor com 100 números randômicos entre 1 e 6.
  6. Sobre o exercício anterior, acrescente uma função para imprimir o número de 0s,1s,...6s do vetor.
  7. Implementar uma função que recebe dois vetores de inteiros como parâmetro e o tamanho dos mesmos (suponha vetores de mesmo tamanho). A função deve retornar o número de elementos iguais comparados posição por posição. O esqueleto da função deve ser como:
    int compara_vetores(int ve1[],int vet2[], int tamanho)
    {
      int num_elementos;
    
      return num_elementos;
    }
    

Exemplo: Para os vetores x[]={1,1,3,4,5} e y[]={1,2,3,3,5} temos três elementos iguais (nas posições 0, 2 e 4).

Referências importantes

Ferramentas úteis

  • VisualG3: Uma IDE para desenvolvimento de programas em pseudocódigo (freeware), permite editar e compilar programas utilizando uma sintaxe própria de pseudocódigo muito parecida com a que trabalhamos em sala. Muito útil para verificar o funcionamento real dos algoritmos.
  • LibreOffice: O LibreOffice é um programa gratuito (freeware) e de código aberto (opensource). Além de editor de textos, planilhas e apresentações tem a ferramenta Draw que permite a criação de fluxogramas.
  • VirtualBox: O Oracle VirtualBox é um programa gratuito (freeware) que permite criar e instanciar máquinas virtuais. O uso de máquinas virtuais é bastante interessante quando desejamos ter diferentes sistemas operacionais em um computador bem como quando se está realizando ensaios e deseja-se isolar estes experimentos do sistema principal.
  • Ubuntu: O Ubuntu é uma distribuição linux (freeware e opensource) bastante estável e com uma comunidade bastante ativa que está sempre atualizando o sistema e presente nos foruns e redes sociais para dirimir dúvidas.
  • LinuxMint: O LinuxMint é uma distribuição linux (freeware e opensource) bastante estável e confortável aos usuários windows, pois traz um gerenciador de janelas configurado de uma forma mais natural para estes usuários e vem com um conjunto de programas pré-instalados que consegue atender a maior parte das demandas inicias.

Orientações para entrega dos trabalhos

  • As listas podem ser entregues por email (para cleber.amaral@ifsc.edu.br) até a meia noite do prazo (ou manuscrito em sala caso especificado).
    • Assunto do e-mail: "PRG29002 - xxx" onde xxx é "lista de exercicios 1", "desafio 1", etc.
    • Nome do arquivo anexo: "seu nome completo/ demais colegas do grupo" - "lista de exercícios 1", "desafio 1", etc.
    • Formato do arquivo em anexo: PDF (cada lista num único arquivo feito em editor de texto, exportado para PDF).
      • Regra válida a partir de 14/04 (isento apenas trabalhos "lista 1")
  • Para os trabalhos não entregues no prazo (não justificados) temos a penalidade de 1 ponto por dia de atraso
    • Excepcionalmente para a lista1, entregas até 19/04 (até 6 dias de atraso) terá desconto de 1 ponto apenas, seguindo a regra acima para entregas deste trabalho após 19/04
    • Desafios não tem extensão de prazo, não adianta enviar se o prazo se esgotou
      • Para o desafio1 o sistema de desconto por dia de atraso foi utilizado, este ficou como exceção

Eventos da área de desenvolvimento

Horário de Monitoria

Sites úteis

  • cplusplus.com: Traz tutoriais, artigos e descrições de funções C e C++
  • codechef.com: Permite a edição, compilação e testes online de códigos em várias linguagens inclusive ANSI C
  • codecademy.com: Tem cursos gratuitos de programação, bastante didáticos em inclusive em português. Porém não tem curso de C, uma alternativa interessante para quem quiser aprender uma outra linguagem que tem boa aceitação inclusive para desenvolvimento de sistemas embarcados é o Python
  • kaggle.com: Site tem publicado centenas de algoritmos em diversas linguagens para resolver os mais variados problemas. Tem também competições de algoritmos

Turma Conceitos Numéricos

Conceitos Individuais - Avaliações principais

Conceitos
Matrícula A1
151002039-0 6
152000674-8 0
151001400-4 0
152000542-3 8
152001576-3 9
151006902-0 3
151005163-5 10
151005591-6 4
151003419-6 0
152000616-0 0
152000226-2 8
152000502-4 4
152001502-0 5
151001656-2 4
152000293-9 7
152000120-7 6
152006025-4 8
152000331-5 5

Consolidação - Avaliações principais

Consolidação
Conceito A1
10 5%
9 5%
8 16%
7 5%
6 11%
<=5 / Ausentes 55%


Conceitos Individuais - Avaliações secundárias

Conceitos
Matrícula L1 D1 L2 L3 L4 L5 T7 T8
151002039-0 10 0 0 0 8 0
152000674-8 0 0 0 0 0 0
151001400-4 0 0 0 0 0 0 0 0
152000542-3 10 0 8 10 10 9
152001576-3 6 0 3 0 9 10
151006902-0 0 10 0 0 0 0
151005163-5 0 0 0 0 0 0
151005591-6 10 0 9 9 0 0
151003419-6 8 0 3 10 6 0
152000616-0 10 0 0 0 8 0
152000226-2 6 10 0 0 0 0
152000502-4 10 10 7 4 9 5
152001502-0 10 0 10 10 8 8
151001656-2 10 10 6 9 9 9
152000293-9 10 0 4 0 9 10
152000120-7 10 0 7 10 9 4
152006025-4 10 0 5 10 7 0
152000331-5 8 0 3 9 10 10

Turma Conceitos por Letras

Conceitos Individuais - Avaliações principais

Conceitos
Matrícula A1
142003344-1 D
141005012-2 0
142001814-0 D
142001213-4 D
142002143-5 B
142001834-5 0
142003393-0 0
142001425-0 0
132005743-8 D
121003322-4 X

Consolidação - Avaliações principais

Consolidação
Conceito A1
A 0%
B 10%
C 0%
D 40%
Ausentes 50%

Conceitos Individuais - Avaliações secundárias

Conceitos
Matrícula L1 D1 L2 L3 L4 L5 T7 T8
142003344-1 C A X X X X
141005012-2 X X X X X X
142001814-0 A X C C C X
142001213-4 C A X X X B
142002143-5 C X X X B C
142001834-5 X X X X X X
142003393-0 X X X X X X
142001425-0 X X X X X X
132005743-8 X X X X X X
121003322-4 X C X X X X

Critério de conversão Numérico x Letra

  • A: 9,0 a 10,0
  • B: 7,5 a 8,9
  • C: 6,0 a 7,4
  • D: 0,0 a 5,9