quinta-feira, 21 de abril de 2011

Operações com Arquivo

0 comentários



#include <iostream>
#include <stdio.h>
#include <stdlib.h>

using namespace std;

void criaArq(){
    FILE *fp;
    fp = fopen("aquivo.txt","w");
    if((fp=fopen("aquivo.txt","w")) == NULL){
        cout<<"nao foi possivel abrir o arquivo"<<endl;
        exit(1);
    }
    fclose(fp);
}
void escreveArq(){
    int numero;
    FILE *fp;
    fp = fopen("aquivo.txt","a");

    printf("Entre com os numeros a serem gravados no arquivo:\n");
    do{
        scanf("%d",&numero);
        fprintf(fp,"%d\n",numero);
    }while(numero != 0);
    fclose(fp);
}

void ordenar(int v[], int tam){
 int aux;
 for (int i=0; i<tam;i++){
  for(int j=0; j<tam-1;j++){
   if(v[i] < v[j]){
    aux = v[i];
    v[i] = v[j];
    v[j] = aux;
            }
        }
    }
}

int leiaArq(int vOrdenado[]){
int numero, i = 0;
FILE *fp;
fp = fopen("aquivo.txt","r");
do{
    fscanf(fp,"%d",&numero);
    vOrdenado[i] = numero;
    i++;
}while(numero != 0);

ordenar(vOrdenado, i);

fclose(fp);
return i;
}

void escreveResultado(int v[], int tam){
   FILE *fp;
   fp = fopen("saida.txt","w");
   for (int i=0; i<tam; i++){
      fprintf(fp,"%d\n",v[i]);
   }
   fclose(fp);
}

int main(){
    int vOrdenado[100], tam;
    criaArq();
    escreveArq();
    tam = leiaArq(vOrdenado);
    escreveResultado(vOrdenado, tam);
    system("saida.txt");
    return 0;
}

terça-feira, 4 de maio de 2010

Cálculo de Salário

0 comentários
Calcular o valor do salário líquido de um programador, dado o número funções criadas, o valor de cada função, o percentual de desconto do INSS é 8% sobre o salário bruto. Deverá ser informado: o nome do funcionário, o salário bruto, o salário líquido.
#include <iostream>

using namespace std;

int main(){

    float salarioLiquido,salarioBruto,descontoInss;
    char nomeFuncionario[100];

    cout<< "Entre com o nome do funcionario\n";
    cin>> nomeFuncionario;
    cout<< "Entre com o salario bruto\n";
    cin>> salarioBruto;
    if (salarioBruto < 0){
        cout<< "Seu salario bruto esta invalido\n";
    }else{
        if (salarioLiquido < 0){
            cout<< "Seu salario liquido esta invalido\n";
        }else{
            descontoInss = salarioBruto * 0.08;
            salarioLiquido = salarioBruto - descontoInss;
            cout<< "Seu salario bruto eh "<<salarioBruto<<endl;
            cout<< "Seu salario liquido eh "<<salarioLiquido<<endl;
            cout<< "O desconto do INSS eh "<<descontoInss<<endl;
            cout<< "O nome do funcionario eh "<<nomeFuncionario;
        }

    }
    return 0;
}

terça-feira, 27 de abril de 2010

Estruturas de Repetição

0 comentários
Como fazer? Exemplo:

Para um dado conjunto de 1000 números vamos encontrar a média através das estruturas de Repetição:

Com a Estrutura de Repetição Para...Passo:

S<-0;
Para cont de 1 até 1000 passo 1
      Faça | escreva “Entre com um numero”;
           |  Leia num;
           |  Se (num>=0)
           |    Então | S<- S+num;
Escreva S/1000; 
 
OBS: No laço de Repetição Para...Passo, quando os valores se igualam a execução
da repetição ainda acontece! Se o valor da variável continuar aumentando a
repetição acontece pela ultima vez no momento em que se iguala os valores. 
 
Com a Estrutura de Repetição Repita...Até:

Cont<-0;S<-0;
Repita
    Escreva “Entre com um número”;
    Leia num;
    Se (num>=0)
        Então | S<-S+1;
              | cont<-cont+1;
Até (cont=1000)
Escreva S/cont; 
 
Com a Estrutura de Repetição Enquanto:

Cont<-0;S<-0;
Enquanto (cont<1000)
        Faça | Escreva “Entre com um numero”;
             | Leia num;
             | Se (num>=0)
             |      Então | S<-S+1;
             |            | cont<-cont+1;
Escreva S/cont;

segunda-feira, 26 de abril de 2010

Validando Entrada de Dados

0 comentários
A validação no algoritmo é uma parte primordial do todo, pois sem este recurso alem de seu algoritmo não estar apto a ser "compilado",isto é, executado pode também estar freqüentemente sem sentido. Um exemplo bem claro é um típico programa de média de notas, é obvio que neste caso devemos validar a nota em que o usuário digitar, iniciando a validação de zero até dez.
Entretanto venho por meio deste post mostrar duas maneiras nas quais você pode estar utilizando a Validação em seu algoritmo, usando Portugol.

Esta primeira maneira faz a validação de forma mais extensa por meio de laços condicionais:
Exemplo:
Escreva "Informe 1-Candidato_A,2-Candidato_B,3-Indecisos";
Leia C;

Se (C<1)e(C>3)
  Então | Escreva "Opção Invalida, Digite 1,2 ou 3";
Já nesta segunda maneira a validação é feita muito mais rápida e de maneira bem mais eficiente, porém um pouco diferente, através de uma Estrutura de Repetição:
Exemplo:

Escreva "Informe 1-Candidato_A, 2-Candidato_B, 3-Indecisos";
Leia C;

Enquanto (C<>1)e(C<>2)e(C<>3)
    faça|Escreva"Opção Invalida, Digite 1 para Candidato A, 2 para Candidato B
e 3   para Indeciso";
        |Leia C

domingo, 25 de abril de 2010

Programa: Pesquisa de Mercado

0 comentários
Uma determinada empresa fez uma pesquisa de mercado para saber se as pessoas gostaram ou não de um novo produto que foi lançado. Para cada pessoa entrevistada foram coletados os seguintes dados: Sexo (M ou F) e Resposta (1-Gostou ou 0-Não  Gostou). Sabendo-se que foram entrevistados N pessoas, é feito um algoritmo que forneça:

- Número de pessoas que gostaram do produto;
- Número de pessoas que não gostaram do produto;
- Percentagem de pessoas do sexo masculino que não gostaram do produto;
- Informação dizendo em que sexo o produto teve uma melhor aceitação.

Do Algoritmo para a Linguagem C++

0 comentários
Primeiramente, devemos ter em mãos o programa CodeBlocks ou similares de sua preferência!
Após a instalação do programa execute-o com um duplo clique no ícone, dessa maneira  com o programa aberto faça o seguinte procedimento:

FILE  - NEW PROJECT


Ao clicar em NEM PROJECT aparecerá uma tela para que vc escolha o modelo de aplicação desejada, escolha a seguinte opção (CONSOLE APLICATION) e clique em CREATE:


Ao criar seu "Console aplication", escolha onde deseja salvar o programa em seu computador e mãos a Obra!

Para fazer um programa em C++, o raciocínio do algoritmo continuara sendo o mesmo porém, sua sintaxe mudara quase que totalmente. Nesse post vou colocar um programa feito por mim, no qual tem a função de fazer o seguinte processamento:


Programa: Eleição

Um mês antes das eleições municipais, um determinado partido político encomendou uma pesquisa de opinião sobre as intenções de votos dos eleitores. Foram entrevistas 10 pessoas que indicaram suas intenções de acordo com as seguintes opções: (A) candidato A, (B) candidato B, (C) indeciso. Fazendo a leitura das intenções de votos dessas 10 pessoas e informando ao final a porcentagem de intenções para cada  uma das opções existentes (candidatos A e B, e indecisos), temos:



Repare que a sintaxe da programação em C++ é quase que totalmente diferente do que no seu Algoritmo.
As palavras equivalentes as do Algoritmo são dadas a seguir:

\n --> Quebra de linha

Int --> Variável do tipo Inteiro

while --> Equanto Faça

cin>> --> Leia

cout<< --> Escreva

if --> Se Então

else --> Senão

int main(){ --> Algoritmo

\b --> Volta a casa do cursor

= --> Recebe (<-)

== --> Igual

{ --> abre uma possivel linha de comando

} --> Fecha uma possivel linha de comando

sábado, 24 de abril de 2010

PortuGol

0 comentários
Portugol, é uma etapa na qual um iniciante em programação deve passar para que o mesmo possa desenvolver o seu raciocínio lógico e aprender como realmente funciona uma programação de verdade. Por exemplo em linguagens com C, C++ e etc.
Muitas “artimanhas” que são usadas em Portugol, são completamente descartadas em Programação, um exemplo bem claro disso são os “undescores” que são aplicados em variáveis que possuem mais que uma única palavra ou até mesmo para separar palavras de números (Lembre-se que isso são apenas artimanhas,isto é, dicas), ou comumente conhecido de underline. Seguindo essa linha de raciocínio temos também os acentos que são freqüentemente usados no comando “escreva”, entre outras artimanhas.