Mudanças entre as edições de "PRG29002 - Programação I - Eng.Telecom 2018-1"
Ir para navegação
Ir para pesquisar
Linha 294: | Linha 294: | ||
{{Cl|1 |15/2 | 2 | Aula inaugural, apresentação do professor e turma, apresentação da disciplina e introdução aos algoritmos | Sala 10}} | {{Cl|1 |15/2 | 2 | Aula inaugural, apresentação do professor e turma, apresentação da disciplina e introdução aos algoritmos | Sala 10}} | ||
{{Cl|2 |19/2 | 2 | Prática de fluxogramas | Lab. Informática, Turma A [13:30 às 15:20], Turma B [15:40 às 17h30] (máximo 11 alunos por turma)}} | {{Cl|2 |19/2 | 2 | Prática de fluxogramas | Lab. Informática, Turma A [13:30 às 15:20], Turma B [15:40 às 17h30] (máximo 11 alunos por turma)}} | ||
− | {{Cl|3 |22/2 | 2 | Introdução ao pseudocódigo até condicionais com resolução de exercícios | Lab Redes 1}} | + | {{Cl|3 |22/2 | 2 | Exercícios de fluxogramas | Sala 10}} |
− | {{Cl| | + | {{Cl|4 |26/2 | 2 | Introdução ao pseudocódigo até condicionais com resolução de exercícios | Lab Redes 1}} |
− | {{Cl|5 | + | {{Cl|5 |1/3 | 2 | Resolução de problemas em pseudocódigo e fluxogramas (declaração de variáveis, leia e escreva, uso de condicionais e biblioteca portugol): Exercícios de preparação para a prova | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|6 |5/3 | 2 | Avaliação1a: Introdução a algoritmos (fluxograma e pseudocódigo) | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|7 |8/3 | 2 | Correção da Avaliação 1a | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|8 |12/3 | 2 | Pseudocódigo: Uso de vetores e sub-rotinas com resolução de exercícios | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|9 |15/3 | 2 | Pseudocódigo: Registros e revisão geral | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|10 |22/3 | 2 | Avaliação1b: Pseudocódigo: vetores, sub-rotinas e registros | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|11 |26/3 | 2 | Correção da Avaliação 1b | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|12 |29/3 | 2 | Recuperação1? / Introdução ao C, primeiros conceitos de compilação, variáveis, controle de fluxo, entrada e saída de dados | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|13 |2/4 | 2 | Continuação C, condicionais, operadores relacionais, operadores lógicos. Prática: Controle de fluxo em C, entrada e saída de dados | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|14 |5/4 | 2 | Prática C | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|15 |9/4 | 2 | Continuação C: estruturas de repetição | Lab Redes 1}} |
− | {{Cl|16 | + | {{Cl|16 |12/4 | 2 | Prática: estruturas de repetição | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|17 |16/4 | 2 | Continuação C: funções | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|18 |19/4 | 2 | Prática: Funções em C | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|19 |23/4 | 2 | Avaliação2: C até funções | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|20 |26/4 | 2 | Correção da prova | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|21 |3/5 | 2 | Recuperação2? / Prática para resolução de exercícios | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|22 |7/5 | 2 | Introdução a vetores e matrizes em C. | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|23 |10/5 | 2 | Resolução de exercícios de vetores Prática: Resolução de exercícios de fixação de vetores. | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|24 |14/5 | 2 | Structs e Unions | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|25 |17/5 | 2 | Prática: Structs e unions | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|26 |21/5 | 2 | Prática: Structs e unions / Compreendendo melhor a função main e exit, gerando números pseudo-aleatórios, defines e operadores e precedências | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|27 |24/5 | 2 | Ponteiros | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|28 |28/5 | 2 | Prática: Exercicios ponteiros | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|29 |4/6 | 2 | Vetor de Ponteiros e Ponteiro Para Estruturas, typedef, recursividade, apresentação do projeto | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|30 |7/6 | 2 | Prática de Ponteiros e structs | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|31 |11/6 | 2 | Avaliação: C até structs e ponteiros | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|32 |14/6 | 2 | Prática: Correção da Avaliação / Desenvolvimento do projeto | Lab Redes 1}} |
− | {{Cl| | + | {{Cl|33 |18/6 | 2 | Apresentação do projeto. Prática: Desenvolvimento do Projeto | Lab Redes 1}} |
− | + | {{Cl|34 |21/6 | 2 | Recuperação3? / Prática: Desenvolvimento do Projeto | Lab Redes 1}} | |
{{Cl|35 |25/6 | 2 | Prática: Desenvolvimento do Projeto | Lab Redes 1}} | {{Cl|35 |25/6 | 2 | Prática: Desenvolvimento do Projeto | Lab Redes 1}} | ||
− | {{Cl|36 |28/6 | 2 | | + | {{Cl|36 |28/6 | 2 | Prática: Desenvolvimento do Projeto | Lab Redes 1}} |
− | {{Cl|37 |2/7 | 2 | Avaliação4 | + | {{Cl|37 |2/7 | 2 | Avaliação4: Apresentação do projeto | Lab Redes 1}} |
{{Cl|38 |5/7 | 2 | Encerramento da disciplina / Recuperação4? | Lab Redes 1}} | {{Cl|38 |5/7 | 2 | Encerramento da disciplina / Recuperação4? | Lab Redes 1}} | ||
{{cronograma-botton |76}} | {{cronograma-botton |76}} |
Edição das 10h12min de 21 de fevereiro de 2018
Dados importantes
- Professor da Disciplina: Heron Eduardo de Lima Ávila
- Email: heron.avila@ifsc.edu.br
- Atendimento paralelo: quartas das 14:30 às 15:30 e sextas das 09:00 às 10:00 na Sala dos Professores de Tele II
Dados da Disciplina
- Ementa da disciplina na wiki: Engenharia de Telecomunicações 2ª Fase
- Página no moodle: moodle
- Monitoria: Programa_de_monitoria_dos_cursos_superiores_de_Telecomunicações
Algoritmos utilizando fluxograma
Introdução aos algoritmos utilizando fluxograma
Introdução aos algoritmos utilizando fluxograma |
---|
|
Desenvolvendo algoritmos na forma de fluxogramas
Desenvolvendo algoritmos na forma de fluxogramas |
---|
Exercícios para resolver em sala de aula:
|
Pseudo-código
Pseudo-código utilizando Portugol - Introdução e condicionais
- Slides sobre pseudocódigo disponibilizados no moodle.
Ver exemplos de códigos Portugol dentro do software portugol (menu Arquivo->Abrir exemplo)
Desenvolvendo algoritmos na forma de pseudo-código - condicionais |
---|
Exercícios para resolver em sala de aula:
|
Desenvolvendo algoritmos na forma de pseudo-código - repetição |
---|
|
Pseudo-código utilizando Portugol - repetições
Exercícios - Pseudocodigo (série 1) |
---|
Exercícios - Pseudocodigo (série 1):
|
Pseudo-código utilizando Portugol - sub-rotinas e registros
Exercícios - Pseudocodigo (série 3) | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Exercícios - Pseudocodigo (série 3):
Parte da implementação do problema das funções trigonométricas
|
Projeto final
O aluno deve propor ao professor um projeto de sua preferência que respeite os requisitos mínimos. Sendo aceito deverá desenvolver o projeto e apresentá-lo.
Requisitos mínimos
- Utilizar funções (ao menos três além do main, sendo que devem receber argumentos e possuir retorno);
- Apresentar menu utilizando switch case e conter laço infinito;
- Utilizar Structs ou Unions;
- Utilizar bibliotecas (além da stdio.h);
- Utilizar diretivas de pré-compilação;
- Utilizar comentários;
- Utilizar Ponteiros;
- Aceitar argumento de entrada no programa;
- Realizar acesso a arquivo, lendo e escrevendo informações (busque requisitos que requerem persistência de dados);
- Gravar informações de operações em log;
Modelo
- Trabalho individual
Metodologia
- Apresentar a proposta de projeto ao professor
- Opcional: Documentar o escopo do projeto utilizando descrição narrativa (descrição simples)
- Cenário
- Problema
- Dados de entrada e saída
- O planejamento do cronograma não será cobrado porém cabe ao aluno se organizar quanto ao tempo para entrega no prazo
- Desenvolver o projeto
- Apresentar individualmente ao professor
- Serão realizados testes diversos, arguido sobre o funcionamento, possibilidades de alterações, etc
Algumas ideias de projetos
- Sugestão geral: veja em outras disciplinas que processos podem ser automatizados e proponha um projeto que realiza esta tarefa como de cálculos diversos de eletrônica, de rádio transmissão, etc.
- Implementar o jogo Pedra, papel ou tesoura. Neste jogo dois ou mais jogadores em diferentes computadores devem rodar um aplicativo que fará a leitura de um arquivo compartilhado. O algoritmo deve tratar as etapas do jogo (Setup do aplicativo, entrada na sala, escolha da figura e apresentação do resultado)
- Implementar o jogo da velha escrevendo em arquivo. Neste jogo dois jogadores em diferentes computadores devem rodar um aplicativo que fará a leitura de um arquivo compartilhado. O algoritmo deve tratar as etapas do jogo (Setup do aplicativo, entrada na sala, seleção das casas e apresentação do resultado)
- Implementar controle de empréstimo de objetos. Neste software o usuário poderá digitar nomes de objetos que emprestou, a pessoa a quem emprestou e automaticamente o software guarda a data. Deve haver uma opção para gerar relatório dos itens emprestados e opção para marcar a devolução (podendo manter o registro em histórico ou apagando o registro).
- Implementar software gerador de lista de compras. Neste software o usuário poderá digitar itens de supermercado com nome e quantidade. O software escreve num arquivo que poderá depois ser impresso. O software também pode ter função de numa segunda execução já trazer a antiga listagem digitada e permitir que o usuário apenas selecione novas quantidades ou inclua novos itens.
- Implementar software para realização de cálculos de eletrônica. Neste software um menu apresenta várias opções de cálculo como de potencia através de tensão e corrente, como obtenção do valor de um resistor, como solução de equivalência de paralelo de vários resistores e outras. Num arquivo texto pode ser armazenado um histórico de operações realizadas.
- Implementação de software para apostas na mega sena. Neste software são dadas sugestões de números para apostas de acordo com o número do sorteio da mega sena. Com este histórico armazenado é possível então entrar com um número de sorteio e digitar quais foram os números verdadeiramente sorteados na loteria federal checagem os acertos.
Referências
Referências bibliográficas |
---|
|
Ferramentas úteis |
---|
|
Plano de aula
Aula | Data | Horas | Conteúdo | Recursos | |
---|---|---|---|---|---|
1 | 15/2 | 2 | Aula inaugural, apresentação do professor e turma, apresentação da disciplina e introdução aos algoritmos | Sala 10 | |
2 | 19/2 | 2 | Prática de fluxogramas | Lab. Informática, Turma A [13:30 às 15:20], Turma B [15:40 às 17h30] (máximo 11 alunos por turma) | |
3 | 22/2 | 2 | Exercícios de fluxogramas | Sala 10 | |
4 | 26/2 | 2 | Introdução ao pseudocódigo até condicionais com resolução de exercícios | Lab Redes 1 | |
5 | 1/3 | 2 | Resolução de problemas em pseudocódigo e fluxogramas (declaração de variáveis, leia e escreva, uso de condicionais e biblioteca portugol): Exercícios de preparação para a prova | Lab Redes 1 | |
6 | 5/3 | 2 | Avaliação1a: Introdução a algoritmos (fluxograma e pseudocódigo) | Lab Redes 1 | |
7 | 8/3 | 2 | Correção da Avaliação 1a | Lab Redes 1 | |
8 | 12/3 | 2 | Pseudocódigo: Uso de vetores e sub-rotinas com resolução de exercícios | Lab Redes 1 | |
9 | 15/3 | 2 | Pseudocódigo: Registros e revisão geral | Lab Redes 1 | |
10 | 22/3 | 2 | Avaliação1b: Pseudocódigo: vetores, sub-rotinas e registros | Lab Redes 1 | |
11 | 26/3 | 2 | Correção da Avaliação 1b | Lab Redes 1 | |
12 | 29/3 | 2 | Recuperação1? / Introdução ao C, primeiros conceitos de compilação, variáveis, controle de fluxo, entrada e saída de dados | Lab Redes 1 | |
13 | 2/4 | 2 | Continuação C, condicionais, operadores relacionais, operadores lógicos. Prática: Controle de fluxo em C, entrada e saída de dados | Lab Redes 1 | |
14 | 5/4 | 2 | Prática C | Lab Redes 1 | |
15 | 9/4 | 2 | Continuação C: estruturas de repetição | Lab Redes 1 | |
16 | 12/4 | 2 | Prática: estruturas de repetição | Lab Redes 1 | |
17 | 16/4 | 2 | Continuação C: funções | Lab Redes 1 | |
18 | 19/4 | 2 | Prática: Funções em C | Lab Redes 1 | |
19 | 23/4 | 2 | Avaliação2: C até funções | Lab Redes 1 | |
20 | 26/4 | 2 | Correção da prova | Lab Redes 1 | |
21 | 3/5 | 2 | Recuperação2? / Prática para resolução de exercícios | Lab Redes 1 | |
22 | 7/5 | 2 | Introdução a vetores e matrizes em C. | Lab Redes 1 | |
23 | 10/5 | 2 | Resolução de exercícios de vetores Prática: Resolução de exercícios de fixação de vetores. | Lab Redes 1 | |
24 | 14/5 | 2 | Structs e Unions | Lab Redes 1 | |
25 | 17/5 | 2 | Prática: Structs e unions | Lab Redes 1 | |
26 | 21/5 | 2 | Prática: Structs e unions / Compreendendo melhor a função main e exit, gerando números pseudo-aleatórios, defines e operadores e precedências | Lab Redes 1 | |
27 | 24/5 | 2 | Ponteiros | Lab Redes 1 | |
28 | 28/5 | 2 | Prática: Exercicios ponteiros | Lab Redes 1 | |
29 | 4/6 | 2 | Vetor de Ponteiros e Ponteiro Para Estruturas, typedef, recursividade, apresentação do projeto | Lab Redes 1 | |
30 | 7/6 | 2 | Prática de Ponteiros e structs | Lab Redes 1 | |
31 | 11/6 | 2 | Avaliação: C até structs e ponteiros | Lab Redes 1 | |
32 | 14/6 | 2 | Prática: Correção da Avaliação / Desenvolvimento do projeto | Lab Redes 1 | |
33 | 18/6 | 2 | Apresentação do projeto. Prática: Desenvolvimento do Projeto | Lab Redes 1 | |
34 | 21/6 | 2 | Recuperação3? / Prática: Desenvolvimento do Projeto | Lab Redes 1 | |
35 | 25/6 | 2 | Prática: Desenvolvimento do Projeto | Lab Redes 1 | |
36 | 28/6 | 2 | Prática: Desenvolvimento do Projeto | Lab Redes 1 | |
37 | 2/7 | 2 | Avaliação4: Apresentação do projeto | Lab Redes 1 | |
38 | 5/7 | 2 | Encerramento da disciplina / Recuperação4? | Lab Redes 1 | |
TOTAL | 76 |