Programação Estruturada
Monografias: Programação Estruturada. Pesquise 862.000+ trabalhos acadêmicosPor: Thiago_Mine • 4/12/2013 • 1.077 Palavras (5 Páginas) • 196 Visualizações
Relatório 4 – Algoritmos Avançados
Solução para fatorial
Descrição: A variável res é inicializada como valor 1 e recebe-se do usuário o valor a ser calculado (num). Um laço for(), com decremento de 1, inicializa o seu contador (i) com o valor a ser calculado, que será decrementado a cada iteração. Na primeira iteração a variável fat acumula seu valor atual, que é 1 multiplicado pela valor da variável i. Nas demais iterações, fat acumula o produto do seu valor atual com o valor de i decrementado, até que i seja igual a 1.
Simulação: fat=1 e num=4
1ºciclo fat<-fat*i ou 1*4=4
2ºciclo fat<-fat*i ou 4*3=12
3ºciclo fat<-fat*i ou 12*2=24
Logo fat=24.
Código em C:
fat=1;
printf("\n\n\t Valor: ");
scanf("%d",&num);
for (i=num;i>1;i--)
fat=fat*i;
printf("\n\n\t O fatorial de %d = %d",num,fat);
Solução Exponenciação
Descrição: A variável i é o contador que será o ponteiro que indicará quantas vezes o valor entrado pelo usuário na variável v1 e o resultado será acumulado na variável res, o número de repetições será indicado pelo usuário através do expoente indicado na variável v2.
Simulação: v1=2 e v2=3
1º ciclo: res<-v1(2); i<-1;res<-v1(2)*res(2)
2º ciclo: res<-v1(4)*v1(2)
Logo res=8
Código em C:
res = v1;
i = 1;
while (i < v2) //laço de repetição da exponenciação
{
res = v1 * res; //realize a conta
i++; //incrementa o contador
}
printf("\n\n %.2f elevado a %.2f = %.2f\n\n\n",v1,v2,res);//exibe o resultado
system("pause"); //pausa para visualizar o resultado
Relatório 5 - Aplicativo Final.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main ()
{
float v1,v2,res; //declaração de variaveis
int i; //declaração de variaveis
char op; //declaração de variaveis
inicio: //ponteiro de jump
system("cls"); //Limpa a tela
printf("\n\t\xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB");
printf("\n\t\xBA C A L C U L A D O R A \xBA"); //menu principal
printf("\n\t\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC");
printf("\n (+) - Soma");
printf("\n (-) - Subtração");
printf("\n (*) - Multiplicação");
printf("\n (/) - Divisão");
printf("\n (E) - Exponenciação");
printf("\n (R) - Raiz quadrada");
printf("\n (P) - Porcentagem");
printf("\n (F) - Fatorial");
printf("\n (S) - Sair");
printf("\n Opcao: ");
fflush(stdin); //Limpa Variavel
scanf("%c",&op); //identifica a opção do usuário
switch (op) //Verifica a opção do usuário
{
case '+': //soma
{
printf("\n\n S O M A");
printf("\n\n Primeiro valor: ");
scanf("%f",&v1); //entrada de dados
printf("\n Segundo valor: ");
scanf("%f",&v2); //entrada de dados
res=v1+v2; //realiza a soma
printf("\n\n %.2f + %.2f= %.2f\n\n\n",v1,v2,res); //exibe o resultado
system("pause"); //pausa para visualizar o resultado
goto inicio; //Jump para o inicio do programa }
/*------------------------------------------------------------------------------*/
case '-': //subtração
{
printf("\n\n S U B T R A C A O");
printf("\n\n Primeiro valor: ");
scanf("%f",&v1); //entrada de dados
printf("\n Segundo valor: ");
scanf("%f",&v2); //entrada de dados
res=v1-v2; //realiza a subtração
printf("\n\n %.2f - %.2f = %.2f\n\n\n",v1,v2,res); //exibe o resultado
system("pause"); //pausa
...