Haga un diagrama de flujo que calcule el término número 180 de la secuencia FIBONACCI. Recuerde que los dos primero números de la serie son 0 y 1. El resultado se calcula como la suma de los dos números inmediatos que le preceden.
#include "stdafx.h"
#include
#include
#include
#include
#include
#include
using namespace System;
using namespace std;
int opcion;
char continuar;
void clrscr()/*Creando funcion para limpiar pantalla.*/
{
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord = {0, 0};
DWORD count;
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(hStdOut, &csbi);
FillConsoleOutputCharacter(hStdOut, ' ', csbi.dwSize.X * csbi.dwSize.Y, coord, &count);
SetConsoleCursorPosition(hStdOut, coord);
}
void fibonacci()
{
int pri,seg,sig,i;
clrscr();
seg=1;
i=3;
while (i<=180)
{
sig=pri+seg;
pri=seg;
seg=sig;
i=i+1;
printf(" %d,",sig);
}
getch();
}
PROBLEMA 3.11
void candidatos()
{
clrscr();
int can1/*Candidato1*/,can2/*Candidato2*/,can3/*Candidato3*/,can4/*Candidato4*/,voto/*Voto*/;
float por1/*porcentaje1*/, por2/*porcentaje2*/,por3/*porcentaje3*/,por4/*porcentaje4*/;
float sumv/*Suma votantes*/;
while(voto !=0)
{
printf("Ingrese para quién es el voto: ");
scanf("%d",&voto);
switch(voto)
{
case 1: can1=can1+1; break;
case 2: can2=can2+1; break;
case 3: can3=can3+1; break;
case 4: can4=can4+1; break;
}
}
sumv=can1+can2+can3+can4;
if (can1!=0)
{por1=(can1/sumv)*100;}
else
{
if (can2!=0)
{por2=(can2/sumv)*100;}
else
{
if (can3!=0)
{por3=(can3/sumv)*100;}
else
{if (can4!=0)
{por4=(can4/sumv)*100;}}
}
}
system("cls");
printf("\n\n\nVoto Candidato1: %d Porcentaje: %5.2f",can1,por1); Console::Write ("%");
printf("\nVoto Candidato2: %d Porcentaje: %5.2f",can2,por2); Console::Write ("%");
printf("\nVoto Candidato3: %d Porcentaje: %5.2f",can3,por3); Console::Write ("%");
printf("\nVoto Candidato4: %d Porcentaje: %5.2f",can4,por4); Console::Write ("%");
printf("\n\nCantidad de Votantes: %5.2f",sumv);
getch();
}
PROBLEMA 3.14 NUMERO PERFECTO
void perfectos()
{
int tecla;
do
{
clrscr();
printf("\n\nUn numero se dice que es perfecto si sus factores, incluyendo a 1\n(pero excluyendo el numero mismo), suman igual que el numero.\nPOR EJEMPLO: 6 es un numero perfecto porque 6 = 1 + 2 + 3.\n\nEste PROGRAMA determina e imprime todos los numeros perfectos entre 1 Y 1000.\nTambien imprime los factores de cada numero perfecto, para confirmar que\nel numero de verdad es perfecto.\n\n\n");
printf("\n\n\nSOLUCION:");
int numero,contador,ciclo,residuo;
for(numero=1;numero<=1000;numero++){//Ciclo hasta 1000 porque el ejercicio pide buscar los números perfectos entre 1 y 1000.
contador=0;//La variable contador sirve para contar cuántos factores tiene cada número del 1 al 1000, sin tomar en cuenta como factor el número mismo que se está evaluando.
for(ciclo=1;ciclo
residuo=numero%ciclo;
if(residuo==0){
contador=contador+1;
}
}
LLAMADA
void llamada()
{
clrscr();
char tipo;
int duracion,cl,tecla;
float cuenta,costo;
cl=0;
cuenta=0;
printf("tipo de llamada: ");
scanf("%c",&tipo);
printf("duracion: ");
scanf("%d",&duracion);
while((tipo!='x')&&(duracion!= -1))
{
switch(tipo)
{
case 'i':
if (duracion>3)
{
costo=7.59+(duracion-3)*3.03;
}
else
{
costo=7.59;
}
break;
case 'n':
if(duracion>3)
{
costo=1.20+(duracion-3)*0.48;
}
else
{
costo=1.20;
}
break;
case 'l':
cl=cl+1;
if(cl>50)
{
costo=0.6;
}
else
{
costo=0;
}
break;
}
cuenta=cuenta+costo;
printf("ingrese el tipo de llamada que decea realizar:");
scanf("%s",&tipo);
printf("ingrese la duracion de la llamada:");
scanf("%d",&duracion);
}