Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
10
Haga un diagrama de flujo que calcule el trmino nmero 180 de la
secuencia FIBONACCI. Recuerde que los dos primero nmeros de la serie
son 0 y 1. El resultado se calcula como la suma de los dos nmeros
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/*Candidat
o4*/,voto/*Voto*/;
float por1/*porcentaje1*/,
por2/*porcentaje2*/,por3/*porcentaje3*/,por4/*porcentaje4*/;
float sumv/*Suma votantes*/;
while(voto !=0)
{
printf("Ingrese para quin 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();
printf("\n\n\nSOLUCION:");
int numero,contador,ciclo,residuo;
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);
}