PRG29002 - Programação I - Eng.Telecom 2016-2
Professor da Disciplina: Cleber Jorge Amaral
e-mail: cleber.amaral@ifsc.edu.br
Ementa de PRG29002
- Ementa da disciplina na wiki: Engenharia de Telecomunicações 2ª Fase
Critérios e instrumentos de avaliação
- Conceitos numéricos entre 0 e 10. 0 é reservado para alunos com frequência insuficiente
- N1 = Prova teórica sobre pseudocodigo e fluxograma (sem apoio de computador)
- N2 = Prova prática sobre C
- N3 = Apresentação de projeto de desenvolvimento em C (Avaliação do projeto = 30% e da performance do aluno na apresentação = 70%)
- Recuperação realizada após cada prova e do trabalho uma reapresentação que valerá no máximo conceito 7.
- Média = (N1+N2+N3)/3
- Ter 75% de frequência.
Datas importantes
- 30/09 - Prova 1: Lógica de algoritmos em fluxograma, pseudocódigo e C
- Possivel recuperação da p1 a marcar
- 21/11 - Prova 2: Prática em linguagem C
- Possivel recuperação da p2 a marcar
- 12/12 e 16/12 - Apresentação do projeto final
- 19/12 - Possivel recuperação do projeto final
Material de aula
Diário de aula
Introdução aos algoritmos utilizando fluxograma
Aula inaugural e introdução aos algoritmos |
---|
|
Algoritmos - fluxogramas |
---|
- - - - - - - - - - - - - - - - - - - - - - - Estado atual das chaves: R1 = Emprestada (João) R2 = Disponível CAD2 = Emprestada (Pedro) CAD3 = Disponível - - - - - - - - - - - - - - - - - - - - - - - 1: pegar/devolver uma chave 2: cadastro de chaves 3: cadastro de pessoas 4: ver histórico de empréstimos 5: sair do programa Digite a opção ______
Digite sua identificação: ___ Digite o nome da chave a pegar ou devolver: ____
As chaves atualmente cadastradas são: R1, R2, CAD2, CAD3 Digite um nome existente para deletar ou um novo nome para criar uma nova: ____
|
Fluxogramas |
---|
|
Pseudo-código
Pseudo-código utilizando Portugol - repetições |
---|
Exercícios - série 1
Exercícios - série 2
|
Referências
Referências bibliográficas
- Araújo, Everton Coimbra de. Algoritmos: fundamento e prática; 3ª ed. [S.l]:Visual Books, 2007. 414p. ISBN 9788575022092.
- KERNIGHAN, Brian W.; RITCHIE, Dennis M C: a linguagem de programação padrão ANSI; 1ª ed.[S.l]:Campus, 1989. 304p. ISBN 9788570015860.
- SCHILDT, Herbert C Completo e Total; 3ª ed. [S.l]:Makron Books, 2009. 827p. ISBN 9788534605953.
- FORBELLONE, Andre L. Lógica de Programação; 3ª ed. [S.l]:Makron Books, 2005. 197p. ISBN 9788576050247.
- KING, K.N. C Programming: A Modern Approach; 2ª ed. [S.l]:W. W. Norton & Company, 2008. 832p. ISBN 9780393979503.
- MANZANO, Jose Augusto Navarro Garcia Estudo Dirigido em Linguagem C. ; 16ª ed. [S.l]:Erica, 2012. 216p. ISBN 9788571948877.
- NEVES, Júlio Cézar Programação Shell Linux; 5a ed. Rio de Janeiro:Brasport, 2005. 408p. ISBN 8574522031.
- VEIGA, Roberto G. A. Comandos do Linux: guia de consulta rápida; ed. São Paulo:Novatec, 2004. 144p. ISBN 85-7522-060-8.
Referências adicionais
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. Ver exemplos de códigos visualG3 em Exemplos VisualG3
- 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.
- Debian: O Debian, é umas das distribuições Linux mais estáveis existentes, suportando atualmente 12 arquiteturas de processador. É software livre e de código aberto e mantido por uma ampla comunidade com mais de 18000 desenvolvedores. Sua versão atual é a 8.5 (codinome Jessie, do filme Toy Story).
- 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.
- dbDesigner4: O dbDesigner é uma ferramenta gratuita para elaboração de diagramas de bancos de dados relacionais. Não trabalhamos com bancos na disciplina PRG29002, porém trabalhamos com dados, esta ferramenta é útil para organizá-los em diagramas.
Plano de aula
| align="center" | 1 || align="center" |12/8 || align="center" | 2 || Aula inaugural, apresentação do professor e turma, apresentação da disciplina e introdução aos algoritmos || |- | align="center" | 2 || align="center" |15/8 || align="center" | 2 || Prática: Introdução ao fluxograma || |- | align="center" | 3 || align="center" |19/8 || align="center" | 2 || Algoritmos continuação (representação por pseudo-codigo, apresentacao o portugol) || |- | align="center" | 4 || align="center" |22/8 || align="center" | 2 || Prática: Resolução de problemas em pseudocódigo e fluxogramas (declaração de variáveis, leia e escreva, uso de condicionais e biblioteca portugol) || |- | align="center" | 5 || align="center" |26/8 || align="center" | 2 || Pseudocódigo: Estruturas de repetição e sub-rotinas || |- | align="center" | 6 || align="center" |29/8 || align="center" | 2 || Prática: Resolução de problemas em pseudocódigo e fluxogramas || |- | align="center" | 7 || align="center" |2/9 || align="center" | 2 || Pseudocódigo: Uso de vetores e sub-rotinas || |- | align="center" | 8 || align="center" |5/9 || align="center" | 2 || Prática: Resolução de problemas com vetores e sub-rotinas || |- | align="center" | 9 || align="center" |9/9 || align="center" | 2 || Introdução ao C, primeiros conceitos de compilação, variáveis, if… else, printf e scanf || |- | align="center" | 10 || align="center" |12/9 || align="center" | 2 || Prática: Aula de exercicios de C || |- | align="center" | 11 || align="center" |16/9 || align="center" | 2 || Continuação C, condicionais, operadores relacionais, operadores lógicos || |- | align="center" | 12 || align="center" |19/9 || align="center" | 2 || Prática: Estruturas de repetição em C || |- | align="center" | 13 || align="center" |23/9 || align="center" | 2 || Revisão de algoritmos para preparação para prova e Funções no C || |- | align="center" | 14 || align="center" |26/9 || align="center" | 2 || Prática: Exercicios de funções || |- | align="center" | 15 || align="center" |30/9 || align="center" | 2 || Avaliação 1 - Algoritmos, resolução de problemas e C básico || |- | align="center" | 16 || align="center" |3/10 || align="center" | 2 || Prática: Correção da Avaliação || |- | align="center" | 17 || align="center" |7/10 || align="center" | 2 || Resolução de exercícios de vetores || |- | align="center" | 18 || align="center" |10/10 || align="center" | 2 || Prática: Resolução de exercícios de fixação de vetores. || |- | align="center" | 19 || align="center" |14/10 || align="center" | 2 || Estruturas || |- | align="center" | 20 || align="center" |17/10 || align="center" | 2 || Prática: Exercícios adicionais de preparação para avaliação 1 de Laboratório || |- | align="center" | 21 || align="center" |21/10 || align="center" | 2 || Exercícios adicionais de preparação para avaliação 1 de Laboratório || |- | align="center" | 22 || align="center" |24/10 || align="center" | 2 || Prática: Avaliação de Laboratório || |- | align="center" | 23 || align="center" |28/10 || align="center" | 2 || FERIADO: DIA DO SERVIDOR PUBLICO || |- | align="center" | 24 || align="center" |31/10 || align="center" | 2 || Prática: Correção da avaliação || |- | align="center" | 25 || align="center" |4/11 || align="center" | 2 || Ponteiros || |- | align="center" | 26 || align="center" |7/11 || align="center" | 2 || Prática: Exercicios ponteiros || |- | align="center" | 27 || align="center" |11/11 || align="center" | 2 || Vetor de Ponteiros e Ponteiro Para Estruturas || |- | align="center" | 28 || align="center" |14/11 || align="center" | 2 || PROVAVEL RECESSO || |- | align="center" | 29 || align="center" |18/11 || align="center" | 2 || Desenvolvimento do Projeto || |- | align="center" | 30 || align="center" |21/11 || align="center" | 2 || Prática: Desenvolvimento do Projeto || |- | align="center" | 31 || align="center" |25/11 || align="center" | 2 || Avaliação II de Laboratório || |- | align="center" | 32 || align="center" |28/11 || align="center" | 2 || Prática: Desenvolvimento do Projeto || |- | align="center" | 33 || align="center" |2/12 || align="center" | 2 || Desenvolvimento do Projeto || |- | align="center" | 34 || align="center" |5/12 || align="center" | 2 || Prática: Desenvolvimento do Projeto || |- | align="center" | 35 || align="center" |9/12 || align="center" | 2 || Desenvolvimento do Projeto || |- | align="center" | 36 || align="center" |12/12 || align="center" | 2 || Prática: Desenvolvimento do Projeto || |- | align="center" | 37 || align="center" |16/12 || align="center" | 2 || Desenvolvimento do Projeto || |- | align="center" | 38 || align="center" |19/12 || align="center" | 2 || Prática: Recuperação || |-