Mudanças entre as edições de "PRG29002 - Programação I - Eng.Telecom 2016-2"
Ir para navegação
Ir para pesquisar
(→C) |
|||
Linha 264: | Linha 264: | ||
*#Uma empresa irá ajustar o salário de seus funcionários de acordo com a categoria de trabalho dos funcionários: CAT A (10% de aumento), CAT B (15% de aumento) e CAT C (20% de aumento). Faça um programa que leia o plano de trabalho e o salário atual de um funcionário e calcula e imprime o seu novo salário. Use o comando switch. | *#Uma empresa irá ajustar o salário de seus funcionários de acordo com a categoria de trabalho dos funcionários: CAT A (10% de aumento), CAT B (15% de aumento) e CAT C (20% de aumento). Faça um programa que leia o plano de trabalho e o salário atual de um funcionário e calcula e imprime o seu novo salário. Use o comando switch. | ||
*#Faça um programa que leia um número entre 0 e 10, e escreva este número por extenso. Use o comando switch. | *#Faça um programa que leia um número entre 0 e 10, e escreva este número por extenso. Use o comando switch. | ||
+ | {{collapse bottom}} | ||
+ | |||
+ | |||
+ | {{collapse top|Estruturas de repetição em C}} | ||
+ | *Exercícios | ||
+ | *#Dado um número inteiro positivo, calcular a soma de todos os números inteiros compreendidos entre 0 e o número dado. Fazer uma versão com while e outra com for. | ||
+ | *#Implemente um algoritmo em C que solicita do usuário 10 números, após a leitura mostra ao usuários os números na ordem inversa em que foram digitados | ||
+ | *#Faça um algoritmo que apresente a sequencia de Fibonacci dado um valor “n” que representa a quantidade de números em série que se deseja exibir | ||
+ | *#Desenvolva uma algoritmo em C para marcar o placar de um jogo de futebol, deve solicitar ao usuário digitar A ou B, ao digitar A é somado um gol a equipe A e o mesmo para a B. Se digitado F deve encerrar e mostrar o placar final. | ||
+ | *#Implemente um algoritmo em C que obtém um número do usuário e utilizando laço para verifica se um número primo. Valide seu algoritmo comparando com a lista de primos Lista de números primos | ||
+ | *#Escreva um algoritmo em C que solicita ao usuário digitar 6 números para uma aposta na megasena. O algoritmo deve utilizar a estrutura repita, gravar em variaveis distintas cada número que deve estar entre 1 e 60. Deve garantir que os 6 números são diferentes entre si e no final mostrar os números digitados | ||
+ | *#Implemente o pseudocódigo de uma calculadora que realiza operações de soma ou subtração de dois números. A calculadora deve operar em um laço infinito encerrando sua operação se o usuário digitar "q" | ||
+ | *#Usando o comando for aninhado, construa um programa que implemente a figura abaixo. A margem esquerda (margem de espaços), o caracter do desenho, o número de linhas vazadas e o tamanho horizontal da figura devem ser lidos pelo teclado. Na figura abaixo representa uma saída quando a margem esquerda é 0, o caractere do desenho é 'a', o número de linhas vazadas é 1 e o tamanho horizontal é 10<code> | ||
+ | aaaaaaaaaa | ||
+ | a a | ||
+ | aaaaaaaaaa</syntaxhighlight> | ||
+ | *#Construa um programa para desenhar a seguinte figura de forma parametrizável (dado caracter, margem, e número de linhas):<code> | ||
+ | AAAAAAAAAA | ||
+ | AAAAAAAA | ||
+ | AAAAAA | ||
+ | AAAA | ||
+ | AA | ||
+ | BB | ||
+ | BBBBB | ||
+ | BBBBBBBB | ||
+ | BBBBBBBBBBB</syntaxhighlight> | ||
{{collapse bottom}} | {{collapse bottom}} | ||
Edição das 11h20min de 7 de outubro de 2016
Professor da Disciplina: Cleber Jorge Amaral
e-mail: cleber.amaral@ifsc.edu.br
Monitoria: Programa_de_monitoria_dos_cursos_superiores_de_Telecomunicações
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
- 19/09 - Prova 1: Lógica de algoritmos em fluxograma e pseudocódigo
- 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
Eventos da área de desenvolvimento
- Outubro de 2016 - QCon Rio de Janeiro QConRio
- Outubro de 2016 - The Developers Conference Porto Alegre TDC
- Março de 2017 (previsto) - Arduino Day São Paulo ArduinoDay
- Abril de 2017 - Qcon São Paulo QConSP
- Maio de 2017 (previsto) - The Developers Conference Florianópolis TDC
- Junho de 2017 (previsto) - JavaOne São Paulo JavaOne
- Julho de 2017 (previsto)- The Developers Conference São Paulo TDC
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
|
Pseudo-código utilizando Portugol - sub-rotinas e registros |
---|
Exercícios
Parte da implementação do problema das funções trigonométricas
|
C
Introdução ao C e funções de saída e entrada de dados |
---|
|
Condicionais em C |
---|
|
Estruturas de repetição em C |
---|
|
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.
Avaliações
Conceitos | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Estatísticas | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Plano de aula
Aula | Data | Horas | Conteúdo | Recursos |
---|---|---|---|---|
1 | 12/8 | 2 | Aula inaugural, apresentação do professor e turma, apresentação da disciplina e introdução aos algoritmos | |
2 | 15/8 | 2 | Prática: Introdução ao fluxograma | |
3 | 19/8 | 2 | Algoritmos continuação (representação por pseudo-codigo, apresentacao o portugol) | |
4 | 22/8 | 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) | |
5 | 26/8 | 2 | Pseudocódigo: Estruturas de repetição e sub-rotinas | |
6 | 29/8 | 2 | Prática: Resolução de problemas em pseudocódigo e fluxogramas | |
7 | 2/9 | 2 | Pseudocódigo: Uso de vetores e sub-rotinas | |
8 | 5/9 | 2 | Prática: Resolução de problemas com vetores e sub-rotinas | |
9 | 9/9 | 2 | Introdução ao C, primeiros conceitos de compilação, variáveis, if… else, printf e scanf | |
10 | 12/9 | 2 | Prática: Aula de exercicios de C | |
11 | 16/9 | 2 | Continuação C, condicionais, operadores relacionais, operadores lógicos | |
12 | 19/9 | 2 | Prática: Estruturas de repetição em C | |
13 | 23/9 | 2 | Revisão de algoritmos para preparação para prova e Funções no C | |
14 | 26/9 | 2 | Prática: Exercicios de funções | |
15 | 30/9 | 2 | Avaliação 1 - Algoritmos, resolução de problemas e C básico | |
16 | 3/10 | 2 | Prática: Correção da Avaliação | |
17 | 7/10 | 2 | Resolução de exercícios de vetores | |
18 | 10/10 | 2 | Prática: Resolução de exercícios de fixação de vetores. | |
19 | 14/10 | 2 | Estruturas | |
20 | 17/10 | 2 | Prática: Exercícios adicionais de preparação para avaliação 1 de Laboratório | |
21 | 21/10 | 2 | Exercícios adicionais de preparação para avaliação 1 de Laboratório | |
22 | 24/10 | 2 | Prática: Avaliação de Laboratório | |
23 | 28/10 | 2 | FERIADO: DIA DO SERVIDOR PUBLICO | |
24 | 31/10 | 2 | Prática: Correção da avaliação | |
25 | 4/11 | 2 | Ponteiros | |
26 | 7/11 | 2 | Prática: Exercicios ponteiros | |
27 | 11/11 | 2 | Vetor de Ponteiros e Ponteiro Para Estruturas | |
28 | 14/11 | 2 | PROVAVEL RECESSO | |
29 | 18/11 | 2 | Desenvolvimento do Projeto | |
30 | 21/11 | 2 | Prática: Desenvolvimento do Projeto | |
31 | 25/11 | 2 | Avaliação II de Laboratório | |
32 | 28/11 | 2 | Prática: Desenvolvimento do Projeto | |
33 | 2/12 | 2 | Desenvolvimento do Projeto | |
34 | 5/12 | 2 | Prática: Desenvolvimento do Projeto | |
35 | 9/12 | 2 | Desenvolvimento do Projeto | |
36 | 12/12 | 2 | Prática: Desenvolvimento do Projeto | |
37 | 16/12 | 2 | Desenvolvimento do Projeto | |
38 | 19/12 | 2 | Prática: Recuperação |