AULA 12 - Programação 1 - Graduação

De MediaWiki do Campus São José
Revisão de 18h03min de 7 de abril de 2015 por Douglas (discussão | contribs)
Ir para navegação Ir para pesquisar
Exercícios parte 1
  1. Ler um vetor de 10 números inteiros e colocar em ordem crescente.
  2. Ler um vetor de char e imprimir ao contrário os caracteres lidos. Exemplo: Marrocos >> socorraM
  3. Ler um vetor de char e trocar de minúsculas para maiúsculas. Exemplo: douglas de souza >> DOUGLAS DE SOUZA.
Solução 3
#include <stdio.h>
void main ()
{
   char alfa[50];
   int i=0;
 
   printf ("Entre com a cadeia em letras minúsculas: ");
   gets(alfa);
 
   while(alfa[i]!=0){
        if (alfa[i]!=32)		// na tabela ASCII 32 é o espaço em branco ' '.
            alfa[i]=alfa[i]-32; 	// na tabela ASCII maiúscula estão separadas de minúscula por 32.
	i++;
   }
   printf ("\nNova cadeia em maiúsculas: %s\n", alfa);
}
|}
a) Modificar o programa para que ele faça também, palavras com iniciais maiúsculas. Exemplo: douglas de souza >> Douglas De Souza.
b) Modifique o programa para que ele reconheça as ligações como: de, da, dos, e,... do nome e desconsidere. Exemplo: maria da silva >> Maria da Silva.
Solução 2.a.b (contribuição do aluno: Pablo Fidelis Dias)
#include <stdio.h>
void main ()
{
   char alfa[50];
   int i=0;
 
   printf ("Entre com a cadeia em letras minúsculas: ");
   gets(alfa);
 
    alfa [0]=alfa[i]-32;

   while(alfa[i]!=0){
        if (alfa[i]==32){
             if (alfa[i+1]=='d' && (alfa[i+3]==32 || alfa[i+4]==32))
            ;
            else
                    alfa[i+1]=alfa[i+1]-32; 
        }
        i++;
   }
   printf ("\nNome: %s\n", alfa);
}
|}




Solução 2
#include <stdio.h>

int tam_string(char texto[])
{
   int i=0;
   while(texto[i]!=0) 
	i++;
   return i;
}

void main()
{
   char alfa[50],beta[50];
   int tam,i;
 
   printf ("Entre com a cadeia : ");
   gets(alfa);
   tam=tam_string(alfa);	// pega o tamanho da cadeia de caracteres
   for(i=0;i<tam;i++)		// percorre o vetor até o tamanho
	beta[i]=alfa[tam-i-1];  // como começa de 0 eu preciso fazer (tam-i-1), ou seja, o primeiro é o ultimo
   beta[i]=0;			// preciso definir o final do vetor porque não vai até o ultimo que '\0'
   printf ("\nPrimeira cadeia: %s. Nova cadeia: %s\n", alfa, beta);
}
|}


Exercícios parte 2
1. O cálculo do juro composto é dado pela seguinte equação:



Onde PV é o valor presente, n o número de períodos de aplicação, i a taxa de juros e FV o valor futuro. Elabore um programa para computar o valor futuro para uma quantia aplicada de 10000 reais, dada uma taxa e o número de anos em que o valor é aplicado.

2. Refazer o exercício anterior armazenando o valor futuro de cada ano em uma posição de um vetor valores_futuros[]. Na posição 0 armazene o valor presente.
3. Gerar um vetor de 6 posições de inteiros e preenchê-lo com 6 números randômicos correspondentes a um jogo da megasena.
4. Fazer uma função adendo ao exercício anterior para ordenar o vetor gerado.
5. Adicionar uma interface para o exercício anterior para que um usuário possa entrar com 6 números de um jogo e o sistema conferir se o jogador ganhou ou não.
6. Implementar um sistema de controle de senha que permite abrir a porta para um usuário específico (userID) com uma senha específica.
Solução 2.3
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main(void)
{
    int i;
    printf("intervalo da rand: [0,%d]\n", RAND_MAX); // para megasena é de 1 a 60
 
    for(i=0;i<6;i++) 
        printf("Numero %d: %d\n",i, rand());  // tem que ajustar para 59+1
 
}
|}


<< Aula 12 >>