Mudanças entre as edições de "PRG29002 - Programação I - Eng.Telecom 2017-2"
Linha 573: | Linha 573: | ||
*#Faça um programa que verifica se um número é par ou ímpar. Na função main obtenha um número qualquer e invoque uma função que recebe um inteiro como parâmetro e retorna também um inteito com zero se o número for par e 1 se for ímpar. No main verifique este retorno e imprima ao usuário a resposta. | *#Faça um programa que verifica se um número é par ou ímpar. Na função main obtenha um número qualquer e invoque uma função que recebe um inteiro como parâmetro e retorna também um inteito com zero se o número for par e 1 se for ímpar. No main verifique este retorno e imprima ao usuário a resposta. | ||
*#Faça um programa que calcula a média de 2 números float utilizando uma função “calculaMedia” que recebe estes parâmetros e retorna a resposta. Na função main deve ser declarado o comando de printf da resposta. | *#Faça um programa que calcula a média de 2 números float utilizando uma função “calculaMedia” que recebe estes parâmetros e retorna a resposta. Na função main deve ser declarado o comando de printf da resposta. | ||
− | + | ||
<!--{{collapse bottom}}--> | <!--{{collapse bottom}}--> | ||
Linha 600: | Linha 600: | ||
*#Implemente um algoritmo em C que obtém um número do usuário e invoca uma função "verificaPrimo" que recebe o número obtido e retorna uma representação de verdadeiro ou falso para informar se o número é ou não é primo. Para representar verdadeiro ou falso pode-se utilizar o tipo de variável "_Bool" ou uma representação de inteiro (int, char ou variantes). Valide seu algoritmo comparando com a lista de primos Lista de números primos. | *#Implemente um algoritmo em C que obtém um número do usuário e invoca uma função "verificaPrimo" que recebe o número obtido e retorna uma representação de verdadeiro ou falso para informar se o número é ou não é primo. Para representar verdadeiro ou falso pode-se utilizar o tipo de variável "_Bool" ou uma representação de inteiro (int, char ou variantes). Valide seu algoritmo comparando com a lista de primos Lista de números primos. | ||
*#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 lê o plano de trabalho e o salário atual de um funcionário e invoca uma função "calculaReajuste" que recebe dois argumento tipo float, o salário atual e o índice de reajuste, calculando e retornando o salário reajustado. A rotina no main que invoca a função de reajuste deve obter a resposta e imprimir em tela o resultado. | *#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 lê o plano de trabalho e o salário atual de um funcionário e invoca uma função "calculaReajuste" que recebe dois argumento tipo float, o salário atual e o índice de reajuste, calculando e retornando o salário reajustado. A rotina no main que invoca a função de reajuste deve obter a resposta e imprimir em tela o resultado. | ||
+ | *#Implemente um programa em C que calcule a Potência dissipada em um resistor e a corrente dados valores de V e R. O mesmo programa deve ser capaz de calcular a R dados P e V e R dados V e I. Faça então um menu inicial para que o usuário possa selecionar a opção de cálculo desejada. Crie diferentes funções para opção. | ||
+ | *#Implemente um programa em C de uma calculadora de soma e subtração. Para isso, a função main deve ter um loop infinito, encerrando o programa se digitado 's'. Dentro do loop invoque uma função "imprimirMenu" de retorno void que imprime as opções do menu utilizando "1 para soma", "2 para subtração" ou "s para sair". Se o usuário digitar 1, invoque uma outra função chamada "soma" que recebe dois float obtidos dentro do próprio main e passados como parâmetros. A função deve retornar a soma destes números para que main imprima o resultado ao usuaŕio. Um processo similar deve ser feito para subtracao. | ||
{{collapse bottom}} | {{collapse bottom}} | ||
Edição das 13h17min de 29 de setembro de 2017
Dados importantes
- Professor da Disciplina: Cleber Jorge Amaral
- Email: cleber.amaral@ifsc.edu.br
- Atendimento paralelo: terças e quintas das 12:00 as 13:00 na Sala Multimeios de Tele (ao lado da reprografia)
- Agenda do professor: Ver página
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
|
Programação em C (ANSI)
Programação em C (ANSI) - Introdução ao C
Introdução ao C e funções de saída e entrada de dados |
---|
|
Programação em C (ANSI) - Controle de fluxo em C
Programação em C (ANSI) - Condicionais
Condicionais em C |
---|
|
Exercícios - C (série 0) |
---|
|
Programação em C (ANSI) - Repetições
Estruturas de repetição em C |
---|
|
Exercícios - C (série 1) |
---|
|
Funções
- O que é uma função? Khan Academy
- O que é uma função - noção intuitiva - MeSalva!
- Exercícios
- Faça um programa que verifica se um número é par ou ímpar. Na função main obtenha um número qualquer e invoque uma função que recebe um inteiro como parâmetro e retorna também um inteito com zero se o número for par e 1 se for ímpar. No main verifique este retorno e imprima ao usuário a resposta.
- Faça um programa que calcula a média de 2 números float utilizando uma função “calculaMedia” que recebe estes parâmetros e retorna a resposta. Na função main deve ser declarado o comando de printf da resposta.
A função main |
---|
O programa inicia pela primeira instrução contida na função main() e também se encerra na última instrução. O retorno padrão da função main é um int que representa um código de erros reconhecidos por muitos sistemas operacionais. Se o programa terminou sua execução corretamente o retorno deverá ser 0 (zero). int main(void)
{
//Programa
return 0;
}
|
O método exit() |
---|
Uma alternativa a terminação do programa chegando ao fim da função main é a função exit da biblioteca <stdlib.h>. Para esta função deve-se passar um argumento inteiro que tem o mesmo significado do código de retorno da função main, portanto exit(0) representa uma terminação normal, alternativamente exit(EXIT_SUCCESS). Para representar uma terminação anormal pode-se utilizar exit(EXIT_FAILURE) ou exit(1).
|
Exercícios - C (série 2) |
---|
|
Referências
Referências bibliográficas |
---|
|
Ferramentas úteis |
---|
|
Plano de aula
Aula | Data | Horas | Conteúdo | Recursos | |
---|---|---|---|---|---|
1 | 28/7 | 2 | Sem atividades de PRG – reposição de férias – horário disponível para outras atividades letivas | Lab Redes 1 | |
2 | 1/8 | 2 | Sem atividades de PRG – reposição de férias – horário disponível para outras atividades letivas | Lab Redes 1 | |
3 | 4/8 | 2 | Aula inaugural, apresentação do professor e turma, apresentação da disciplina e introdução aos algoritmos | Lab Redes 1 ou Redes 2 | |
4 | 8/8 | 2 | Prática de fluxogramas | Lab Redes 1 | |
5 | 11/8 | 2 | Introdução ao pseudocódigo até condicionais com resolução de exercícios | Lab Redes 1 ou Redes 2 | |
6 | 15/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) | Lab Redes 1 | |
7 | 18/8 | 2 | Pseudocódigo: Uso de vetores e sub-rotinas | Lab Redes 1 ou Redes 2 | |
8 | 22/8 | 2 | Prática: Resolução de problemas com vetores e sub-rotinas | Lab Redes 1 | |
9 | 25/8 | 2 | Pseudocódigo e fluxogramas: Registros e revisão geral | Lab Redes 1 ou Redes 2 | |
10 | 29/8 | 2 | Pseudocódigo e fluxogramas: Exercícios de preparação para prova | Lab Redes 1 | |
11 | 1/9 | 2 | Avaliação1: Introdução a algoritmos (fluxograma e pseudocódigo) | Lab Redes 1 ou Redes 2 | |
12 | 5/9 | 2 | Prática: Correção da Avaliação | Lab Redes 1 | |
13 | 12/9 | 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 | |
14 | 15/9 | 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 ou Redes 2 | |
15 | 19/9 | 2 | Prática C | Lab Redes 1 | |
16 | 22/9 | 2 | Continuação C: estruturas de repetição | Lab Redes 1 ou Redes 2 | |
17 | 26/9 | 2 | Prática: estruturas de repetição | Lab Redes 1 | |
18 | 29/9 | 2 | Continuação C: funções | Lab Redes 1 ou Redes 2 | |
19 | 3/10 | 2 | Prática: Funções em C | Lab Redes 1 | |
20 | 6/10 | 2 | Avaliação2: C até funções | Lab Redes 1 ou Redes 2 | |
21 | 10/10 | 2 | Correção da prova | Lab Redes 1 | |
22 | 17/10 | 2 | Recuperação2? / Prática para resolução de exercícios | Lab Redes 1 | |
23 | 20/10 | 2 | Introdução a vetores e matrizes em C. | Lab Redes 1 ou Redes 2 | |
24 | 24/10 | 2 | Resolução de exercícios de vetores Prática: Resolução de exercícios de fixação de vetores. | Lab Redes 1 | |
25 | 27/10 | 2 | Structs e Unions | Lab Redes 1 ou Redes 2 | |
26 | 31/10 | 2 | Prática: Structs e unions | Lab Redes 1 | |
27 | 7/11 | 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 | |
28 | 10/11 | 2 | Ponteiros | Lab Redes 1 ou Redes 2 | |
29 | 14/11 | 2 | Prática: Exercicios ponteiros | Lab Redes 1 | |
30 | 17/11 | 2 | Vetor de Ponteiros e Ponteiro Para Estruturas, typedef, recursividade, apresentação do projeto | Lab Redes 1 ou Redes 2 | |
31 | 21/11 | 2 | Prática de Ponteiros e structs | Lab Redes 1 | |
32 | 24/11 | 2 | Avaliação: C até structs e ponteiros | Lab Redes 1 ou Redes 2 | |
33 | 28/11 | 2 | Prática: Correção da Avaliação / Desenvolvimento do projeto | Lab Redes 1 | |
34 | 1/12 | 2 | Apresentação do projeto. Prática: Desenvolvimento do Projeto | Lab Redes 1 ou Redes 2 | |
35 | 5/12 | 2 | Recuperação3? / Prática: Desenvolvimento do Projeto | Lab Redes 1 | |
36 | 8/12 | 2 | Prática: Desenvolvimento do Projeto | Lab Redes 1 ou Redes 2 | |
37 | 12/12 | 2 | Avaliação4: Apresentação do projeto | Lab Redes 1 | |
38 | 15/12 | 2 | Avaliação4 (continuação): Apresentação do projeto | Lab Redes 1 ou Redes 2 | |
39 | 19/12 | 2 | Encerramento da disciplina / Recuperação4? | Lab Redes 1 | |
TOTAL | 80 |
Conceitos
Ver moodle da disciplina.