sábado, 7 de fevereiro de 2015

Filtrando dígitos

Em eletrônica Os filtros passa-faixa ou passa-banda,filtros passa-baixas e passa-altas
são largamente usados em circuitos onde determinadas frequências devem ser rejeitadas,
passando apenas só mesmo a frequência ideal. Fórmulas matemáticas eram usadas para se obter
um cálculo exato das frequências exigidas, onde envolvia a bitola do fio esmaltado, o número
de espiras num bastão de ferrite, onde o tamanho e o diâmetro também fazia parte dos cálculos.
Saudades deste tempo dos transmissores e receptores didáticos que agente montava e via funcionar.
O código aqui proposto atua como um filtro impedindo que números que não seja "1" ou "2"
possam passar, existe várias formas de fazer isto, e este é um método fácil e seguro.

Veja abaixo imagens do programa em execução:





Veja abaixo o código do programa:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
void Janela5(){
    int lin, col;
    col = 0;
    for ( lin = 2; lin <= 24; lin++ )
        for ( col = 2; col <= 78; col++ ){
            gotoxy(col,lin);textbackground(LIGHTGRAY);printf(" ");
        }
}
int continuando ( ){
    system ("title FILTRANDO DÍGITOS");
    int nr; do{system("cls");system("Color 90");Janela5();
    textcolor(LIGHTRED);gotoxy(32,5);printf("FILTRANDO DÍGITOS");
    textcolor(BROWN);gotoxy(25,7);printf("Programa desenvolvido por:");
    textcolor(WHITE);gotoxy(52,7);printf("Samuel Lima");
    textcolor(BLACK);gotoxy(34,9);printf("sa_sp10@hotmail.com");
    textcolor(LIGHTBLUE);gotoxy(23,11);printf ("Digite ");
    textcolor(LIGHTRED);printf (" 0 ");
    textcolor(LIGHTBLUE);printf (" para sair ou ");
    textcolor(LIGHTRED);printf (" 1 ");
    textcolor(LIGHTBLUE);printf (" para continuar ");
    textcolor(LIGHTRED);gotoxy(24,13);
    scanf ( "%d", &nr );fflush(stdin);
    if( nr == 0 ){
        textcolor(LIGHTRED);gotoxy(36,18);printf("MUITO OBRIGADO");
        getche();exit(0);
    }
    else if( nr == 1 ){
        return 1;
    }
    textcolor(BLACK);gotoxy(36,16);printf ("\aopcão errada!");
    getche();
    }while ( 1 );
    return 1;
}
int main (){
    int vet [ 9 ];
    int i, cont;continuando ( );
    for( i = 0; i < 9; i++ ){
        do{system("cls");system("Color 50");Janela5();
        textcolor(LIGHTRED);gotoxy(32,3);printf("FILTRANDO DÍGITOS");
        textcolor(LIGHTBLUE);gotoxy(22,5);printf("Informe o ");
        textcolor(LIGHTRED);printf(" %do", i + 1);
        textcolor(LIGHTBLUE);printf(" número : ");
        textcolor(LIGHTRED);scanf("%d", &vet [ i ] );fflush(stdin);
        if ( vet [ i ] == 1 || vet [ i ] == 2 ) {
            break;
        }else{
            textcolor(LIGHTBLUE);gotoxy(22,7);printf("\aSó digite ");
            textcolor(LIGHTRED);printf("1");
            textcolor(LIGHTBLUE);printf(" ou");
            textcolor(LIGHTRED);printf(" 2 ");
        }
        getche();
        }while( 1 );
    }
    cont = 0;
    for ( i = 0; i <= 9; i = i + 1 ){
        if ( vet [ i ] == 1 )
            cont = cont +1;
    }
    textcolor(LIGHTBLUE);gotoxy(22,7);
    printf("Número de dígitos ");
    textcolor(BLACK);printf("1");
    textcolor(LIGHTBLUE);printf(" digitado");
    textcolor(LIGHTRED);printf(" %d", cont );
    getche();
    cont = 0;
    for ( i = 0; i <= 9; i = i + 1 ){
        if ( vet [ i ] == 2 )
            cont = cont + 1;
    }
    textcolor(LIGHTBLUE);gotoxy(22,9);
    printf("Número de dígitos ");
    textcolor(BLACK);printf("2");
    textcolor(LIGHTBLUE);printf(" digitado");
    textcolor(LIGHTRED);printf(" %d", cont );
    Sleep(1000);textcolor(BLACK);gotoxy(35,23);printf("MUITO OBRIGADO");
    getche();
    return(0);
}

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.