A Programação Estruturada - SUBPROGRAMAS
Por: Kelvin Macedo • 12/3/2017 • Trabalho acadêmico • 1.183 Palavras (5 Páginas) • 567 Visualizações
[pic 1]
...............................................................................................................................
Sistemas de informação – programação de Sistemas
Portfólio nº 1
subprogramas
Guarulhos
2016
Portfólio nº 1
subprogramas
Trabalho apresentado ao Curso Sistemas de Informação da Faculdade ENIAC para a disciplina Programação Estruturada.
Prof. Cao Ji Kan
Guarulhos
2016
[pic 2]
5.28 Invertendo dígitos. Escreva uma função que leia um valor inteiro e retorne o número com seus dígitos invertidos. Por exempli, dado o número 7631, a função deverá retornar 1367.
Solução:
#include
#include
#include
main(){
char string[50],auxiliar[50];
int a,b;
printf("Digite um valor para que ele seja invertido: ");
gets(string); //Armazena a frade na variável string
b=strlen(string)-1; //strlen calcula a quantidade de caracteres que tem a string
for(a=0;string[a]!='\0';a++){ //Repete enquanto nao chegar ao final da string
auxiliar[b]=string[a];
b--;
}
auxiliar[a]='\0';
strcpy(string,auxiliar); //Copia para a variável string o conteúdo da variável auxiliar
printf("\n\nO inverso do que foi digitado e:\n%s\n\n",string);
system("pause");
}
5.31 Jogando uma moeda. Escreva um programa que simule o lançamento de uma moeda. Para cada lançamento de moeda, o programa deverá imprimir Cara ou Coroa. Deixe o programa jogar a moeda 100 vezes e conte o número de vezes que cada lado da moeda aparece. Imprima os resultados. O programa deverá chamar uma função flip separada, que não utilize argumentos e retorne 0 para cara e 1 para coroa. [Nota: se o programa realisticamente simula o lancamento de uma moeda, então cada lado da moeda deve aparecer aproximadamente em metade do tempo para um total de aprovimadamente 50 caras e 50 coroas.]
Solução 01:
#include
#include
#include
#define N 100
int flip() {
return(rand() % 2); // Comando rand com porcentagem em 2, para simular o cara ou coroa
}
int main () {
int face[2]={0, 0}, i;
srand (time(NULL));
for (i=0; i<100; i++)
face[flip()]++;
printf ("Cara: %d\nCoroa: %d\n", face[0], face[1]);
return 0 ;
}
Solução 02: Usuário inserindo o valor total de lançamentos a serem realizados.
#include "stdio.h"
#include "stdlib.h"
int LancaMoeda();
int main()
{
int ind, QdeMoedas, Ret, Cara=0, Coroa=0;
printf("Vamos simular o lancamento de moedas\n");
printf("e calcular o numero de caras e de coroas");
printf("\n\nInforme o numero de lancamentos de moedas: ");
scanf("%d", &QdeMoedas);
for(ind=1; ind <= QdeMoedas; ind++)
{
Ret = LancaMoeda();
if (Ret == 0) Cara++;
else Coroa++;
}
printf("\n\nNumero de lancamentos: %d\n", QdeMoedas);
printf("\n\nNumero de caras: %d\n", Cara);
printf("\n\nNumero de coroas: %d\n", Coroa);
system("PAUSE");
}
int LancaMoeda()
{
int lanc;
lanc = rand()%2;
return lanc;
}
5.9 Tarifa de estacionamento. Um estacionamento cobra uma tarifa mínica de R$ 2,00 por uma permanência de até três horas, e R$ 0,50 adicionais por hora para cada hora, ou parte dela, por até três horas. A tarifa máxima para qualquer período de 24 horas é de R$ 10,00. Suponha que nenhum carro estacione por mais de 24 horas de cada vez. Escreva um programa que calcule e imprima as tarifas de estacionamento para cada um dos três cliente que utilizaram esse estacionamento ontem. Você deverá informar as horas de permanência de cada cliente. Seu programa deverá imprimir os resultados em um formato tabular e deverá calcular e imprimir o resultado recebido ontem. O programa deverá usar a função calcularTaxas para reterminar o valor devido por cliente. Sua saída deverá aparecer no seguinte formato:
...