quinta-feira, 25 de junho de 2015

Segunda Avaliação de Programação de Computadores

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


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.

att

Villaça

quarta-feira, 17 de junho de 2015

Programação de Computadores I - Aula de 18/06 - Scilab: Arquivos e funções

Senhores alunos:


Encontram-se disponíveis neste link as notas referentes a nossa próxima aula.

Até amanhã!

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


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);
}

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;
}

segunda-feira, 1 de junho de 2015