Senhores Alunos:
Procedimento para a prova:
1. Baixar a prova no link abaixo:
PROVA2
2. Salvar o material de consulta na área de trabalho guardar o pendrive e celulares.
Celular ou pendrive em cima da bancada será considerado cola.
3. No final, os projetos dos programas devem ser salvos no área de trabalho em uma pasta prova2_nomedoaluno.
Boa Prova
quinta-feira, 25 de junho de 2015
sábado, 20 de junho de 2015
Exercícios de Preparação para a primeira parte da segunda avaliação de Sistemas de Controle
Srs alunos
O link abaixo dá acesso a lista de exercícios sobre Lugar das Raízes (Root Locus), Diagramas de Bode e Critério de Routh-Hurwitz.
Exercícios sobre estabilidade de Sistemas de Controle.
E, no link abaixo a solução de todos exercícios da última lista.
Solução dos Exercícios - Routh/ROOTLOCUS/Bode.
Solução dos Exercícios - Routh/ROOTLOCUS/Bode.
att
Villaça
quarta-feira, 17 de junho de 2015
Terceira Tarefa - Programação de Computadores I
Senhores alunos:
Terceira Tarefa
O arquivo saopaulo.dat contém as temperaturas mínimas e máximas diárias em graus Celsius registradas na cidade de São Paulo no ano de 2012, um ano bissexto.
Os dados são números reais, sendo os primeiros 366 são as temperaturas mínimas e os últimos 366 as máximas. Ou seja, o elemento 45 representa a temperatura mínima registrada na cidade de São Paulo no dia 14/02/2012 (14 = 45-31). O elemento 411 representa a temperatura máxima registrada na cidade de São Paulo no dia 14/02/2012.
Deve ser feito um programa que leia o arquivo e por solicitação do usuário apresente:
<1> A temperatura mínima registrada no ano e o dia e mês em que ela ocorreu.
<2> A temperatura máxima registrada no ano e o dia e mês em que ela ocorreu.
<3> A temperatura mínima registrada em uma data (dia/mês)
<4> A temperatura mínima registrada em uma data (dia/mês)
<5> O número de dias em que temperatura foi menor que 12 graus Celsius
<6> O número de dias em que temperatura foi maior que 30 graus Celsius
<7> Gravar as informações lidas em um arquivo de extensão txt
<8> Sair
Caso o usuário escolha a opção <7>, deve ser dada a opção para que o usuário escolha o nome do arquivo.
As Informações devem ser escritas no arquivo txt da seguinte forma:
* Temperaturas Mínimas *
DIA/MÊS JAN FEV MAR ABR MAI ...
1 +xx.x +xx.x +xx.x +xx.x +xx.x ...
2 +xx.x +xx.x +xx.x +xx.x +xx.x ...
...
* Temperaturas Máximas *
DIA/MÊS JAN FEV MAR ABR MAI ...
1 +xx.x +xx.x +xx.x +xx.x +xx.x ...
2 +xx.x +xx.x +xx.x +xx.x +xx.x ...
...
A TAREFA DEVE SER ENTREGUE NO ÚLTIMO DIA DE AULA (DIA 9/7), PESSOALMENTE, E SERÁ CORRIGIDA JUNTO COM O ALUNO, QUE SERÁ INQUERIDO PELO PROFESSOR.
CRONOGRAMA DAS APRESENTAÇÕES:
8h - ALEXSANDRO
8h15min - BRUNO
8h30min - DANIEL
8h45min - FELIPE FELICIANO
9h - FELIPE BARCELOS
9h15min - GUSTAVO
9h40min - JEAN
9h55 - JONAS
10h10min - MARCOS
10h25min - MATHEUS
10h40min - NATAN
10h55min- PEDRO
11h10min - TIAGO
11h25min - VICTOR
11h40min - LEANDRO
CRONOGRAMA DAS APRESENTAÇÕES:
8h - ALEXSANDRO
8h15min - BRUNO
8h30min - DANIEL
8h45min - FELIPE FELICIANO
9h - FELIPE BARCELOS
9h15min - GUSTAVO
9h40min - JEAN
9h55 - JONAS
10h10min - MARCOS
10h25min - MATHEUS
10h40min - NATAN
10h55min- PEDRO
11h10min - TIAGO
11h25min - VICTOR
11h40min - LEANDRO
Até amanhã.
segunda-feira, 15 de junho de 2015
quarta-feira, 10 de junho de 2015
Programação de Computadores I - Aula de 21/06 - Arquivos em C
Senhores alunos:
Encontram-se disponíveis neste link as notas referentes a nossa próxima aula.
Boa leitura!
segunda-feira, 8 de junho de 2015
Programa - Biblioteca
Programa para cadastro de livros, versão 1 - entrada por teclado.
#include <stdio.h>
#include <stdlib.h>
struct livro{
char nome[20];
int ano;
int pag;
float preco;
};
void ordena_ano(struct livro*,int);
void ordena_pag(struct livro*,int);
void ordena_preco(struct livro*,int);
void paginas_acervo(struct livro*,int);
int menu(void);
int main()
{
int item,i=0,k;
struct livro biblioteca[10];
while(1)
{
item = menu();
switch(item)
{
case 1:
printf("Entre com o nome do livro e de <enter>\n");
printf("Entre com o ano da edicao, num. de paginas e valor e de <enter>\n");
printf("separados por espaco\n");
gets(biblioteca[i].nome);
scanf("%d %d %f",&biblioteca[i].ano,&biblioteca[i].pag,&biblioteca[i].preco);
i++;
break;
case 2:
printf("Nome Ano Paginas Preco\n");
for(k=0;k<i;k++)
{
printf("%-20s %4d %7d %7.2f\n",biblioteca[k].nome,biblioteca[k].ano,biblioteca[k].pag,biblioteca[k].preco);
}
break;
case 3:
ordena_ano(biblioteca,i);
break;
case 4:
ordena_pag(biblioteca,i);
break;
case 5:
ordena_preco(biblioteca,i);
break;
case 6:
paginas_acervo(biblioteca,i);
break;
case 7:
return 0;
default:
printf("Opcao inexistente\n");
break;
}
}
return 0;
}
int menu()
{
int retorno;
printf("<1> Cadastra novo livro\n");
printf("<2> Mostre o acervo\n");
printf("<3> Ordena por ano de edicao\n");
printf("<4> Ordena por num. de paginas\n");
printf("<5> Ordena por preco (crescente)\n");
printf("<6> Numero de paginas do acervo\n");
printf("<7> sair\n");
scanf("%d",&retorno);
fflush(stdin);
return retorno;
}
void ordena_ano(struct livro* biblio ,int i)
{
int j,k;
struct livro temp;
for(j=0;j<i;j++)
for(k=1;k<i;k++)
if((biblio+k-1)->ano < (biblio+k)->ano)
{
temp =*(biblio+k-1);
*(biblio+k-1) = *(biblio+k);
*(biblio+k) = temp;
}
printf("Nome Ano Paginas Preco\n");
for(k=0;k<i;k++)
{
printf("%-20s %4d %7d %7.2f\n",(biblio+k)->nome,
(biblio+k)->ano,(biblio+k)->pag,(biblio+k)->preco);
}
}
void ordena_pag(struct livro* biblio ,int i)
{
int j,k;
struct livro temp;
for(j=0;j<i;j++)
for(k=1;k<i;k++)
if((biblio+k-1)->pag < (biblio+k)->pag)
{
temp =*(biblio+k-1);
*(biblio+k-1) = *(biblio+k);
*(biblio+k) = temp;
}
printf("Nome Ano Paginas Preco\n");
for(k=0;k<i;k++)
{
printf("%-20s %4d %7d %7.2f\n",(biblio+k)->nome,
(biblio+k)->ano,(biblio+k)->pag,(biblio+k)->preco);
}
}
void ordena_preco(struct livro* biblio ,int i)
{
int j,k;
struct livro temp;
for(j=0;j<i;j++)
for(k=1;k<i;k++)
if((biblio+k-1)->preco > (biblio+k)->preco)
{
temp =*(biblio+k-1);
*(biblio+k-1) = *(biblio+k);
*(biblio+k) = temp;
}
printf("Nome Ano Paginas Preco\n");
for(k=0;k<i;k++)
{
printf("%-20s %4d %7d %7.2f\n",(biblio+k)->nome,
(biblio+k)->ano,(biblio+k)->pag,(biblio+k)->preco);
}
}
void paginas_acervo(struct livro* biblio ,int i)
{
int k,soma=0;
for(k=0;k<i;k++)
soma = soma + (biblio+k)->pag;
printf("O numero de paginas do acervo eh %d\n",soma);
}
#include <stdio.h>
#include <stdlib.h>
struct livro{
char nome[20];
int ano;
int pag;
float preco;
};
void ordena_ano(struct livro*,int);
void ordena_pag(struct livro*,int);
void ordena_preco(struct livro*,int);
void paginas_acervo(struct livro*,int);
int menu(void);
int main()
{
int item,i=0,k;
struct livro biblioteca[10];
while(1)
{
item = menu();
switch(item)
{
case 1:
printf("Entre com o nome do livro e de <enter>\n");
printf("Entre com o ano da edicao, num. de paginas e valor e de <enter>\n");
printf("separados por espaco\n");
gets(biblioteca[i].nome);
scanf("%d %d %f",&biblioteca[i].ano,&biblioteca[i].pag,&biblioteca[i].preco);
i++;
break;
case 2:
printf("Nome Ano Paginas Preco\n");
for(k=0;k<i;k++)
{
printf("%-20s %4d %7d %7.2f\n",biblioteca[k].nome,biblioteca[k].ano,biblioteca[k].pag,biblioteca[k].preco);
}
break;
case 3:
ordena_ano(biblioteca,i);
break;
case 4:
ordena_pag(biblioteca,i);
break;
case 5:
ordena_preco(biblioteca,i);
break;
case 6:
paginas_acervo(biblioteca,i);
break;
case 7:
return 0;
default:
printf("Opcao inexistente\n");
break;
}
}
return 0;
}
int menu()
{
int retorno;
printf("<1> Cadastra novo livro\n");
printf("<2> Mostre o acervo\n");
printf("<3> Ordena por ano de edicao\n");
printf("<4> Ordena por num. de paginas\n");
printf("<5> Ordena por preco (crescente)\n");
printf("<6> Numero de paginas do acervo\n");
printf("<7> sair\n");
scanf("%d",&retorno);
fflush(stdin);
return retorno;
}
void ordena_ano(struct livro* biblio ,int i)
{
int j,k;
struct livro temp;
for(j=0;j<i;j++)
for(k=1;k<i;k++)
if((biblio+k-1)->ano < (biblio+k)->ano)
{
temp =*(biblio+k-1);
*(biblio+k-1) = *(biblio+k);
*(biblio+k) = temp;
}
printf("Nome Ano Paginas Preco\n");
for(k=0;k<i;k++)
{
printf("%-20s %4d %7d %7.2f\n",(biblio+k)->nome,
(biblio+k)->ano,(biblio+k)->pag,(biblio+k)->preco);
}
}
void ordena_pag(struct livro* biblio ,int i)
{
int j,k;
struct livro temp;
for(j=0;j<i;j++)
for(k=1;k<i;k++)
if((biblio+k-1)->pag < (biblio+k)->pag)
{
temp =*(biblio+k-1);
*(biblio+k-1) = *(biblio+k);
*(biblio+k) = temp;
}
printf("Nome Ano Paginas Preco\n");
for(k=0;k<i;k++)
{
printf("%-20s %4d %7d %7.2f\n",(biblio+k)->nome,
(biblio+k)->ano,(biblio+k)->pag,(biblio+k)->preco);
}
}
void ordena_preco(struct livro* biblio ,int i)
{
int j,k;
struct livro temp;
for(j=0;j<i;j++)
for(k=1;k<i;k++)
if((biblio+k-1)->preco > (biblio+k)->preco)
{
temp =*(biblio+k-1);
*(biblio+k-1) = *(biblio+k);
*(biblio+k) = temp;
}
printf("Nome Ano Paginas Preco\n");
for(k=0;k<i;k++)
{
printf("%-20s %4d %7d %7.2f\n",(biblio+k)->nome,
(biblio+k)->ano,(biblio+k)->pag,(biblio+k)->preco);
}
}
void paginas_acervo(struct livro* biblio ,int i)
{
int k,soma=0;
for(k=0;k<i;k++)
soma = soma + (biblio+k)->pag;
printf("O numero de paginas do acervo eh %d\n",soma);
}
sábado, 6 de junho de 2015
Programa Conversão Arábico para Romano
Senhores Alunos:
Programa de Conversão de números arábicos para números romanos, conforme solicitado.
-------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main()
{ int ano,n,i,k=0,fator=1000;
char c1,c2,c3;
printf("Entre com o ano\n");
scanf("%d",&ano);
n = ano/1000;
for(i=1;i<=n;i++)
printf("M");
while(fator!=1)
{
ano = ano%fator;
fator=fator/10;
n = ano/(fator);
switch(fator)
{
case 100:
c1='C';
c2='M';
c3='D';
break;
case 10:
c1='X';
c2='C';
c3='L';
break;
case 1:
c1='I';
c2='X';
c3='V';
break;
}
if(n!=0)
{
if(n==9)
printf("%c%c",c1,c2);
else if(n==4)
printf("%c%c",c1,c3);
else
{
if(n>4&&n<9)
{
printf("%c",c3);
k=5;
}
for(i=1;i<=(n-k);i++)
printf("%c",c1);
k = 0;
}
}
}
return 0;
}
Programa de Conversão de números arábicos para números romanos, conforme solicitado.
-------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main()
{ int ano,n,i,k=0,fator=1000;
char c1,c2,c3;
printf("Entre com o ano\n");
scanf("%d",&ano);
n = ano/1000;
for(i=1;i<=n;i++)
printf("M");
while(fator!=1)
{
ano = ano%fator;
fator=fator/10;
n = ano/(fator);
switch(fator)
{
case 100:
c1='C';
c2='M';
c3='D';
break;
case 10:
c1='X';
c2='C';
c3='L';
break;
case 1:
c1='I';
c2='X';
c3='V';
break;
}
if(n!=0)
{
if(n==9)
printf("%c%c",c1,c2);
else if(n==4)
printf("%c%c",c1,c3);
else
{
if(n>4&&n<9)
{
printf("%c",c3);
k=5;
}
for(i=1;i<=(n-k);i++)
printf("%c",c1);
k = 0;
}
}
}
return 0;
}
segunda-feira, 1 de junho de 2015
Assinar:
Postagens (Atom)