PRG29002-2018-2
PROFESSOR
- Eraldo Silveira e Silva
ATENDIMENTO PARALELO
SEGUNDA: 11h às 12h QUARTA: 13h30 às 14h30.
LOCAL: Sala 1 de Professores de Telecomunicações ou em algum dos laboratórios de TELE/CAD
MONITORIA
- Aluna: Sarom
- Horários:
- Segunda-feira 16h15 - 18h45 (2,5 horas)
- Quarta-feira 11h30 - 14h00 (2,5 horas)
- Quinta-feira 13h30 - 17h30 (4 horas)
- Sexta-feira 11h30 - 14h30 (3 horas)
Links Interessantes
AULA 1 - 26/07/2018
Objetivos
- Apresentação do Plano de Ensino;
- Introdução a Fluxograma e pseudocódigo.
Material de Referência
Aula Introdutória sobre Lógica de Programação
AULA 2 - 31/07/2018
Objetivos
- Introdução a Fluxograma e pseudocódigo.
- Estruturas de Decisão
Material de Referência
Lógica de Programação: Estruturas de Decisão
AULA 3 - 2/08/2018
Objetivos
- Introdução a Fluxograma e pseudocódigo.
- Estruturas de Decisão
Material de Referência
Lógica de Programação: Estruturas de Repetição
AULA 4 - 7/08/2018
Objetivos
O aluno devera ser capaz de:
- descrever o processo de compilação;
- diferenciar código fonte, objeto e executável;
- compilar, executar pequenos programa em C usando o gcc;
- declarar e usar variáveis locais inteiras e reais;
- usar as funções de entrada e saída: scanf() e printf.
Material de Referência
TAREFA
- Estudar AULA 2 e 3 de Apostila de C - UFMG
AULA 5 - 9/08/2018
Objetivos
O aluno deverá ser capaz de:
- Utilizar os operadores relacionais e lógicos na programação C
- um pouco mais sobre variáveis: tipo char
- Utilizar o comando de decisão if else
- Utilizar o comando switch
Material e Referência
https://wiki.sj.ifsc.edu.br/index.php/AULA_5_-_Programa%C3%A7%C3%A3o_1_-_Engenharia
AULA 6 - 14/08/2018
- Continuação da aula anterior.
Objetivos
O aluno deverá ser capaz de:
- Utilizar os operadores relacionais e lógicos na programação C
- um pouco mais sobre variáveis: tipo char
- Utilizar o comando de decisão if else
- Utilizar o comando switch
Material e Referência
https://wiki.sj.ifsc.edu.br/index.php/AULA_5_-_Programa%C3%A7%C3%A3o_1_-_Engenharia
AULA 7 - 16/08/2018
Objetivos
- Estruturas de Repetição
Material e Referência
https://wiki.sj.ifsc.edu.br/index.php/AULA_6_-_Programa%C3%A7%C3%A3o_1_-_Engenharia
AULA 8 - 21/08/2018
Objetivos
- Estruturas de Repetição: break, loop
- Uso de biblioteca matemática;
- Uso do Nemiver
Material e Referência
https://wiki.sj.ifsc.edu.br/index.php/AULA_6_-_Programa%C3%A7%C3%A3o_1_-_Engenharia
AULA 9 - 23/08/2018
Objetivos
- Estruturas de Repetição: lista de exercícios de preparação para avaliação proposta no SIGA A
Material e Referência
https://wiki.sj.ifsc.edu.br/index.php/AULA_6_-_Programa%C3%A7%C3%A3o_1_-_Engenharia
AULA 10 - 28/08/2018
- Avaliação 1 - Proposta no SIGA A
AULA 11 - 29/08/2018
- Vetores (arranjos unidimensionais)
Material de Referência
AULA 12 - 04/08/2018
Objetivos
- Continuação Vetores e Strings
- Funções
Material de Referência
https://wiki.sj.ifsc.edu.br/index.php/AULA_8_-_Programa%C3%A7%C3%A3o_1_-_Engenharia
AULA 13 - 6/09/2018
- Recuperação da Avaliação 1 -
AULA 14 - 11/9/2018
Objetivos
- Correção da Recuperação (Alternativas)
- Funções e parâmetros
- Variáveis Locais e Globais
Material de Referência
AULA 15 - 13/9/2018
Objetivos
- Vetores de inteiros, floats etc (arranjos unidimensionais)
Material de Referência
AULA 16 - 18/9/2018
Objetivos
- Exercício da Prova
- Vetores de inteiros, floats etc (arranjos unidimensionais)
- Matrizes
Exercício da Prova
1) Implementar um programa C com os requisitos abaixo:
- O programa deve ler N números inteiros;
- Deve ser mostrado a quantidade de números que estão na faixa (-100,100).
- Deve ser realizada a média dos números que estão na faixa acima.
solução |
---|
#include <stdio.h>
main()
{
int i,N, num,cont;
float media, soma_ac;
printf("Entre com a quantidade de números a serem fornecidos\n");
scanf("%d", &N);
soma_ac=0;
cont=0;
j=0;
for(i=0;i<N;i++) {
printf("Entre com um numero\n");
scanf("%d",&num);
if ((num>=-100) && (num<=100)) {
soma_ac = soma_ac + num;
cont++;
}
}
media = soma_ac/cont;
printf("quantidade de numeros = %d\n", cont);
printf("media = %.2f\n", media);
}
|
2) Refazer o exercício armazenando os valores da faixa indicada em um vetor. Fazer a média dos números da faixa usando os dados armazenados no vetor.
solução |
---|
#include <stdio.h>
#define TAM_MAX 300
void mostrar_vet(int x[], int tamanho)
{
int i;
printf("Imprime vetor\n");
for (i=0;i<tamanho;i++)
printf("x[%d] = %d \n", i, x[i]);
printf("==== FIM VETOR ====\n");
}
int main()
{
int i,N, num,cont,
vetor[TAM_MAX]; /* vetor superdimensionado para comportar até 300 elementos */
float media, soma_ac;
printf("Entre com a quantidade de números a serem fornecidos\n");
scanf("%d", &N);
if (N>TAM_MAX) {
printf ("Vetor não comporta o número especificado\n");
return 1; /* um código de erro poderia ser retornado aqui */
}
cont=0;
/* primeiro loop para leitura dos dados */
for(i=0;i<N;i++) {
printf("Entre com um numero\n");
scanf("%d",&num);
if ((num>=-100) && (num<=100)) {
vetor[cont]=num;
cont++;
}
}
printf("quantidade de numeros = %d\n", cont);
/* segundo loop para processar os dados */
soma_ac=0;
for(i=0;i<cont;i++)
soma_ac = soma_ac + vetor[i];
/* media dos números armazenados no vetor */
media = soma_ac/cont;
mostrar_vet(vetor, cont);
printf("media = %.2f\n", media);
return 0;
}
|
3) Refazer o exercício criando uma função para receber um vetor e seu tamanho e retornar a média. Substituir o segundo loop pela função.
Material de Referência
AULA 17 - 20/9/2018
Objetivos
Material de Referência
AULA 18 - 25/9/2018
Exercícios de Preparação para Avaliação 1
Exercício 1
Elaborar uma função que recebe como parâmetro um vetor contendo uma string e um vetor com dados não identificados.
- A função deve copiar a string do primeiro vetor para o segundo, invertendo a mesma.
- A função também deve retornar a quantidade de caracteres 'i' na string. Exemplo:
#include <stdio.h>
int copiar_string(char vet1[100], char vet2[100])
{
/* implementar aqui */
}
main()
{
char aux1[100]="ifsc", aux2[100]="instituto",aux3[100];
int len;
len=copiar_string(aux1,aux3);
printf("%s %d\n", aux3,len);
len=copiar_string(aux2,aux3);
printf("%s %d\n", aux3,len);
}
A saída deve ser:
csfi 1 otutitsni 2
solução sugerida pelos alunos Alehandro e Arthur (em breve) |
---|
Exercício 2
Elaborar uma função que recebe um vetor de inteiros e sua dimensão como parâmetro. Ela deverá retornar a quantidade de números pares do vetor.
#include <stdio.h>
int conta_par(int vet[], int len)
{
/* implementar aqui */
}
main()
{
int x[10]={1,2,5,9,4,3,2,4,10,23};
printf("Quantidade de pares = %d\n", conta_par(x,10));
}
Exercício 3
Elaborar uma função que recebe uma matriz quadrada 5x5 de "floats" passada como parâmetro. A função deve retornar a média da diagonal. Teste a função chamando-a a partir do programa principal.
AULA 19 - 02/10/2018
Objetivos
- Estruturas no C;
Material de Referência
AULA 20 - 04/10/2018
Objetivos
- Estruturas no C;
Material de Referência
AULA 21 - 09/10/2018
Objetivos
- Introdução aos ponteiros no C.
Material de Referência
AULA 22 - 11/10/2018
Objetivos
- Vetor de Ponteiros, Ponteiros para estruturas e Vetor de Ponteiros. Passagem de Parâmetro na linha de comando.
AULA 23 - 16/10/2018
AULA 24 - 18/10/2018
- Recuperação Avaliação II
AULA 25 - 23/10/2018
Objetivos
- Continuação de Vetor de Ponteiros e Ponteiro Para Estruturas
Referências
AULA 26 - 25/10/2018
- alocação dinâmica de memória;
- Discussão inicial sobre o projeto
AULA 27 - 1/11/2018
- exercícios de preparação para avaliação
AULA 28 - 6/11/2018
- Avaliação III
AULA 29 - 8/11/2018
- Tópicos adicionais: outros tipos no C
- precedência de operadores
- uso de múltiplos arquivos nos projetos