domingo, 30 de novembro de 2008

Correção de Exercício - Estruturas

Correção

1) Resposta:

#include
#include


struct restaurante
{ float preco;
char nome[20],endereco[40];
} ;

int main ()
{
restaurante a[10];
float soma=0,media;

printf(" 1. Crie uma estrutura para descrever restaurantes. Os membros dessa estrutura devem armazenar: o nome, o endereço, preço da comida por kilo. Crie uma matriz de 10 restaurantes e calcule e exiba a média de preço da comida por kilo e liste na tela quais restaurantes tem o preço da comida menor ou igual a média.\n\n");

for(int i=0;i<2;i++)
{ printf("\n_______________________RESTAURANTE %d_____________________\n",i+1);
printf(" Por favor digite o nome do restaurante %d: ",i+1);
scanf("%s",&a[i].nome);
printf(" Por favor digite endereco do restaurante: ");
scanf("%s",&a[i].endereco);
printf(" Por favor digite preco por kilo do restaurante : R$");
scanf("%f",&a[i].preco);
soma=soma+a[i].preco;
printf("\n---------------------------------------------------------\n");
}
media=soma/2;
printf("\n Media de preco por kilo dos 10 restaurantes: %0.2f\n",media);
printf("\n_____RESTAURANTES COM PRECO MENOR OU IGUAL A MEDIA_______\n");
for(int i=0;i<2;i++)
{ if(a[i].preco<=media)
{ printf("\n-----------------------RESTAURANTE %d---------------------\n",i+1);
printf(" Restaurante: %s ",a[i].nome);
printf(" Endereco: %s ",a[i].endereco);
printf(" Preco por kilo: %0.2f ",a[i].preco);
}
}
printf("\n_________________________________________________________\n");

system("pause");
return 0;
}

2) Resposta:


Correção de Exercício - Condição e repetição I

Correção

1) Resposta:

#include
#include
#include

int main (void)
{
float nfilhos,codigo,ganho,beneficio;


printf(" 1.1 - Para se calcular o salario de beneficio de um casal de um pais na Europa, precisa-se do codigo do casal, ganho anual e numero de filhos.\n");

int i=1;
while(i<=1000)
{ printf("\n\n Por favor digite o codigo do casal.\n");
scanf("%f",&codigo);
if(codigo==-1)
{i=1001;
}
else
{ printf(" \n Por favor digite o ganho anual do casal .\n");
scanf("%f",&ganho);
printf(" \n Por favor digite o numero de filhos do casal.\n");
scanf("%f",&nfilhos);

if(nfilhos==0)
{ printf(" O casal nao possui o salario beneficio pois nao possui filhos. \n\n");
}
else
{ if(ganho<3000)
{ beneficio=nfilhos*(0.20*ganho);
printf(" O salario beneficio e de %0.2f. \n\n",beneficio);
}
if((ganho>=3000)&&(ganho<6000))
{ beneficio=nfilhos*(0.15*ganho);
printf(" O salario beneficio e de %0.2f. \n\n",beneficio);
}
if(ganho>=6000)
{ beneficio=nfilhos*(0.10*ganho);
printf(" O salario beneficio e de %0.2f. \n\n",beneficio);
}
} }
}
i++;



system("pause");
return 0;

}


2) Resposta:

#include
#include
#include

int main (void)
{
int quadrado,cubo,i=1,divisiveis;
printf(" 1.2- CUBO E QUADRADOS DOS NUMEROS 1 A 20: \n\n");

i=1;
while(i<=20)//para calcular o quadrado e o cubo de cada numero respectivamente
{ quadrado=i*i;
cubo=i*i*i;
printf(" Quadrado de %d = %d, Cubo de %d = %d \n",i,quadrado,i,cubo);
i++;

}

printf("\n\n Numeros divisiveis de 1 a 20 por 5 sao: \n");
for(i=1;i<=20;i++)// para calcular os numeros divisiveis por 5
{ divisiveis=i%5;
if(divisiveis==0)
{ printf(" %d \n",i);
}
}


system("pause");
return 0;

}


3) Resposta:

#include
#include
#include

int main (void)
{
int i;
float quantidadeprodutos,soma,quantidade[50],preco[50],total[50];
char nome[50][20];

printf(" 1.3- Por favor digite quantos produtos deseja registrar.\n ");
scanf(" %f",&quantidadeprodutos);
printf(" \n");
soma=0;

i=1;
while(i<=quantidadeprodutos)
{
printf(" --------------------------------------- \n");
printf(" Produto %d \n",i);
printf("\n Por favor digite o nome do referido produto.\n ");
scanf("%s",&nome[i]);
printf(" \n Por favor digite a quantidade de produtos disponiveis.\n ");
scanf(" %f",&quantidade[i]);
printf(" \n Por favor digite o preco unitario do produto.\n ");
scanf(" %f",&preco[i]);
total[i]=quantidade[i]*preco[i];
soma=soma+total[i];
i++;
}
printf(" --------------------------------------- \n");
printf("\n\n NOME QUANTIDADE PRECO UNITARIO TOTAL \n");
printf(" _____________________________________________________\n");
for(i=1;i<=quantidadeprodutos;i++)
{ printf( "\n%10s %10.2f %15.2f %16.2f \n",nome[i],quantidade[i],preco[i],total[i]);

}
printf(" _____________________________________________________\n");
printf(" TOTAL\n");
printf(" %0.2f \n\n",soma);


system("pause");
return 0;

}


4) Resposta:

#include
#include
#include

int main (void)
{
int i,filial,codigo,mcodigo;
char cidade[10],mcidade[10];
float faturado,maior=-1;

printf(" 1.4- Por favor digite o numero de filiais de uma empresa qualquer.\n ");
scanf("%d",&filial);

i=1;
while(i<=filial)
{
printf(" _____________________________________\n");
printf(" FILIAL DE NUMERO: %d \n",i);
printf(" Por favor digite o codigo da filial %d .\n ",i);
scanf("%d",&codigo);
printf("\n Por favor digite a cidade em que esta localizada a filial.\n");
scanf("%s",&cidade);
printf("\n Por favor digite o valor faturado pela filial.\n");
scanf("%f",&faturado);

if(faturado>maior)
{ maior=faturado;
mcodigo=codigo;
strcpy (mcidade,cidade);
}
i++;
}
printf(" \n______________________________________________________________________________\n");
printf(" \n A filial de codigo %d da cidade de %s tem o maior valor faturado (%0.1f).\n",mcodigo,mcidade,maior);
printf(" ______________________________________________________________________________\n\n");
system("pause");
return 0;

}


5) Resposta:

#include
#include
#include

int main (void)
{
int i,encerrar;
float rendimento,aliquota,valordeduzir,impostorenda;
char nome[10];

i=1;
while(i<=100)
{ printf("__________________________________________________\n");
printf(" Por favor gidite o nome de um funcionario.\n");
scanf("%s",&nome);
printf("\n Por favor digite o rendimento deste funcionario. \n");
scanf("%f",&rendimento);

if(rendimento<=900.00)
{aliquota=0;
valordeduzir=0;
}

if((rendimento>900.00)&&(rendimento<=1800.00))
{aliquota=0.15;
valordeduzir=135.00;
}
if(rendimento>1800.00)
{aliquota=0.25;
valordeduzir=315;
}
impostorenda=(rendimento*aliquota)-valordeduzir;

printf("\n\n________________________________\n");
printf(" FUNCIONARIO: %s \n",nome);
printf(" IMPOSTO DEVIDO: %0.2f \n",impostorenda);
printf("________________________________\n\n");

printf(" Caso deseje encerrar digite 1, caso ao contrario digite 2.\n");
scanf("%d",&encerrar);
if(encerrar==1)
{i=1000;}

i++;
}
system("pause");
return 0;

}


6) Resposta:

#include
#include
#include

int main (void)
{
int empregados,i,carrosvendidos;
float vendas,salario,comissao,totalvendido,salariofinal[50];
char nome[50][20];

printf(" 1.6- Companhia de carros\n\n");
printf(" Digite quandos empregados a compahia possui para se calcular o salario total de cada um.\n ");
scanf("%d",&empregados);

i=1;
while(i<=empregados)
{ printf("---------------------------------------------\n ");
printf("VENDEDOR %d \n",i);
printf(" Por favor digite o nome do vendedor.\n ");
scanf("%s",&nome[i]);
printf(" Por favor digite o numero de carros vendidos.\n ");
scanf("%d",&carrosvendidos);
printf(" Por favor digite o valor total de vendas.\n ");
scanf("%f",&vendas);

salario=800;
comissao=100*carrosvendidos;
totalvendido=vendas*0.1;
salariofinal[i]=salario+comissao+totalvendido;

i++;
}
printf("_________________________________________\n");
printf(" VENDEDOR SALARIO\n\n");
for(i=1;i<=empregados;i++)
{ printf("%15s %20.2f \n",nome[i],salariofinal[i]);
}
printf("_________________________________________\n\n");
system("pause");
return 0;
}

Correção de Exercício - Condição e repetição II



Correção

1) reposta:

#include
#include

int main (void)
{
int i,N1[2],maior=-1;

printf(" 2.1- Por favor digite 3 numeros para verificar qual dos mesmos e o maior.\n");
scanf("%d%d%d",&N1[0],&N1[1],&N1[2]);

for(i=0;i<=2;i++) { if(N1[i]>maior)
{maior=N1[i];
}
}

printf("\n O maior valor digitado foi %d.\n\n",maior);

system("pause");
return 0;
}


2) Resposta:

#include
#include

int main (void)
{
int numero,resto,continuar,i;
printf(" 2.2 ");

for(i=1;i<=100;i++) { printf("\n\n Por favor digite um numero inteiro para verificar se o mesmo e par ou impar.\n "); scanf("%d",&numero); resto=numero%2;// Para um numero ser par o resto de uma divisao por 2 deve ser igual a 0 if(resto==0) { printf(" O numero %d e PAR. \n\n",numero); } else { printf(" O numero %d e IMPAR. \n\n",numero); } printf(" Para encerrar digite 1 caso ao contrario digite 2.\n"); scanf("%d",&continuar); if(continuar==1) { i=100; } } system("pause"); return 0; }


3) Resposta:
#include
#include

int main (void)
{
int a,b,resultado;

printf(" 2.3 VAMOS FAZER O COMPUTADOR CALCULAR!!! \n");
printf(" Digite 2 valores para a e b,respectivamente, para se aplicar na seguinte expressao:R=a+(b*b)+2*a. \n");
scanf("%d%d",&a,&b);
resultado=a+(b*b)+(2*a);
printf(" VALOR DE A=%d, VALOR DE B=%d, RESULTADO=%d \n\n",a,b,resultado);



system("pause");
return 0;
}


4) Resoposta:

#include
#include

int main (void)
{
int i=1,X,Y,A,sequencia=1;
printf(" 2.4- Por favor digite 2 numeros inteiros correspondentes as variaveis X e Y respectivamente.\n");
printf(" Sendo que Y coresponde ao numero de termos de uma sequencia.\n");
scanf(" %d%d",&X,&Y);

i=1;
while
{ A=3
Y=X*A
A+=2;

sequencia=sequencia*X;
}

system("pause");
return 0;
}


5) Resposta:

#include
#include

int main (void)
{
int i=1,A,B;
float soma=0;
printf(" 2.5- Sequencia= \n");

soma=0;
A=2;
for(i=1;i<=50;i++) { B=A*A; soma=soma+(A/B); printf("%d/%d \n",A,B); A+=2; } printf(" = %f \n",soma); system("pause"); return 0;

}








Lista de Exercícios – Condição e Repetição II

Exercicío

1. Implemente um programa, utilizando a Linguagem C, que leia três números inteiros e ache o maior entre os valores lidos. Escreva na tela o maior número lido.
2. Implemente um programa, utilizando a Linguagem C, que leia um número inteiro e verifique se ele á par ou ímpar. Escreva na tela o número lido e o resultado (par ou ímpar).
3. Implementar um programa, utilizando a Linguagem C, que leia os valores das variáveis a e b (números reais), calcule o resultado da expressão, apresentada abaixo, e escreva o resultado final.

Resultado = a + (b * b ) + 2 * a
4. Implemente um programa, utilizando a linguagem C, que leia dois valores inteiros X e Y e calcule a seguinte seqüência:
5. Elabore um programa que solicite ao usuário três números inteiros a, b e c, onde a é, obrigatóriamente, maior que 1. Seu programa deve somar todos os inteiros entre b e c que sejam divisíveis por a.

Lista de Exercícios – Condição e Repetição I

Exercicío

1. Fazer um programa que calcule e exiba na tela o salário benefício de cada casal. O programa termina quando código do casal for igual a -1. Fazer crítica no número de filhos permitindo apenas números positivos.

2. Fazer um programa que mostre na tela uma tabela dos quadrados e dos cubos dos números no intervalo de 1 a 20. Exibir também quais destes números são múltiplos de 5.

3. Dados: a quantidade e o preço unitário de 5 produtos, desenvolver um programa que calcule e exiba o total de cada produto = quantidade * preço unitário e o total geral da nota = somatória de todos os totais. Fazer crítica onde necessário. O programa deverá exibir na tela o seguinte formato:

QUANTIDADE PREÇO UNITÁRIO TOTAL
____________________________________________________________________
999 9999.99 9999.99
999 9999.99 9999.99
.. .... .....
____________________________________________________________________
TOTAL GERAL 99999.99

4. Uma empresa tem várias filiais espalhadas pelo Brasil. Para cada filial são mantidas as seguintes informações: código da filial, cidade e valor faturado. Fazer um programa que calcule e exiba na tela o código e a cidade da filial que tem o maior valor faturado. O programa termina quando código da filial for igual a zero. Fazer crítica onde necessário.
OBS: Supor que não existem faturamentos iguais.

5. Dados: o nome e o rendimento de um funcionário de uma empresa calcular o imposto de renda devido sabendo-se que imposto de renda = rendimento * alíquota - valor a deduzir e considerando a tabela abaixo:

Rendimento Alíquota Valor a Deduzir
até 900.00 0 0
acima de 900.00 até 1800.00 0.15 135.00
acima de 1800.00 0.25 315.00

6. Uma companhia de carros usados paga a seus empregados uma salário de R$800.00 por mês mais uma comissão de R$100.00 por carro vendido e mais 1% do valor total da venda. Todo mês é feita a entrada dos dados para cada vendedor contendo: o nome, o número de carros vendidos e o valor total das vedas. Desenvolver um programa para calcular e mostrar o salário de cada vendedor. Repetir o processo para 10 funcionários.

sábado, 29 de novembro de 2008

Lista de Exercícios IV - Funções


Exercício

1. Escreva uma função que receba como parâmetros um número real e um número inteiro e retorne o valor do real elevado ao inteiro.

2. Escreva um procedimento que receba como parâmetros três vetores de 10 elementos e altere o conteúdo do terceiro vetor, atribuindo-lhe o valor da soma dos outros dois.

3. Escreva um programa que leia do teclado dois vetores de 10 elementos e, utilizando o procedimento do exercício anterior, escreva na tela o valor da soma entre eles.


4. Escreva uma função que receba como parâmetro uma matriz bidimensional 5x5 e retorne o valor da soma dos elementos da diagonal principal.

5. Escreva um procedimento que receba como parâmetros uma matriz bidimensional 5x5 e um vetor de 5 elementos e armazene no vetor os elementos da diagonal principal da matriz.

6. Escreva um procedimento que receba como parâmetros um vetor de 5 elementos e um número real, e altere o conteúdo do vetor, dividindo seus elementos pelo número real.

7. Escreva um programa que leia do teclado uma matriz bidimensional 5x5 e, utilizando a função do exercício 4 e os procedimentos dos exercícios 5 e 6, mostre na tela os valores dos elementos da diagonal principal divididos pelo valor da soma da diagonal.

8. Escreva um procedimento que receba como parâmetros um vetor de reais e um inteiro que contem a quantidade de elementos do vetor, e altere o conteúdo do vetor, colocando seus elementos em ordem ascendente.


9). Escreva uma função que recebe um número inteiro e retorna TRUE se ele for par, e FALSE se ele for impar.

10. Escreva um programa que leia uma sequencia de 20 números inteiros e, utilizando a função do exercício anterior, mostre na tela quantos dos valores lidos eram pares.

11. Escreva um procedimento que receba uma string e converta os seus caracteres minúsculos em maiúsculos.


12. Escreva uma função que receba duas strings e, utilizando o procedimento do exercício anterior, retorne TRUE caso elas contenham a mesma palavra (independentemente de terem sido digitadas em maiúsculo ou minúsculo), e FALSE caso contrário.

13. Escreva um programa que solicite do usuário que digite nomes de alunos para formar uma relação de 20 nomes e, à medida em que eles vão sendo digitados, utilizando a função do exercício anterior, informe caso o nome já esteja na relação.

Lista de Exercícios III - Funções

Exercício
1. Escreva uma função que receba como parâmetros um número real e um número inteiro e retorne o valor do real elevado ao inteiro.
2. Escreva uma função que recebe um número inteiro e retorna TRUE se ele for par, e FALSE se ele for impar.
3. Escreva um programa que leia uma seqüência de 20 números inteiros e, desenvolva uma função que mostre na tela quantos dos valores lidos eram pares.
4. Desenvolver uma função que calcule a soma de uma progressão aritmética de n termos, sendo lidos o primeiro termo e a razão
5. Um número inteiro positivo é triangular se é produto de três números naturais consecutivos. Implementar uma função para verificar se um número inteiro positivo é triangular.
6. Implemente uma função iterativa para imprimir os n primeiros termos da seqüência de Fibonacci, que é dada pela seguinte fórmula:
F0= 0
F1= 1
Fn= Fn-2+Fn-1
7. Implemente um algoritmo que leia um número inteiro X. Crie uma função para determinar se o número lido é primo ou não. O protótipo da função deve ser int Primo ( int X ), onde a função retorna o valor 1 se o número X for primo e o valor 0 se o número X não for primo. (OBS. Um número é primo quando só é divisível por 1 e por ele mesmo.)