Professional Documents
Culture Documents
Algoritmo.
1.
Inicio.
2.
3.
Imprimir opciones.
4.
5.
6.
FIN
Diagrama de flujo.
Inicio
num
Seleccione el
servicio que desea
a, b o c
num
Case
1
num=1
No.Dominos
Brea
k
Case
3
Num=3
Case
2
Num=2
No.Burger
Brea
k
Fin
No.KFC
Brea
k
Codificacin.
#include <stdio.h>
#include <conio.h>
int num;
int main (){
printf("Binvenido a su agenda\n");
printf("Seleccione el numero que desea conocer\n");
printf("1) Dominos \n");
printf("2) Burger King \n");
printf("3) Kentuchy Fried Chicken \n");
scanf("%i", &num);
switch(num) {
case 1:
printf("El numero es: 01 800 36 64 667 \n ");
break;
case 2:
printf("El numero es: 01 55 1454 5464\n ");
break;
case 3:
printf("El numero es: 01 55 5868 68 68 \n ");
break;
default:
printf("Error, ingrese un inciso valido \n");
break;
} getch (); return 0; }
3
Captura de pantalla
Prueba de escritorio.
Num?
Case1
1
X
2
3
Case2
Case3
X
X
Imp
Domins
Burger
KFC
Inicio
2.
3.
4.
traspaso
recargas
retiro
salir
5.
Relizar la operacin de cada opcin dependiendo de la opcin
elegida
6.
Fin
Diagrama de flujo:
Inicio
opc
Introduzca su
contrasea
Traspaso
Recarga
Retiro
Salir
opc
case1
Opc=1
Traspaso
Break
Break
case2
Opc=3
case 3
Opc=2
Retiro
Recarga
Break
Fin
Codificacin:
7
#include<stdio.h>
#include<conio.h>
int a=123,opcion=0;
main()
{printf("\nESTE PROGRAMA MUESTRA COMO ES EL SISTEMA
DE UN CAJERO AUTOMATICO");
printf("\nDame tu clave ");
scanf("\n%d",&a);
if(a==123)
printf("\nEs correcto");
else
printf("\n Contrasea invalida");
printf("\nTeclea otra ves tu clave ");
scanf("\n%d",& a);
printf("\nEste es el menu de opciones ");
printf("\n1.-Traspaso\n");
printf("\n2.-Recargas\n");
printf("\n3.-Retiro en efectivo\n");
printf("\n11.-Salir\n");
printf("\nTeclea la opcion que quieras\n");
scanf("\n%d",&opcion);
switch(opcion){
case 1:{
puts("Traspaso");
puts("GRACIAS POR SU PREFERENCIA");
break;
8
}
case 2:
{
puts("Recargas");
puts("GRACIAS POR SU PREFERENCIA");
break;
}
case 3:
{
puts("\nRetiro en efectivo");
puts("\nCuanto deseas retirar:");
puts("\nElige la opcion que quieras para retirar");
puts("\nPuedes elegir:");
puts("\n4.- $20");
puts("\n5.- $50");
puts("\n6.- $100");
puts("\n7.- $200");
puts("\n8.- $500");
puts("\n9.- $1000");
puts("\nElige la opcion que quieras");
break;
}
case 4:
{
puts("Elegiste la opcion de $20");
puts("GRACIAS POR SU PREFERENCIA");
9
break;
}
case 5:
{
puts("Elegiste la opcion de $50");
puts("GRACIAS POR SU PREFERENCIA");
break;
}
case 6:
{
puts("Elegiste la opcion de $100");
puts("GRACIAS POR SU PREFERENCIA");
break;
}
case 7:
{
puts("Elegiste la opcion de $200");
puts("GRACIAS POR SU PREFERENCIA");
break;
}
case 8:
{
puts("Elegiste la opcion de $500");
puts("GRACIAS POR SU PREFERENCIA");
break;
}
10
case 9:
{
puts("Elegiste la opcion de $1000");
puts("GRACIAS POR SU PREFERENCIA");
break;
}
case 11:
{
puts("Elejiste la opcion de salir");
puts("GRACIAS POR SU PREFERENCIA");
break;
}
default:
puts("opcion erronea");
}
getchar();
getchar();
}
Prueba de escritorio
Introducer la
clave
Traspaso
Recargas
11
Retiro
Seleccion de
monto
Salir
Si
Si
Si
Si
Gracias por su
preferencia
Gracias por su
preferencia
Gracias por su
preferencia
Gracias por su
preferencia
Gracias por su
preferencia
Gracias por su
preferencia
Gracias por su
preferencia
Gracias por su
preferencia
20
50
100
200
Gracias por su
preferencia
Gracias por su
preferencia
Gracias por su
preferencia
Gracias por su
preferencia
Anlisis de resultados
12
1. Inicio
2. Se dan a conocer las variables a trabajar lado,base,opcin,r
3.Se asignan valores a la variable de opcin
Opcin 1 :Equilatero
Opcion2: Issceles
Opcin 3:Escaleno
4. Se pide al usuario determinar los valores de lado, base y opcin
5. Si se escoje la opcin 1 realizar el proceso: r=(2*lado)+base;
6. Si se escoje la opcin 2 realizar el proceso r=3*lado;
7. Si se escoge la opcin 3 realizar el proceso r=lado+lado+lado;
8. Imprimir r de cualquiera de los 3 casos
9. Si se escoge una opcin incorrecta se imrpime opcin invalida
10. fin
Diagrama de flujo
Inicio
13
R
Opcin=otro
Lado,base,opcion
Opcin 1 :Equilatero
Opcion2:Isoseles
Opcion 3:Escaleno
opcion
Opcin=1
r=(2*lado)
+base;
Opcin=3
Opcin=2
r=lado+lado+l
ado;
r=3*lado;
Fin
14
Codificacion:
#include<stdio.h>
#include<conio.h>
main (){
int lado,base,opcion,r;
printf("Introduca la medida de el lado de el triangulo en cm\n");
scanf("%d",&lado);
printf("Introduca la medida de la basse de el triangulo en cm\n");
scanf("%d",&base);
printf("seleccione una opcion\n");
printf("1. EQUILATERO\n");
printf("2.ISOSELES\n");
printf("3.ESCALENO\n");
scanf("%d",&opcion);
switch (opcion){
case 1:
r=(2*lado)+base;
printf("el perimetro es %d \n",r);
break;
case 2:
r=3*lado;
printf("el perimetro es %d \n",r);
break;
case 3:
r=lado+lado+lado;
printf("el perimetro es %d \n",r);
break;
default:
printf("opcion invalida \n");
break; }
getch ();
lado
base
opcion
12
Prueba de escritorio:
Anlisis de resultados:
Opcion 1
r=(2*lado)
+base;
r=2*2+2=
6
Opcin 2
r=3*lado;
Opcin 3
r=lado+lad
o+lado;
defau
lt
Imprimi
r
r=6
r=3*3=9
r=9
r=4+4+4=1
2
r=12
Opci
n
invali
da
Opcin
invalida
Case 6
Case 7
Case 8
FIN
Case 9
Case 10
CODIFICACION
Estas
aprobado
Eres
alumno
notable
Eres
alumno
sobresalien
te
#include<stdio.h>
#include<cstdlib>
main(void)
{
int nota;
printf("introduce tu nota entre 6 y 10\n\n");
scanf("%i",& nota);
switch(nota)
{
case 6:
printf("estas aprobado\n\n");
break;
case 7:
case 8:
printf("eres un alumno notable\n\n");
break;
case 9:
case 10:
printf("eres un alumno sobresaliente\n\n");
break;
default:
printf("no existes en el programa de estudios\n\n");
}
system ("pause");
}
PRUEBA DE ESCRITORIO
NOTA
6
7
8
9
10
IMPRIMIR
Estas aprobado
Eres un alumno notable
Eres un alumno notable
Eres un alumno
sobresaliente
Eres un alumno
sobresaliente
Inicio
2.
3.
1. Lunes
2. Martes
3. Mircoles
4. Jueves
5. Viernes
6. Sbado
7. Domingo
4.
Lunes = Luna
Martes = Marte
Mircoles = Mercurio
Jueves = Jpiter
Viernes = Venus
Sbado = Saturno
Domingo = Sol
5.
6.
Fin
Algoritmo
Inicio
Dia=0
Dia
no
lunes
no martes
si
si
luna
Marte
no
miercoles
si
Mercurio
Fin
no
jueves
si
Jpiter
si
Venus
no
viernes
Domingo
no
Sol
Codificacin
no
Sabado
si
Saturno
#include <stdio.h>
#include <conio.h>
int main() {
int dia = 0;
printf("Elige un Dia a la Semana\n\n");
printf("1. Lunes\n");
printf("2. Martes\n");
printf("3. Miercoles\n");
printf("4. Jueves\n");
printf("5. Viernes\n");
printf("6. Sbado\n");
printf("7. Domingo\n");
printf("Que numero de dia de la semana escoges: ");
scanf("%i",&dia);
switch(dia) {
case 1 :
printf("Lunes es, Luna\n");
break;
case 2 :
printf("Martes es, Marte\n");
break;
case 3 :
printf("Miercoles es, Mercurio\n");
break;
case 4 :
printf("Jueves es, Jupiter\n");
break;
case 5 :
printf("Viernes es, Venus\n");
break;
case 6 :
printf("Sbado es, Saturno\n");
break;
case 7 :
printf("Domingo es, Sol\n");
break;
default :
printf("No existe\n");
}
getch();
return 0;
}
Prueba de escritorio
Dia=
0
Di
a
Cas
e1
Lun
a
Case
2
Case 3
Case
4
Case
5
Case 6
Cas
e7
Imprim
ir
Mart
e
Mercuri
o
Jpite
r
5
Venu
s
Venus
Saturn
o
Sol
Anlisis de resultados
FI
N
Inicio
1,2,3
Switch(Color)
Color=1
Si
Blue
No
Color=2
Si
Yellow
No
Color=3
Fin
Red
Prueba de escritorio:
Color
Color
Case 1
Case 2
Case 3
Blue
Yellow
Red
Anlisis de resultados
Imprimir
Color
Azul
Amarillo
Rojo
Fin
b
5
res
25
opc=4?
Anlisis de resultados
Diagrama de flujo
opc
1
OPERACIN
20 + 5
opc=1?
1=1?
opc=2?
opc=3?
Imprimir (res)
25
Inicio
a,b,res,opc
a,b,opc
opc=1?
res=a+b
opc=2?
res=a-b
2
2
opc=3?
opc=4?
res=a*b
res=a/b
res
Fin
Codificacin
opc
Qu significan las
palabras Karate-Do?
opc
Case
1
opc=1
Tu respuesta
es incorrecta
Brea
k
Case
2
opc=2
Tu respuesta
es incorrecta
Brea
k
Fin
Case
3
opc=3
Felicidades, tu
respuesta es
correcta
Brea
k
Codificacin
#include<stdio.h>
#include<conio.h>
int main()
{
int opc;
printf("\t\t\t\tA VER SI SABES...\n");
printf("Que significan las palabras Karate-Do?\n");
printf("[1]El combate cuerpo a cuerpo\n");
printf("[2]Artes marciales de Japon\n");
printf("[3]Camino o senda de la mano vacia\n");
scanf("%i", &opc);
switch(opc)
{
case 1:
printf("Tu respuesta es incorrecta\n");
break;
case 2:
printf("Tu respuesta es incorrecta\n");
break;
case 3:
printf("Felicidades, tu respuesta es correcta!!\n");
break;
}
getch();
return 0;
}
Inicio
Prueba de escritorio
[1] El combate
cuerpo a cuerpo
[2] Artes marciales
de Japn
[3] Camino o senda
de la mano vaca
opc
3
Imprimir: Tu
respuesta es
incorrecta
Anlisis de resultados
case2
Imprimir: Tu
respuesta es
incorrecta
case3
Imprimir:
Felicidades,
tu respuesta
es correcta
Felicidades, tu
respuesta es
correcta
Fin
case1
Diagrama de flujo
inicio
Case 1
Tonica
Tnica
Case6
Superdominate
Case2
Supertonica
Case3
Mediante
Superdotica
Mediante
Case5
Cae4
Dominante
sudominate
Subdominat
Dominante
e
Supertonica
fin
default
Vuelva a intentarlo
Case7
Sensible
Codificacin
Sensible
#include<stdio.h>
#include<conio.h>
int main()
{
int N;
printf("Programa para saber que nombre del grado es de una
escala musical, del 1 al 7. ");
printf(" \n Introdusca un numero del 1 al 7: \n");
scanf("%d",&N);
switch (N)
{
case 1:{
printf("Tonica");
break;}
case 2:
printf("Supertonica");
break;
case 3 :
printf("Mediante");
break;
case 4:
printf("Sudomiante");
break;
case 5:
printf("Dominante");
break;
case 6:
printf("Supertonica");
break;
case 7:
printf("Sensible");
break;
default:
printf("Vuelva a intentarlo");
break;
}
getch();
Prueba de escritorio
N Case
:1
Tonic
a
1 Tonic
a
2
3
4
5
6
7
8
Case:2
Supertoni
ca
Case:3
Median
te
Case:4
Subdomina
nte
Case:5
Domina
nte
Case:6
Superdomina
nte
Case:
7
Sensib
le
Defaulft
Opcion
invalida
Imprimir
Tonica
Supertoni
ca
Supertonica
Median
te
Mediante
Subdomina
nte
Subdominant
e
Dominante
Dominat
e
Superdomina
nte
Superdomina
nte
Sensible
Sensib
le
Vuelva
a
intentar
lo
Vuelva a
intentarlo
Inicio
Declarar las variables que se van a ocupar.
num como una variable independiente
Pedir al usuario que ingrese el valor de la variable i dentro del
rango del 1 al 8
5. Si escoge el nmero 1,
6. Se va a imprimir al proveedor B. Braun
7. Si escoge el nmero 2,
8. Se va a imprimir al proveedor Maypo
9. Si escoge el nmero 3,
10.
Se va a imprimir al proveedor Instrumental mdico
11.
Si escoge el nmero 4,
12.
Se va a imprimir al proveedor Sinthes
13.
Si escoge el nmero 5,
14.
Se va a imprimir al proveedor Karlan
15.
Si escoge el nmero 6,
16.
Se va a imprimir al proveedor Joga
17.
Si escoge el nmero 7,
18.
Se va a imprimir al proveedor Degasa
19.
Si escoge el nmero 8,
20.
Se va a imprimir al proveedor Dentilab
21.
Fin
DIGRAMA DE FLUJO
INICIO
num
num?
1
8
Proveedor solicitado
FIN
CODIFICACION
#include <stdio.h>
#include <conio.h>
main(void)
{
Int num;
printf("Elige la opcin que deseas saber sobre el IPN\n");
printf("1. B. Braun.\n");
printf("2. Maypo \n");
printf(3. Instrumental mdico.\n);
printf(4. Sinthes.\n);
printf(5. Karlan.\n);
printf(6. Joga.\n);
printf(7. Degasa.\n);
printf(8. Dentilab.\n);
printf("Qu opcin es la que desaes saber? ");
scanf("%d",num);
switch(num)
{
case 1 :
printf(" Proveen al hospital con Material de osteosintesis.\n");
break;
case 2 :
printf("Proveen al hospital con medicamentos .\n");
break;
case 3 :
printf("Proveen al hospital con material de curacin.\n");
break;
case 4 :
printf(": Proveen al hospital con material de osteosintesis.\n");
break;
case 5 :
printf(": Proveen al hospital con sutura hospitalaria.\n");
break;
case 6 :
printf("Proovedor emergente.\n");
break;
case 7 :
printf(": Proveen al hospital con gasas y vendas.\n");
break;
case 8 :
printf(": Proveen al hospital con material de curacin.\n");
break;
}
getch ();
return 0;
}
Anlisis de resultados
SI
Fabricante=1
NO
SI
Fabricante=2
Fabricante=
3
iPhone 5
iPhone 5s
iPhone 6
iPhone Plus
iPhone 6s
Motorola moto X
Motorola moto X 2da Gen
Google Nexus 6
Motorola moto X 3ra Gen
Motorola moto X Play
Xperia Z2
Xperia Z3
Xperia Z3+
Xperia Z5
Xperia Z5 Premium
Fin
fabricant
e
fabricante
=0
fabricanteX
#
Imprimir (res)
Xperia Z2
Xperia Z3
FIN
Case 1
Sony
Case 2
Apple
Case 3
Motorola
Case4
LG
Case5
HTC
Case6
Samsung
Case7
Microsoft
Lumia
Xperia Z3+
Xperia Z5
Xperia Z5 Premium
iPhone 5
iPhone 5s
iPhone 6
iPhone Plus
iPhone 6s
Motorola moto X
Motorola moto X 2da
Gen
Google Nexus 6
Motorola moto X 3ra
Gen
Motorola moto X Play
LG G Flex
LG G2
LG G3
LG G Flex 2
LG G4
HTC One
HTC One M7
HTC One M8
HTC One M8s
HTC One M9
Samsung Galaxy S5
Samsung Galaxy S6
Samsung Galaxy
S6+
Samsung Galaxy S6
Edge
Samsung Galaxy
Note4
Lumia 1020
Lumia 830
Lumia 930
Lumia 950 XL
Lumia 950
Anlisis de resultados
Inicio
Declarar la variables a utilizar:A,N,X
Presionar enter para desplegar el men
Asignar valor a X(seleccionar contacto)
Imprimir contacto
Fin
Diagrama de flujo
Inicio
A,N,X
SWITCH(X)
X=1?
SI
EL NUMERO
DE ANA
NO
X=2?
SI
NO
FIN
EL NUMERO
DE PEPE
Prueba de escritorio
X NUMERO
Case 1
Case 2
X (NUMERO)
1
2
IMPRIMIR
5552340945
5552347825
FIN
Codificacin
//agenda telefonica
#include<stdio.h>
int main(){
int X,A,;
float N;
printf("hola perciona enter para desplegar el menu de tus
contactos:\n\n");
scanf("&d",&A);
printf("\teclee cual contacto deseas saber su numero?\n\n");
printf("1-ana\n");
printf("2-pepe\n");
scanf("%d",&X);
switch(X){
case 1: N=5552340945;
break;
case 2: N=5552347825;
break;}
printf("el numero del contacto seleccionado es: %f",N);
return 0;
}
Anlisis de resultados
Diagrama de flujo
Inicio
b,h,P,A
b,h
Quieres calcular el
permetro?
Quieres calcular el
area?
A=b*h
P=(2*h)+(2*b)
Fin
Codificacin
#include <stdio.h>
#include <conio.h>
int main ()
{
float b,h,A,P;
int opc;
printf("\n Seleccione lo que desea calcular del rectangulo \n");
printf("\n 1---->area \n");
printf("\n 2---->perimetro\n");
scanf("%d",&opc);
switch (opc)
{
case 1:
{
printf("\n Dame el valor de la base:\n");
scanf("%f",&b);
printf("\n Dame el valor de la altura:\n");
scanf("%f",&h);
A=b*h;
printf(" \n El area es %f\n",A);
}
break;
case 2:
{
printf("\n Dame el valor de la base:\n");
scanf("%f",&b);
printf("\n Dame el valor de la altura:\n");
scanf("%f",&h);
P=2*h+2*b;
printf(" \n El perimetro es %f\n",P);
}
}
getch();
return 0;
}
Prueba de escritorio
b
Quiere
calcular el
rea?
12
84
si
14
40
no
b*h
12*7
--
Quiere
calcular el
permetro?
(2*h)+ (2*b)
si
--P
(2*6)+ (2*14)
Anlisis de resultados
Fin
-
Diagrama de flujo:
INICIO
w, m, res
SI
Opcion=Peso?
NO
res
m*9.81
Opcion=Masa?
NO
default
SI
res
w
res
w/9.81
FIN
res
0
Prueba de escritorio:
w
3
m
5
res
Opcion res
Peso res
Masa
m*9.81
5*9.81
res
res
w/9.81
3/9.81
Imprimir
49.05
0.30
FIN
FIN
Codificacin:
#include <stdio.h>
#include <conio.h>
main ()
{
int Opcion;
float w, m, res;
printf ("Menu para calcular el concepto de peso");
printf ("\n\nSelecciona una opcion\n");
printf ("\n1-->Peso");
printf ("\n2-->Masa\n\nOpcion: ");
scanf ("%d", &Opcion);
switch(Opcion)
{
case 1:
printf ("\nCalcular el peso");
printf ("\n\nEscribe el valor de la masa (kg): ");
scanf ("%f", &m);
res=m*9.81;
printf ("\nEl valor del peso (Newtons) es: %.2f", res);
break;
case 2:
printf ("\nCalcular la masa");
printf ("\n\nEscribe el valor del peso (Newtons): ");
scanf ("%f", &w);
res=w/(9.81);
printf ("\nEl valor de la masa (kg) es: %.2f", res);
break;
default:
res=0;
}
printf ("\n\nPresione cualquier tecla para salir");
getch ();
return 0;
}
Diagrama de flujo
Inicio
Opcin, v, t, d, operacion1,
operacion2, operacion3.
Opcin, v, d, t
Opcin
Opcin=1?
Opcin=3?
Opcin=2?
NO
NO
NO
SI
SI
Dv*t
Td/v
Vd/t
Fin
SI
Codificacin
#include <stdio.h> /*Biblioteca para entrada y salida de datos*/
#include <conio.h> /*biblioteca para entrada y salida de datos*/
main() /*inicio del metodo principal*/
{ /*Inicio del cuerpo del programa*/
int opcion; /*declaracion de las variables de tipo entero*/
float operacion1,operacion2,operacion3,v,d,t; /*delcaracion de las variables
de tipo flotante*/
printf("\t\nMRU\n"); /*titulo del programa*/
printf("\t\t\nQue quieres hacer?\n"); /*se le pide al usuario una opcion*/
printf("\t\nVelocidad(1)\n"); /*opcion 1*/
printf("\t\t\n Distancia(2)\n"); /*opcion 2*/
printf("\t\t\nTiempo(3)\n"); /*opcion 3*/
scanf("%d",&opcion); /*se asigna el valor de la opcion*/
printf("\t\nMRU\n"); /*imprime le titulo de un formulario*/
printf("\t\t\nFormulario\n"); /*imprime un mensaje*/
printf("\t\t\n v=d/t\n"); /*imprime la primera formula del MRU*/
printf("\t\t\n d=v*t\n"); /*imprime la segunda formula del MRU*/
printf("\t\t\n t=d/v\n"); /*imprime la tercera formula del MRU*/
switch(opcion) /*se comienza el switch en el cual se indica que se tomara el
valor de la opcion*/
{ /*incio del switch*/
case 1: /*caso 1 aqui se realiza lo siguiente*/
printf("\t\t\nDame el valor de la distancia\n"); /*se pide el valor de la
distancia*/
scanf("%f",&d); /*se le asigna valor a la distancia*/
printf("\t\t\nDame el valor del tiempo\n"); /*se pide el valor del tiempo */
scanf("%f",&t); /*se asinga el valor del tiempo*/
operacion1=d/t; /*se realiza la operacion para obtenes la velocidad en el
MRU*/
printf("\t\t\nEl valor de la velocidad es:\n%.2f",operacion1); /*se imprime el
resultado de la velocidad*/
break;/*se cierra el caso 1*/
case 2: /*caso 2 aqui se realiza lo siguiente*/
printf("\t\t\nDame el valor de la velocidad\n"); /*se pide el valor de la
velocidad*/
scanf("%f",&v);/*se le asigna un valor a la velocidad*/
printf("\t\t\nDame el valor del tiempo\n"); /*se pide el valor del tiempo */
scanf("%f",&t); /*se le asigna el valor al tiempo */
operacion2=v*t; /*se realiza la operacion en la que se obtendra el valor de la
distancia*/
printf("\t\t\nEl valor de la distancia es:\n%.2f",operacion2); /*se imprime el
valor de la distancia*/
break; /*se cierra el caso 2*/
case 3: /*caso 3 en este se realizara lo siguiente*/
printf("\t\t\nDame el valor de la distancia\n"); /*se pide el valor de la
distancia*/
scanf("%f",&d); /*se le asigna el valor a la distancia*/
Prueba de escritorio
Opci
n
1
Vd/t
Dv*t
Td/v
30
30
60
15
V30/
2
D30*
2
T15/
2
Imprim
ir
15
7.5
Fin
Fin
anlisis de resultados
Diagrama de flujo
Inicio
Cocacola,
sabritas, bimbo,
opc
Se pide la
marca a
consumir
cocaco
Manzanit
a
Coca
2
Mirinda
Jumex
bimb
o
sabrit
as
Rufles
Doritos
Dorilocos
Chetos
colmillos
Panquesit
os
Conchas
Lechita
bimbo
Nito
Algoritmo
#include <stdio.h>
#include<conio.h>
void main()
{
int cocacola, sabritas, bimbo, opcin;
printf("elige la marca que deseas\n");
printf("1.cocacola\n");
printf("2.sabritasn");
printf("3.bimbo\n");
scanf("%d",&opcion);
switch(opcion)
{
case 1:
printf("los productos son:\n Manzanita\n Coca\n Mirinda\n Jumex ");
break;
case 2:
printf("los productos son:\n Rufles\n Doritos\n Dorilocos\n Chetos\n colmillos");
break;
case3:
fin
Case1
Cocacola
Case2
sabritas
Case3
bimbo
Productos cocacola
Anlisis de resultados.
Imprime
resultado
Manzanit
a
Coca
Mirinda
Jumex
break;
case 3:
cout<<"***Has elegido calcular el area del rectangulo***\n\n";
cout<<"***Ingresa la base***\n";
cin>>b;
cout<<"***Ingresa la altura***\n";
cin>>a;
rec=b*a;
cout<<"***El area del rectangulo es:"<<rec<<endl;
break;
case 4:
cout<<"***Has elegido calcular el area del circulo***\n\n";
cout<<"***Ingresa el radio***\n";
cin>>a;
cir=3.1416*(a*a);
cout<<"***El area del circulo es:"<<cir<<endl;
break;
default:
cout<<"*Esta opcin es incorrecta*\n";
}system("pause");}
Diagrama de flujo
Inicio
cuad,tri,rec,cir,
b,a, opc.
Case 1
opc
Case 2
b,a.
Cuad
Cuad=b
tri=(b*a)/
tri
Fin
Case 3
b,a.
rec= b*a
rec
Case 4
a.
cir=3.1416*(
cir
Anlisis de resultados
Inicio.
Determinar la variable con la que voy a trabajar, C.
Pedir a usuario que proporcione una letra.
Si entra en cualquiera de los siguientes casos es vocal. A,e,i,o,u.
De lo contrario no es vocal.
Fin del programa.
Diagrama de flujo
Inicio
e
A,e,i,o,u
No es vocal
Codificacin
include <stdio.h>
#include <conio.h>
int main ()
{char c;
printf("Introduzaca un caracter");
scanf("%c",&c);
switch(c){
case'a'
Es vocal
Fin
:printf("Es vocal");
break;
case'e'
:printf("Es vocal");
break;
case'i'
:printf("Es vocal");
break;
case'o'
:printf("Es vocal");
break;
case'u'
:printf("Es vocal");
break;
defalt:
printf("No es vocal");
break;}
getch ();
return 0;}
Prueba de escritorio
C
A
h
C= (a,e,i,o,u)?
C=a
C=h
Anlisis de resultados
imprimir
Es vocal
No es vocal
fin
Diagrama de flujo
Inicio
opc
Completa la frase de
manera correcta!
[1] exotermicas porque liberan energia en forma de calor hacia los alrededores
[3] endotermicas porque liberan energia en forma de calor hacia los alrededores
opc
opc=1
Case
1
Felicidades, tu
respuesta es
correcta!!
opc=2
Case
2
Tu respuesta
es incorrecta
opc=3
Case
3
Tu respuesta es
incorrecta
opc=4
Case
4
Tu respuesta
es incorrecta
Codificacin
Fin
#include<stdio.h>
#include<conio.h>
int main()
{
int opc;
printf("\t\t\t\t Completa la frase de manera correcta! \n");
printf("\n\t Las reacciones de combustion son...\n");
printf("[1]exotermicas porque liberan energia en forma de calor hacia los alrededores.\n");
printf("[2]exotermicas porque absorben energia en forma de calor de los alrededores.\n");
printf("[3]endotermicas porque liberan energia en forma de calor hacia los alrededores.\n");
printf("[4]endotermicas porque absorben energia en forma de calor de los alrededores.\n");
printf("\n\t\t\tSelecciona tu respuesta\n");
scanf("%i", &opc);
switch(opc)
{
case 1:
printf("Felicidades, tu respuesta es correcta!!\n");
break;
case 2:
printf("Tu respuesta es incorrecta\n");
break;
case 3:
printf("Tu respuesta es incorrecta\n");
break;
case 4:
printf("Tu respuesta es incorrecta\n");
break;
}
getch();
return 0;
}
Prueba de escritorio
opc
Case1
1
X
2
3
4
Case2
Case3
Case 4
X
X
X
Imp
Correcta!
Incorrecta
Incorrecta
Incorrecta
Anlisis de resultados
Diagrama de flujo
Inicio
m, w, q, v
Si
No
m=1
Si
q, v
w=q*v
No
m=2
Si
m=3
w, v
No
q=w/v
w, q
v=w/q
q
v
Fin
Prueba de escritorio
m w
w=q*v
1
2
3
6
6
w=3*6
18
18
q=w/v
v=w/q
q=18/6
Imprimir
w
18
imprimir q
Imprimir v
3
v=18/3
Codificacin
#include<stdio.h>
#include<conio.h>
main()
{
int m;
float w, q, v;
printf("Selecciona la magnitud a calcular \n");
printf("\t 1.Trabajo \t 2. Carga electrica \t 3. Diferncia de pontencial \n");
scanf("%d",&m);
switch(m)
{
case 1:
printf("Ingresa el valor de la carga electrica (Coulombs):\n");
scanf("%f",&q);
printf("Ingresa el valor del la diferencia de potencial (Volts):\n");
scanf("%f",&v);
w=q*v;
printf("El valor del trabajo es: %f \n joules",w);
break;
case 2:
printf("Ingresa el valor del trabajo (joules):\n");
scanf("%f",&w);
printf("Ingresa el valor del la diferencia de potencial (Volts):\n");
scanf("%f",&v);
q=w/v;
printf("El valor la carga electrica es: %f \n Coulombs",q);
break;
case 3:
printf("Ingresa el valor del trabajo (joules):\n");
scanf("%f",&w);
printf("Ingresa el valor de la carga electrica (Coulombs):\n");
scanf("%f",&q);
v=w/q;
printf("El valor de la diferencia de potencial es: %f \n Volts",v);
break;
default:
printf("Ingresa una opcion valida");
break;
}
getch();Anlisis de resultados
1. Inicio
2. Declarar variable a usar: Da
3. Se solicita el valor de la variable al usuario
4. Evaluar si Da=1
5. Si esta premisa es verdadera imprime en pantalla el dia es Lunes
6. Si la premisa es falsa Evalua si Dia=2
7. Si esta premisa es verdadera imprime en pantalla el dia es martes
8. Si la premisa es falsa Evalua si Dia=3
9. Si esta premisa es verdadera imprime en pantalla el dia es miercoles
10. Si la premisa es falsa Evalua si Dia=4
11. Si esta premisa es verdadera imprime en pantalla el dia es jueves
12. Si la premisa es falsa Evalua si Dia=5
13. Si esta premisa es verdadera imprime en pantalla el dia es viernes
14. Si la premisa es falsa Evalua si Dia=6
15. Si esta premisa es verdadera imprime en pantalla el dia es sabado
16. Si la premisa es falsa Evalua si Dia=7
17. Si esta premisa es verdadera imprime en pantalla el dia es domimgo
18. Fin del proceso.
DIAGRAMA DE FLUJO
Prueba de escritorio
Dia Dia==1?
Dia==6
?
Dia==7
?
Imprimir mensaje
4==2
4==6
4==7
El dia es jueves
4==1
4==3
4==4
4==5
19.
Codificacin
//PROGRAMA PARA ADIVINAR EL DIA SEGUN EL NUMERO DEL 1 AL 7
#include<stdio.h>
#include<conio.h>
void main(){
int dia;
printf("Dame el numero del dia (1 a 7)");
scanf("%d",&dia);
switch(dia)
{
case 1:
printf("El dia es lunes");
break;
case 2:
printf("El dia es martes");
break;
case 3:
printf("El dia es miercoles");
break;
case 4:
printf("El dia es jueves");
break;
case 5:
printf("El dia es viernes");
break;
case 6:
printf("El dia es sabado");
break;
case 7:
printf("El dia es domingo");
break;
default: printf("El dia no existe"); } getch(); }
Anlisis de resultados
PRUEBA DE ESCRITORIO
NOT
A
CASO
1
Tabla1
2
3
CASO
2
CASO
3
CASO
4
CASO
5
CASO
6
CASO
7
CASO
8
CASO
9
CASO1
0
1X1=1
1X2=2
1X3=3
1X4=4
1X5=5
1X6=6
1X7=7
1X8=8
1X9=9
1X10=
10
Tabla2
Tabla3
Tabla4
Tabla5
Tabla6
Tabla7
Tabla8
Tabla9
10
IMP.
RES.
Tabla1
0
CODIFICACIN
//* PROGRAMA QUE MUESTRA UN MENU CON LAS TABLAS DE MULTIPLICAR DEL
1 AL 10
#include<stdio.h>
#include<conio.h>
main()
{
int i,j,mult;
int op;
printf(" \n ----Menu de las Tablas de Multiplicar.----");
printf( "\n\n Tabla del 1. Tabla del 2. Tabla del 3. Tabla del 4. ");
printf("\n\n Tabla del 5. Tabla del 6. Tabla del 7. Tabla del 8. ");
printf("\n\n Tabla del 9. Tabla del 10. ");
printf("\n\n\n Seleccione una Opcion " );
scanf("%d",&op);
switch(op)
{
case 1:
printf("\nLa tabla de multiplicar del
i=1; j=1;
while(j<=10)
{
mult=i*j;
printf("\n%d*%d=%d\n",i,j,mult);
j++;
}
break;
case 2:
printf("\nLa tabla de multiplicar del
i=2; j=1;
while(j<=10)
{
mult=i*j;
printf("\n%d*%d=%d\n",i,j,mult);
j++;
}
break;
case 3:
printf("\nLa tabla de multiplicar del
i=3; j=1;
while(j<=10)
{
mult=i*j;
printf("\n%d*%d=%d\n",i,j,mult);
j++;
}
break;
case 4:
printf("\nLa tabla de multiplicar del
i=4; j=1
while(j<=10)
{
mult=i*j;
printf("\n%d*%d=%d\n",i,j,mult);
j++;
}
break;
case 5:
printf("\nLa tabla de multiplicar del
i=5; j=1;
while(j<=10)
{
mult=i*j;
printf("\n%d*%d=%d\n",i,j,mult);
j++;
1");
2");
3");
4");
5");
}
break;
case 6:
printf("\nLa tabla de multiplicar del
i=6; j=1;
while(j<=10)
{
mult=i*j;
printf("\n%d*%d=%d\n",i,j,mult);
j++;
}
break;
case 7:
printf("\nLa tabla de multiplicar del
i=7; j=1;
while(j<=10)
{
mult=i*j;
printf("\n%d*%d=%d\n",i,j,mult);
j++;
}
break;
case 8:
printf("\nLa tabla de multiplicar del
i=8; j=1;
while(j<=10)
{
mult=i*j;
printf("\n%d*%d=%d\n",i,j,mult);
j++;
}
break;
case 9:
printf("\nLa tabla de multiplicar del
i=9; j=1;
while(j<=10)
{
mult=i*j;
printf("\n%d*%d=%d\n",i,j,mult);
j++;
}
break;
case 10:
printf("\nLa tabla de multiplicar del
i=10; j=1;
while(j<=10)
{
mult=i*j;
printf("\n%d*%d=%d\n",i,j,mult);
6");
7");
8");
9");
10");
j++;
}
break;
default:printf("\n\n No se Realizo Ninguna Operacion.");
}
getch();
}
Anlisis de resultados
Divisores de un nmero
Planteamiento del problema.
Disear un programa que sea capaz de darnos todos los nmeros divisores de un
numero cualquiera, mediante la metodologa para resolver problemas por
computadora.
Algoritmo.
1.
2.
3.
4.
Inicio
Declaramos la variable.
Solicitamos un nmero al usuario y lo guardamos en la variable.
Con un bucle for, recorremos todos los nmeros desde el 1 hasta el
introducido por el usuario para comprobar si el num es divisible.
5. El bucle se ejecuta mientras el num sea >=i.
6. Mostramos i en cada paso del bucle.
7. FIN
Codificacion.
#include <stdio.h>
#include <conio.h>
main ()
{
int num1,i;
printf("Bienvenido al programa para calcular divisores de un numero \n\n");
printf("Introduzca un numero: ");
scanf("%d",&num1);
printf("\n\n Sus divisores son: \n");
for(i=1;i<=num1;i++)
{
if(num1%i==0)
{
printf("\n\t %d, es divisor de %d \n",i,num1);
}
}
printf("\n");
printf("\n Gracias por utilizar este programa. \n\n");
}
Prueba de escritorio.
num
I<=num
i++
1
2
3
4
5
1
2
1<=5
2<=5
3<=5
4<=5
5<=5
1<=2
2<=2
0+1
1+1
2+1
3+1
4+1
0+1
1+1
num
%i==0
5/1=5
5/2=
5/3=
5/4=
5/5=0
2/1=2
2/2=0
Diagrama de flujo.
Inicio
num, i
num
num1%i=0
N
num/i=1
num/i=0
FIN
Programa de for: serie de nmeros impares
Imprimir
Div 1
Div 5
Div 1
Div 2
FIN
Inicio
Se introduce la variable x
Se establece el ciclo de la serie que se quiere hacer x=1;x<50;x+=2
Dentro del ciclo se imprime el contador n que vale la variable de x
Fin
Diagrama de flujo:
Inicio
1
2
X<50?
si
El contaodr n
vale
2
FIN
Codificacin:
#include <stdio.h>
#include<conio.h>
int main()
{
for(int x=1;x<50;x+=2)
{
printf("El contador n vale: %d\n",x);
}
getch();
return 0;
}
Prueba de escritorio:
x
1
3
5
7
x<50?
1<50?
3<50?
1+2
5<50?
3+2
7<50?
5+2
Anlisis de resultados
Imprimir el
resultado de x
El contador n
vale 1
El contador n
vale 3
El contador n
vale 5
El contador n
vale 7
Fin
-ALGORITMO1. INICIO
2. Dar a conocer la variables con la que se va trabajar
3. Se establece el ciclo con el cual va a trabajar carga=10; carga<=100;
carga=carga+15
4. Dentro del ciclo se imprime cargando y el valor de la variable carga
5. Se establece que cada vez que vaya a imprimir se tarde un segundo
6. FIN
DIAGRAMA DE FLUJO
CODIFICACIN
#include <stdio.h>
#include <conio.h>
#include <dos.h>
int main()
{
int carga;
carga=10;
for(carga=10;carga<=100;carga=carga+15)
{
textbackground(BLUE);
clrscr();
textcolor(YELLOW);
gotoxy(28,6);
cprintf("CARGANDO...%d %",carga);
sleep (1);
}
getch ();
return 0;
}
PRUEBA DE ESCRITORIO
Car
ga
Carga<=1
00?
10 10<=100
25 25<=100
40 40<=100
55 55<=100
70 70<=100
85 85<=100
100 100<=100
115 115<=100
Cargacarga
+15
Carga10+1
5
Carga25+1
5
Carga40+1
5
Carga55+1
5
Carga70+1
5
Carga85+1
5
Carga100+
15
IMPRIMI
R
Carga
Carga
Carga
Carga
Carga
Carga
Carga
FIN
Anlisis de resultados
i<=9
i+1
imrpimir
i<=9
0+1
0 , *10^0
i<=9
1+1
1 , *10^1
.
9
i>=9
9+1
9, *10^9
10
10<=9
.
.
FIN
Codificacion
#include <stdio.h>
#include <conio.h>
main()
{
int i;
float n=1,c=10,r,na,a,v,z,m,g,b,q;
printf("Valores de los colores en las resistencias\n");
printf("\n\n\nVALOR \t");
printf("COLOR \t");
printf("3ra BANDA MULTIPLICADORA\n");
r=c*10;
na=c*100;
a=c*1000;
v=c*10000;
z=c*100000;
m=c*1000000;
g=c*10000000;
b=c*100000000;
for(i=0;i<=9;i++)
{
printf("\n Valor %d \t x10^ %d ",i,i);
getch();
}}
Anlisis de resultados
PLANTEAMIENTO
Dar a conocer los nmeros pares a partir del 2 hasta el 50
ALGORITMO
1.
2.
3.
4.
5.
6.
Inicio
Declarar variables i
Solicitar valor de i
Iniciar el valor i=2
calcular i+2
Incrementar el valor de i
7. Preguntar si i<=50
8. Si la premisa es falsa regresar al paso 4
9. Si la premisa es verdadera imprimir valor de
10. fin
PRUEBA DE ESCRITORIO
i<=50?
2
4
6
8
2<=50
4<=50
6<=50
8<=50
i=i+2
Imprimir i
2+2=4
4+2=6
6+2=8
8+2=10
4
6
8
10
CODIFICACION
#include<stdio.h>
#include<cstdlib>
int main (void)
{
int i=2;
printf ("\n\ndame los nmeros pares a partir del 2 al
50\n\n");
const int tope=50;
for(i=2; i<=50; i=i+2)
{
printf("%d\n",i);
}
system("pause");
}
DIAGRAMA DE FLUJO
INICIO
i
i=2
i+2
i<=50
FIN
Anlisis de resultados:
Algoritmo
1. Inicio.
2. Declarar las variables con las que se trabajara.
variable independientes (x, tope) y variable dependiente (i).
3. Se le solicita al usuario el valor de las variables (x, tope).
4. Se inicia el ciclo calculando ii+x
5. Luego se establece la premisa i<=tope?
6. Si la premisa es falsa se regresa al punto 4
7. Si la premisa es verdadera se imprime el valor de i
8. Fin del programa
Diagrama de flujo
Prueba de escritorio
x
i
tope
2
0
8
2
8
i<=tope?
0<=8?
2<=8?
ii+x
i0+2
i2+2
Imprimir
2
4
4
6
8
8
8
8
4<=8?
6<=8?
8<=8?
i4+2
i6+2
6
8
Fin
Codificacin
//Programa para calcular multiplos y determinar un limite
#include <stdio.h>
#include <conio.h>
int main(){
int x,i,tope;
printf("\n\tBienvenido al programa\n\n");
printf("Introduzca el numero del que desee multiplo\n");
scanf("%d",&x);
printf("\nDetermine el limite de los multiplos\n");
scanf("%d",&tope);
printf("\n\n");
printf("Los multiplos son\n\n");
for(i=0;i<=tope;i=i+x){
printf("\t\t%d\t\n",i);
}
getch();
return 0;
}
Analisis de resultados
Algoritmo:
1._Inicio
2._Declarar las variables con las que se trabajara: i
3._Se asigna el valor inicial a la variable:
i
10
4._Se procede a ordenar que se requiere que la variable 1 decremento de 1 en
1
i
i-1
5._Se plantea la premisa i>=0?
6._Si la premisa es verdadera se regresa al punto 5.
7._Si la premisa es falsa se imprime el valor de i
8._Fin
Diagrama de flujo:
Inicio
i
i
i=10
i-1
Si
i>=0?
No
Fin
Prueba de escritorio:
i
i>=0?
Fin
10
9
8
7
6
5
4
3
2
1
i-1
i
10-1
i
9-1
i
8-1
i
7-1
i
6-1
i
5-1
i
4-1
i
3-1
i
2-1
i
1-1
9>=0?
8>=0?
7>=0?
6>=0?
5>=0?
4>=0?
3>=0?
2>=0?
1>=0?
0>=0?
Fin
Codificacin:
#include<stdio.h>
int main()
{
int i=10;
const int tope=0;
for (i=10; i>=0; i=i-1)
{
printf("%d\n", i);
}
printf("\nHasta pronto\n");}
Anlisis de resultados
NMEROS PRIMOS
Planteamiento del problema: Elaborar un programa que pida un nmero e imprima
todos los nmeros primos menores al nmero ingresado.
Algoritmo:
1. Inicio
2. Establecer las variables que se ocuparn limite, primo
3. Asignar primo0
4. Pedir al usuario el valor lmite
5. Asignar limite
6. Hacer una serie de 1 hasta el valor de limite
7. Hacer una serie desde 2 hasta el nmero a evaluar
8. Si el residuo desde 2 a el nmero a evaluar es diferente de cero
9. Asignar primo
10. Si primo es igual a 1, imprimir el nmero evaluado
11. Fin del programa
Prueba de escritorio:
limite
primo
i<=limite?
ii+1
a<i?
5
5
5
0
0
0
1
2
3
1 <= 5?
2 <=5?
3 <=5?
i1+1
i2+1
i3+1
5
5
5
5
0
0
0
0
4
5
5
5
4 <= 5?
5<=5?
i4+1
i5+1
2
2
2
3
2
2
3
4
5
2<1?
2<2?
2<3?
3<3?
2<4?
2<4?
3<5?
4<5?
5<5?
5<=6?
aa+1
i%a =
0?
primo1
a2+1
3%2=0?
primo1
a2+1
a2+1
a3+1
a4+1
4%2=0?
5%2=0?
5%3=0?
5%4=0?
BREAK
primo1
primo1
primo1
primo
=1?
Imprimir
(i)
2
1=1?
1=1?
Inicio
Diagrama de flujo:
limite, primo=0
limite
i<=limite?
a<i?
primo=0
no
i%a = 0?
primo = 1?
no
primo=0,
ii+1
Fin
si
si
primo=1,
aa+1
Codificacin:
Anlisis de resultados
Diagrama de Flujo
Inicio
password, i
i=2
i0?
password
password=1111?
N
Acceso a
informacin
denegado
i=i-1
Acceso a
informacin
confirmado
Acceso a
Fin
Intntelo
ms tarde
Codificacin
#include<stdio.h>
#include<conio.h>
int main()
{
int password, i;
printf("\t\t\t\tINFORMACION PROTEGIDA\n");
for(i=2; i>=0; i--)
{
printf("Digite la contrasea (codigo de 4 digitos):\n");
scanf("%i", &password);
if(password==1111)
{
printf("Contrasea correcta\n");
printf("Acceso a informacion confirmado\n");
getch();
return 0;
}
else
{
printf("Contrasea incorrecta\n");
printf("Acceso a informacion denegado\n\n");
}
}
printf("Intentelo mas tarde");
getch();
return 0;
}
i0
?
2>0
1>0
password=1111?
1234
12341111
1111
1111=1111
Imprimir:
Acceso a
informacin
confirmado
Falsa
Falsa
Imprimir:
Acceso a
informacin
denegado
i=i-1
Acceso a
informacin
denegado
i=2-1
Acceso a
informacin
confirmado
Anlisis de resultados
Imprimir:
Intntelo
ms
tarde
Fin
Verdadera
Cierta
password
Inicio
Prueba de escritorio
suma=0
printf("\n Lista numeros %d /n Cuantos numeros ?",contlita);
scanf("%d",&n);
for (cont=1;cont<=n;cont++){
printf ("x=";);
scanf("%f,&x");
}
printf("\n La suma es %f\n",media);
}
getch();
}
ALGORITMO
1. Inicio
2. Declarar las variables que se van a ocupar
3. N va a ser una variables que se le asignara valor por el usuario
4. suma es una variable determinada que empezara con 0
5. i se va a ocupar para tener un control de repeticin. i=i+1
6. se realizara la suma de N nmeros
7. se preguntara si i=N.
8. Si la premisa es verdadera el resultado se imprime
9. Si la premisa es falsa se regresa al punto numero 5
10.
Fin
DIAGRAMA DE FLUJO
Inicio
N, i, suma
i=1, suma=0
i=i+1
suma = suma + i
i=N?
suma
Fin
CODIFICACION
#include <stdio.h>
#include <conio.h>
main()
{
int N;
int suma=0;
Printf(Ingresa hasta que numero quieres que se sume.\n);
scanf("%i",&N);
for(int i=1; i<=N; i=i+1)
{
suma=suma +i;
}
printf ("El resultado es: %i",suma);
}
Anlisis de resultados
i, r, n.
i, n
(i=10;i<11;i
++)
%d x %d=%d, i, n, r.
n
10
res
10
i
1
i<=15?
1<=15
ii+1
i1+1
20
2<=15
i2+1
30
3<=15
i3+1
40
4<=15
i4+1
50
5<=15
i5+1
60
6<=15
i6+1
70
7<=15
i7+1
80
8<=15
i8+1
90
9<=15
i9+1
100
10
10<=15
i10+1
Analisis de resultados
resixn
res1x1
0
res2x1
0
res3x1
0
res4x1
0
res5x1
0
res6x1
0
res7x1
0
res8x1
0
res9x1
0
res10x
10
imprimir
1x10=10
2x10=20
3x10=30
4x10=40
5x10=50
6x10=60
7x10=70
8x10=80
9x10=90
10x10=1
00
n,i,x
n,i=1
i<=n?
no
si
X=i*i
Fin
I=i+1
Prueba de escritorio:
n
i<=n?
x=i*i
i=i+1
x=1*1
Imprimir(
x)
1
X=2*2
X=3*3
int main()
{
int i,;
float n,x;
printf("\n\tingrese hasta que numero decea elvar al cuadrado:");
scanf("%f",&n);
for(i=1;i<=n;i++)
{
Fin
fin
x=i*i;
printf("%f\n",x);
}
return 0;
}
Analisis de resultados
Prueba de escritorio
35
14
21
28
35
i+7
0+7
7+7
14+7
21+7
35+7
Codificacin
#include <stdio.h>
i+7
i n?
Fi
n
7 35?
14 35
?
21 35
?
28 35
?
35 35
?
42 35
?
fin
#include <conio.h>
int main()
{
int i, n;
printf("\t\tPROGRAMA PARA OBTENER LOS MULTIPLOS DE 7 HASTA N\n");
printf("\nDame el valor de hasta donde quieres los multiplos:\n");
scanf("%d",&n);
for(i=0;i<=n;i=i+7)
{
printf("\n%d",i);
}
}
Anlisis de resultados
Diagrama de flujo:
INICIO
i=1
SI
la
mx
ny
ba
sp
i<=24?
la+1
la+2
la+3
la+4
la+5
la, mx,
ny, ba, sp
NO
FIN
i=i+1
Prueba de escritorio:
i
la
mx
ny
ba
sp
i=24?
1
2
24
1
2
24
3
4
26
4
5
27
5
6
28
6
7
29
1=24?
2=24?
24=24?
la
la+1
1
2
24
mx
la+2
3
4
26
ny
la+3
4
5
27
ba
la+4
5
6
28
Codificacin:
/*Variaciones de horas*/
#include <stdio.h>
#include <conio.h>
main ()
{
int i;
float la, mx, ny, ba, sp;
printf ("Programa de variaciones de horario en ciudades de America\n\n");
for (i=1; i<=24; i++)
{
la=la+1;
mx=la+2;
ny=la+3;
ba=la+4;
sp=la+5;
printf ("L.A.\t\t");
printf ("MEXICO\t\t");
printf ("N.Y.\t\t");
printf ("B.AIRES\t\t");
printf ("S.PAULO\t\t");
printf ("%f\t", la);
printf ("%f\t", mx);
printf ("%f\t", ny);
printf ("%f\t", ba);
printf ("%f\t", sp);
}
sp
la+5
6
7
29
i=i+1
i=1+1
i=2+1
FIN
FIN
FIN
getch ();
return 0;
}
Anlisis de resultados
Programa con
for desarrolla
una serie de dos nmeros mientras uno va incremento hasta llegar al
nmero que el usuario pida
Planteamiento
Se necesita un programa que desarrolle un incremento de un nmero hasta el
ciento del mismo nmero
Algoritmo
1) Inicio
2) Se declaran las variables que se van a utilizar n, i(variables
independientes), res(variables dependientes)
3) Se pide el valor de i,i2 y n
4) Se asignan valores a i,i2 y n donde i, i2y n
5) Se comienza el for donde for (i<=n;n<=res;i++) donde i es menor o
igual a n, n es menor que el resultado y i va incrementando
6) Se calcula el valor del resultado donde res=i+i2
7) Se imprimen los dos nmeros para ver cmo se suman y el resultado
8) Fin
Diagrama de flujo
Inicio
Codificacin
Prueba de escritorio
i
I2
100
200
(i<=n;res<=n;i+
I+i2=res
+)?
2<=100;100<=res
;2++
Fin
3<=200;200<=res
;3++
Resi+i2
Imprimir
Res2+2
2+2=4
3+2=5
.
.
.
99+2=10
1
3+3=6
4+3=7
.
.
Res3+3
Fin
10
10
300
10=<300;300<=re
s;10++
Res10+
10
.
198+3=2
01
10+10=2
0
11+10=2
1
.
.
.
291+10=
300
Fin
Anlisis de resultados
/* Programa que simule el lanzamiento de una moneda las veces que el usuario
desee, posteriormente har un recuento de las veces que ha salido tanto cara
como cruz*/
Algoritmo:
1.- inicio
2.-se da a conocer la variable x,veces,cara=0,cruz=0
3.- se pregunta cuantas veces se lanza la moneda
4.- se le pide al usuario el nmero de valores
5.- i es igual o mayor al nmero de veces y va aumentado
6.- x genera nmeros aleatorios con la formula x=rand()%(2)
7.- si x es igual a 1 es cara y va en aumento
8.- si no es cruz y tambin va en aumento
9.- se imprime el recuento
10.- fin
Diagrama de flujo
inici
x,veces
cara=0,cruz=
0
Cara++
i=1;i<=veces;i
++
si
x=rand()
%(2)
X==1
Cruz++
recuento
Codificacin
fin
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main(){
int x,veces,cara=0,cruz=0;
srand((unsigned)time(NULL));
printf("Pruebe a lanzar la moneda.\n\n");
printf("Cuantas veces?: ");
scanf("%d",&veces);
for(int i=1;i<=veces;i++){
x=rand()%(2);
if(x==1){
printf("\nCara\n\n");
cara++;
}else{
printf("\nCruz\n\n");
cruz++;
}
}
printf("\n\tRecuento\n\n");
printf("La cara ha salido %d veces.\n",cara);
printf("La cruz ha salido %d veces.\n\n",cruz);
printf("Gracias por utilizar este programa.\n\n");
}
vec I<=vece
I++
X==1
x=rand()
%(2)
es
s
2
i<=2
2++
X=1
cara
X=0
x1
recuento
cruz
1 cara
1cruz
Anlisis de resultados:
Diagrama de flujo
Inicio
numero,hasta,tabla
hasta,tabla
numero=0
numero<=hasta
NO
SI
tabla x numero =
tabla*numero
Fin
Codificacin
#include<stdio.h>
#include<conio.h>
int main()
{
int numero,tabla,hasta;
printf("\t\tTablas de multiplicar\n");
printf("\tEscribe de cual numero se mostrara la tabla\n");
scanf("%d", &tabla);
printf("\tEscribe hasta que numero multiplicar\n");
scanf("%d", &hasta);
for(numero=0;numero<=hasta;numero++)
{
printf("\t %d x %d = %d \n", tabla,numero,tabla*numero);
}
getch();
return 0;
}
Prueba de escritorio
numer Tabla hasta
o
0
2
3
1
2
3
2
2
3
3
2
3
4
2
3
numero<=hasta?
SI
SI
SI
SI
NO
2x0=0
2x1=2
2x2=4
2x3=6
Anlisis de resultados
i+1
i<=10
fin
Si
Prueba de escritorio
e
i
i<=10?
6
0
0<=10?
1
1=10?
2
2=10?
No
i=i+1
i=0+1
i=1+1
i=2+1
Codificacin
//Problema para imprimir la tabla de una base
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
int e, a;
printf("ingresa la base que deseas \n");
scanf("%d",& e);
for(int i=1; i<=10; i++)
{
a=pow (e,i);
printf("%d \n",a);
}
getch();
}
Anlisis de resultado
a=ei
a=60
a=61
a=62
Imprimir a
1
6
36
RADIO,
VOLUMEN
RADIO=0;RADIO<
=100;RADIO++
VOLUMEN=(4*3.14*(r
adio*radio*radio))/3
IMRIME EL VALOR
DEL VOLUMEN
FIN
PRUEBA DE ESCRITORIO
RADIO
0
1
2
RADIO<=
100
0<=100
1<=100
2<=100
RADIO+
+
0++
1++
2++
Volumen=(4*3.14*(radio*radio*r
adio))/3
Volumen=(4*3.14*(0*0*0))/3
Volumen=(4*3.14*(1*1*1))/3
Volumen=(4*3.14*(2*2*2))/3
Imp.vol
0
4
33
CODIFICACIN
#include <stdio.h>
#include <conio.h>
main (void)
{
int volumen,radio;
printf("PROGRAMA PARA CALCULAR EL VOLUMEN DE UNA ESFERA CUANDO EL
RADIO VA DE 1 A 100 \n");
for( radio=0;radio<=100;radio++)
{
volumen=(4*3.14*(radio*radio*radio))/3;
printf("%d \t",volumen);
getch();
} }
Analisis de resultados
Prueba de escritorio:
i
i n?
imprimir i
i +2
0 9?
0+2
2 9?
2+2
4 9?
4+2
6 9?
6+2
8 9?
8+2
1
0
10 9?
Fin
printf("\t%d\n",i);
i=i+2;
}
return 0;
}
Anlisis de resultado:
Planteamiento
Calcula la Potencia de un nmero usando while
Diagrama de flujo
inici
b,exp,i=1,r
esultado=1
I+1
b=2
exp=1
i<=ex
p
resultad
o
fin
Codificacin
#include<conio.h>
#include<iostream.h>
void main ()
{
clrscr();
int b;
int exp;
int i=1;
double resultado=1;
cout<<"Ingrese Base:";
cin>>b;
cout<<"Ingrese Exponente:";
cin>>exp;
while (i<=exp)
{
resultado=resultado*b;
i++;
}
cout<<"El Resultado Es:"<<resultado;
getch();
}
exp
i=1
I=1
resultado
=1
resultado
=2
i<=exp
i++
I<=2
I+1
resultad
o
2
7
8
Inicio
Se declaran las variables con las que se va a trabajar; num, sum, i
Se le pide al usuario el valor de num
Establecemos valores iniciales
sum0
inum
Preguntamos si i<=100?
Si la premisa es verdadera, pedimos que realice la operacin y que se prepare
para otra operacin:
sumsum+i
ii+num
Si la premisa es falsa pedimos que imprima sum
Fin del programa
Diagrama de Flujo
INICIO
num, sum, i
num
inum
sum0
i<=100?
sumsum+i
SI
ii+num
NO
sum
FIN
Codificacin
#include<stdio.h>
#include<conio.h>
int main ()
{
int num,sum,i;
printf("\t Dame el numero para obtener sus multiplos:\t\t");
scanf("%d",&num);
sum=0;
i=num;
while(i<=100)
{
sum=sum+i;
i=i+num;
}
printf("\t El valor de la suma total es:\t\t%d",sum);
getch();
}
Prueba de Escritorio
i
2
4
6
---
10
0
10
2
nu
m
2
sum
sum
0
inu
m
i<=100?
0
2
8
-----------
2<=100
4<=100
---------------------------------------------------------------------
245
0
255
0
100<=100
102<=100
sumsum+
i
0+2
2+4
--------------------------------------------------------------------
2450+100
ii+num
Imprimir sum
2+2
4+2
--------------------------------------------------------------------------------------100+2
2550
Fin del
programa
Anlisis de resultados
1.
2.
3.
4.
5.
Inicio
Se declaran las variables a utilizar: atm, Hg, HG, Nm.
Se asigna el valor a atm. atm=1.
Se establece la condicin: atm<=20
Mientras se cumpla condicin se efectan las operaciones:
Hg=760*atm;
HG=76*atm;
Nm=101300*atm;
6. Se imprimen los valores de atm, Hg, HG, Nm.
7. El valor de atm aumenta 1 unidad cada proceso.
8. fin
Diagrama de flujo
Inicio
atm,Hg,HG,Nm
atm=1
atm<=20
Hg=760*atm;
HG=76*atm;
Nm=101300*atm;
fin
atm,Hg,HG,Nm
atm++
Codificacin
/*Programa para realizar una tabla de equivalencias de presion*/
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
system("COLOR F0");
int atm=1,Hg,HG,Nm;
printf("\t\tTABLA DE EQUIVALENCIAS DE PRESION\n\n");
printf("\tatm\t\tmm de Hg\tcm de Hg\t Nm^2\n");
while(atm<=20)
{
Hg=760*atm;
HG=76*atm;
Nm=101300*atm;
printf("\t%3d\t\t%5d\t\t%5d\t\t%9d\n",atm,Hg,HG,Nm);
atm++;
}
getch();
return 0;
}
Prueba de escritorio
atm
Hg
HG
Nm
atm<=20
imprimir
atm++
1
760
76
101300
1
760
76
101300
1<=20
1++
2
1520
152
202600
2
1520
152
202600
2++
3
2<=20
2280
228
303900
3
2280
228
303900
3<=20
3++
4
3040
304
405200
4
3040
304
405200
4<=20
4++
5
3800
380
506500
5
3800
380
506500
5<=20
5++
6
4560
456
607800
6
4560
456
607800
6<=20
6++
7
5320
532
709100
7
5320
532
709100
7<=20
7++
8
6080
608
810400
8
6080
608
810400
8<=20
8++
9
6840
684
911700
9
6840
684
911700
9++
10
7600
9<=20
760
1013000
10
7600
760
1013000
10<=20
10++
11
8360
836
1114300
11
8360
836
1114300
11<=20
11++
12
9120
912
1215600
12
9120
912
1215600
12<=20
12++
13
9880
988
1316900
13
9880
988
1316900
13<=20
13++
14
10640
1064
1418200
14
10640
1064
1418200
14<=20
14++
15
11400
1140
1519500
15
11400
1140
1519500
15<=20
15++
16
12160
1216
1620800
16
12160
1216
1620800
16++
16<=20
20
15200
1520
202600
20
15200
1520
202600
20<=20
20++
21
21<=20
fin del proceso
Algoritmo
1) Inicio
2) Se declaran las variables que se van a utilizar b, exp, i=1 (de tipo
entero), resultado= 1(de tipo doubl)
3) Se pide el valor de la base del numero
4) Se asigna el valor a la base b
5) Se pide el valor del exponente del numero
6) Se asigna el valor al exponente exp
7) Mientras i<= exp;
8) El resultado resultado* b, cuando i++
9) Imprimir el valor del resultado
10)
Fin
Diagrama de flujo
Inicio
b, exp, i=1,
resultado=1;
B,exp
i<=exp
Si
resultado=resultado
*b;
I++;
No
Resultado
Fin
Codificacin
#include <conio.h>
#include <stdio.h>
main()
{
int b;
int exp;
int i=1;
double resultado=1;
printf("\t\tIngrese la base del numero\n");
scanf("%d",&b);
printf("\t\tIngrese el exponente del numero\n");
scanf("%d",&exp);
while(exp>=i)
{
resultado=resultado*b;
i++;
}
printf("\t\t\tEl resultado es:%g",resultado);
getch();
}
Prueba de escritorio
b
exp
i=1
resultado
=1
exp>=
1?
Resultadoresultado*
b
Imprim
ir
Fin
2>=1
3>=1
3>=1
2>=1
3>=1
Anlisis de resultados
Resultadoresultado=
1*2
Resultadoresultado=
1*3
Resultadoresultado=
1*3
Resultadoresultado=
1*2
Resultadoresultado=
1*2
Fin
27
Fin
16
Fin
25
Fin
Fin
Inicio
Suma, n, num,
c
C=0
No
C<=9?
Si
Promed
io
Promedi
o Total
Suma
Total
de
Suma
Fin
Prueba de escritorio:
C
10
9
8
#
Proporciona
dos por el
usuario
32
34
15
Suma
Promedio
Imprimir
Suma y
Promedio
81
27
81 y 27
Algoritmo:
#include<iostream>
using namespace std;
main ()
{
cout<<"Programa que realiza la suma de 10 numeros cuales quiera y calcula el
promedio";
int n, num,c=0,suma=0;
while(c<=9)
{
cout<<"\n\nIngresar numero:";
cin>>num;
suma+=num;
c=c+1;
}
cout<<"\nLa suma de los numeros es:"<<suma;
cout<<"\nEl promedio es:"<<suma/num;
}
Analisis de resultados:
i
1
i<=a?
1<=5
2<=5
imprimir
Well done
its better
than well
said
Well done
its better
than well
said
I=i+1
I=1+1
I=2+1
3<=5
4<=5
5<=5
6<=5
Well done
its better
than well
said
Well done
its better
than well
said
Well done
its better
than well
said
I=3+1
I=4+1
I=5+1
Diagrama de flujo
inicio
a,i,b
i=1
a,b
i=i+1
i<=a?
Programas de While
Serie en incremento desde 0 hasta N
Planteamiento del Problema
Realizar un programa capaz de imprimir una serie de nmeros ordenados de
forma ascendente, de uno en uno, desde cero hasta N nmeros.
Algoritmo
1.
2.
3.
4.
5.
6.
Inicio
Dar a conocer las variables a utilizar: N e i
Dar valor inicial a la variable i: i=0
Pedir a usuario el valor de la variable N
Preguntar lo siguiente: iN?
Mientras sea verdad, entonces:
a) Imprimir i
b) Reajustar valor de i: i=i+1
c) Volver al punto nmero 5 del algoritmo
7. Si es falso, entonces fin del proceso
Diagrama de Flujo
Inicio
N, i
i=0
iN?
S
i=i+
No
Fin
Codificacin
#include<stdio.h>
#include<conio.h>
int main()
{
int i=0, N;
printf("\t\t\t\tINCREMENTO DESDE 0 HASTA 'N'\n");
printf("Ingresa el limite de la serie: ");
scanf("%i", &N);
while(i<=N)
{
printf("%i\n", i);
i=i+1;
}
getch();
return 0;
}
Prueba de Escritorio
Verdadero
iN
N i
?
Imprimir i i=i+1
Inicio
5
0
0<5
0
i=0+1
1
1<5
1
i=1+1
2
2<5
2
i=2+1
3
3<5
3
i=3+1
4
4<5
4
i=4+1
5
5=5
5
i=5+1
6
6>5
Falso
Fin
Calf1,calf2,calf3,pf
,c
C=0
C<=4
Resultado, pf
C=c+1
FIN
Prueba de escritorio
C=0
=c+1
Calf1
Calf2
Calf3
Pf=(calf1+calf2+ca
lf3)/3
C<=4
Imprimir
pf
C=0
C=0+1
C=1+1
C=1+2
C=1+3
5
7
8
6
3
5
7
7
9
10
5
7
5
7
8
Pf=(5+5+5)/3
Pf=(7+7+7)/3
Pf=(8+7+5)/3
Pf=(6+9+7)/3
Pf=(3+10+8)/3
Codificacion
#include<iostream>
using namespace std;
int main()
{
int calf1,calf2,calf3,c=0,pf;
while(c<=5)
{
cout<<"\n 1er calificacion:";
cin>>calf1;
cout<<"2da calificacion:";
cin>>calf2;
cout<<"3ra calificacion:";
cin>>calf3;
pf=(calf1+calf2+calf3)/3;
cout<<"el promedio es:"<<pf<<"\n";
c++;
}
}
0<=4
1<=4
2<=4
3<=4
4=4
5
7
6.6=7
7.3=7
7
if(suma==n)
printf("el numero %d es perfecto\n",n);
else
printf("\nEl numero %d no es perfecto\n\n",n);
printf("________________________________________________\n");
}
while(n>0);
return 0;
}
}
Diagrama de flujo:
Prueba de escritorio:
num
inum?
ii+1
i++
n%i==0
suma==n
suma
+=i
Imprimir
16?
i1+1
0+1
6/1=6
3+2+1=6
El nmero es
26?
i2+1
1+1
6/2=3
36?
i3+1
2+1
6/3=2
46?
i4+1
3+1
6/4=//
56?
i5+1
4+1
6/5=//
66?
i6+1
6/6=1
76?
Anlisis de resultado:
Planteamiento:
Programa que suma los diez primeros nmeros enteros
Diagrama de flujo
inici
num=0,su
ma=0
perfecto
Fin
num++
suma=suma
+n
num<
=10
suma
fin
Codificacin
#include <stdio.h>
#include <conio.h>
void main()
{
int num=0;
int suma=0;
do
{
suma = suma + num;
num++;
} while(num<=10);
printf(Suma = %d\n,suma);
system(pause);
}
num=
0
0
sum=
0
1
Suma=suma+
num
Suma=1+0
Suma=1+1
Suma=1+2
Suma=1+3
Suma=1+4
Suma=1+5
Suma=1+6
Suma=1+7
Num++
Num+1
Num<=1
0
Num<=0
resultad
o
1
Num+1
Num<=1
Num+1
Num<=2
Num+1
Num<=3
Num+1
Num<=4
Num+1
Num<=5
Num+1
Num<=6
Num+1
Num<=7
Inicio
Se declaran las variables con las que se va a trabajar; n, a
Se establece el valor inicial n2
Calcula:
a(2*n)+1
Imprimimos n, a
Indicamos que se prepare para otro proceso nn+1
Preguntamos si n<=150?
Si la premisa es verdadera pedimos que regrese al punto 4
Si la premisa es falsa fin del programa
Diagrama de Flujo
INICIO
n, a
n2
a(2*n)+1
SI
n, a
nn+1
n<=150?
NO
Codificacin
FIN
#include<stdio.h>
#include<conio.h>
int main()
{
int a,n;
printf("\tTabulacion de la ecuacion (a=2n+1)\t\n");
n=2;
do
{
printf("\tn");
printf("\t\t a");
a=(2*n)+1;
printf("\n\t %d \t\t %d\n",n,a);
n++;
}
while(n<=150);
getch();
}
Prueba de Escritorio
a
------251
4
125
-------
126
301
150
n2
-----------
a(2*n)+1
imprimir
nn+1
n<=150?
(2*2)+1
2+1
3<=150
(2*3)+1
3+1
4<=150
----------------
------------251
----------
-----------------
125+1
126<=150
-----------
---------
----------------
301
150+1
151<=150
(2*125)+1
----------
------------------(2*150)+1
Fin
Plana de nmeros
Planteamiento del problema
Desarrollar un programa que muestre un nmero las veces que el usuario desee.
Algoritmo
1.
2.
3.
4.
5.
6.
Inicio
Declarar las variables a utilizar: p, c.
Se solicitan los valores de p y c.
Asignamos el valor a c. c=1.
Se manda a imprimir el nmero las veces que el usuario lo solicito.
Hasta que se cumpla la premisa c>0 se resta 1 al nmero que solicito el
usuario.
7. Fin
Diagrama de flujo
Inicio
p, c
p, c
c=1
p
c>0
c++
fin
Codificacin
/*Programa para realizar una plana de numeros*/
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
system("COLOR F0");
int p, c=1;
printf("\tPLANA DE NUMEROS \n\n");
printf("De que numero quieres hacer su plana? \t");
scanf("%d", &p);
printf("cuantas veces quieres repetir el numero? \t");
scanf("%d", &c);
printf("\n\n");
do
{
printf("%d\t", p);
c--;
}
while(c>0);
getch();
return 0;
}
Prueba de escritorio
p
imprimir
c--
c>0?
15
5
4
15
15
5-4--
5>0
4>0
3
2
15
15
3-2--
3>0
2>0
1
0
15
1-fin del
proceso
1>0
0>0
Algoritmo
1) Inicio
2) Se declaran las variables que se van a utilizar N,C=0 (variables de tipo
entero)
3) Hacer lo siguiente
4) Se pide el valor del numero
5) Se asigna el valor del numero N
6) Mientras 0>=N
7) Si C==1 imprimir el numero es primo
8) Sino imprimir el numero es compuesto
9) Fin
Diagrama de flujo
Inicio
N,C=0;
N;
N<=0
C==1
NO
SI
NO
El nmero
es
compuest
o
SI
El nmero
es primo
Fin
Codificacin
#include <stdio.h>
#include <conio.h>
int main ()
{
int N;
int C=0;
do
{
printf("Ingrese un numero ");
scanf("%d",&N);
}
while(N<=0);
if(C==1)
{
printf("El numero es primo");
}
else
{
printf("El nuemero es compuesto");
}
getch();
}
Prueba de escritorio
N
2
C=0
-
N<=0?
2>0
C==1?
No
3>0
Si
4>0
No
-3
.
.
.
2
.
.
.
-
-3<=0
.
.
.
2>0
No
.
.
.
No
Imprimir
El
numero
es
compues
to
El
numero
es primo
El
numero
es
compues
to
Ingrese
el
numero
.
.
.
El
numero
es
compues
Fin
Fin
Fin
Fin
.
.
.
Fin
5>0
Si
to
El
numero
es primo
Fin
Inicio
A,Z
A++
Abecedar
io
Fin
Prueba de escritorio:
A
A++
A
B
C
D
Imprimir
Z
Algoritmo:
#include<iostream>
using namespace std;
main ()
{
char car='a';
do
{ cout<<car<<"";
car++;
}
while (car<='z');
return 0;
}
Analisis de resultados:
1.- Inicio
2.- Se dan a conocer las variables con las que se van a trabajar
3.- Se estableces los valores a las variables i1
4.- Se solicita el valor de la variable a
5.- Se hace la operacin i=i+1
6.- Se pregunta i<=1?
7.- Si resulta falso se regresa al punto 5 y se imprime ese resultado
8.- Si es verdadero se imprime ese resultado
9.- Fin
Codificacion
#include<conio.h>
#include<stdio.h>
main
{
do
}
int a, i=1
printf(HASTA QUE NUMERO QUIERES QUE FINALICE EL CONTADOR);
scanf(%d,&a);
while (i<=a)
{
printf(%d/n,i);
i++
}
getch();
return 0;
}
Prueba de escritorio
a
5
i
1
2
3
4
5
6
i<=a?
1<=5
2<=5
3<=5
4<=5
5<=5
6<=5
Diagrama de flujo
imprimir
1
2
3
4
5
I=i+1
I=1+1
I=2+1
I=3+1
I=4+1
I=5+1
i<=a?
F
inicio
a
i=1
a,i
i
i=i+1
Diagrama de Flujo
Inicio
opc2?
No
N1, N2
No
N1>N2?
mayor=N2
mayor=N1
menor=N1
menor=N2
menor>0?
res=mayor
%menor
mayor=menor
menor=res
mcm=(N1*N2)/mayor
mc
m
opc
Fin
No
Codificacin
#include<stdio.h>
#include<conio.h>
int main()
{
int N1, N2, menor, mayor, res, mcm, opc;
printf("\t\t\t\tMINIMO COMUN MULTIPLO\n");
do{
printf("Ingresa el primer numero: ");
scanf("%i", &N1);
printf("Ingresa el segundo numero: ");
scanf("%i", &N2);
if(N1>N2)
{
mayor=N1;
menor=N2;
}
else
{
mayor=N2;
menor=N1;
}
while(menor>0)
{
res=mayor%menor;
mayor=menor;
menor=res;
}
mcm=(N1*N2)/mayor;
printf("El MCM es: %i\n", mcm);
printf("Presiona '1', si quieres calcular otro MCM\n");
printf("o presiona '2' para salir: ");
scanf("%i", &opc);
}while(opc!=2);
getch();
return 0;
}
Prueba de Escritorio
Verdadero
opc2?
Inici
o
opc2
opc=2
Falso
N1
N2
mcm=(N1*N2)/mayor
Imprimir
mcm
opc
mcm=(2*4)/2
2
Fin
Diagrama de flujo
INICIO
Asiento=[40]=0 x , y
xx
Y= num de
asiento que quieres
comprar
Y==0
Si y<=0 y y>41
y<=0 o y>41
Si y==0
Asiento
fuera del
rango del
autobus
X=0:x<40;x++
no
Asiento [y1]==1
si
(x%4)
si
no
Asiento ya
vendido
Asiento[40]==1
si
Nmeros de
asientos
no
Todos los
asientos se
han vendido
asiento
Gracias por su
compra
FIN
prueba de escritorio
Y=numer
o de
asiento
3
0
5
Numero
de
asiento
Asiento
10=1
Asiento
5=1
imprimir
Codificacin
#include <stdio.h>
#include <conio.h>
main()
{
int asiento[40]={0};
int x, y;
printf("Los estados de los asientos son: LIBRE=0, VENDIDO=1.\n" );
do
{
printf("Cual asiento quieres comprar?: " );
scanf("%d",&y);
if(y==0)break;
else if(y<=0 || y>=41)
printf("asiento fuera del rango del autobus." );
else if(asiento[y-1]==1)
printf("asiento ya vendido" );
else
{
asiento[y-1]=1;
{
for(x=0; x<40; x++)
{
if(!(x%4))
printf("num de Asientos %d= %d",x+1,asiento[x] );
else printf("\tAsiento %d= %d",x+1,asiento[x] );
}
}
}
}
while(1);
if(asiento[40]==1)
printf(" Todos los asientos se han vendido." );
else printf("\nGracias por usar este programa." );
getch();
return 0; }
IMP de pantalla
Inicio
Tabla
X<10?
Suma
Resta
Multiplicaci
on
Divicion
Resultado
s
Fin
Prueba de escritorio:
Inici
o
Tabla[10]
1
2
3
4
5
Sum
a
Resta
Multiplicaci
on
Division
Imprimir
2.75573x10
-6
45
-43
362880
2.75573x10
-6
45
-43
6
7
8
9
Codificacion:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x,tabla[10];
int sum,res,mul,div;
for (x=0;x<10;x++)
{
printf("\n\nIntroduzca numero:\n");
scanf("%d",&tabla[x]);
}
sum=tabla[0];
res=tabla[0];
mul=tabla[0];
div=tabla[0];
for (x=1;x<10;x++)
{
sum=sum+tabla[x];
res=res-tabla[x];
mul=mul*tabla[x];
div=div/tabla[x];
}
printf("Suma: %d\n",sum);
printf("Resta: %d\n",res);
printf("Multiplicacin: %d\n",mul);
printf("Divisin: %d\n",div);
system("PAUSE");
362880
return 0;
}
Analisis de resultados:
Algoritmo
1) Inicio
2) Se declaran las constantes que se utilizaran en el programa N=10,
TC=20
3) Se declaran las variables que se van a utilizar nom[N][TC],auxN[TC] (de
tipo char o carcter) i,j,k,v (de tipo entero).
4) Se pide que ingresen los nombres
5) Para i=0;i<N; i++ se leer una cadena de caracteres con nom[i]
6) Para k=0; k<N-1; k++
7) Se iniciar para j=0; j<N-1-k; j++;
8) Si (strcmp(nom[j],nom[j+1]) > 0)
Diagrama de flujo
Inicio
, nom[N][TC], auxN[TC], i,
j, k, v
for(i=0;i<
k=0;k<N-1;k++
N;i++)
gets(nom[i]);
1
j=0;j<N-1-k;j++
strcmp(nom[j],nom[j+1
]) > 0
i=0;i< N;i++
Nom[i]
strcpy(auxN,nom[j]);
strcpy(nom[j],nom[j+1;
strcpy(nom[j+1],auxN);
Fin
Codificacin
/*Hacer un programa que permita ordenar alfabeticamente una lista
de nombres de tamao N considerado constante. El tamao maximo de las
cadenas considerela 20. */
#include <conio.h>
// getch()
#include <stdio.h>
// gets()
#include <string.h>
// strcmp() y strcpy()
const int N = 10, TC = 20;
main()
{
char nom[N][TC],auxN[TC];
int i,j,k,v;
printf("Ingrese los nombres:");
for(i=0;i< N;i++)
{
gets(nom[i]);}
for(k=0;k<N-1;k++)
{
for(j=0;j<N-1-k;j++)
{
if (strcmp(nom[j],nom[j+1]) > 0)
{
strcpy(auxN,nom[j]); /* a auxN le asigna nom[j]*/
strcpy(nom[j],nom[j+1]);/* a nom[j] le asigna nom[j+1]*/
strcpy(nom[j+1],auxN);/* a nom[j+1] le asigna auxN*/
}
}
}
printf("\n");
// MUESTRA EL ARRAY EN ORDEN ALFABETICO
for(i=0;i< N;i++)
{
printf("\t(*)%s\n",nom[i]);
}
printf("\n");
getch();
}
Anlisis de resultados
Clculo de la fuerza
Planteamiento del problema
Realizar un programa que permita al usuario calcular la fuerza de un objeto a
partir del valor de su aceleracin proporcionado por l mismo utilizando
funciones.
Algoritmo
1.
2.
3.
4.
5.
inicio
Declaracin de variables a utilizar: i,r,n;
Se solicita el valor de la aceleracin: i;
Establecemos la condicin: i<11?
Mientras la condicin sea verdadera se realiza la operacin r=i*n y se da
un paso ms i++
6. Se mandan a imprimir los valores en cada proceso.
7. Cuando la condicin ya no se cumpla, se finaliza el proceso.
8. Fin
Diagrama de flujo
Inicio
i, r, n
n
i*n=r
r=i*n
fin i++
i=1; i<11;
Codificacin
/*PROGRAMA PARA CALCULAR LA FUERZA DE 1 A 10 KG DE MASA DE UN CUERPO
UTILIZANDO FUNCIONES*/
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
float fuerza(float i,float n);
int main()
{
system("COLOR F0");
float i, r, n;
printf(" PROGRAMA PARA CALCULAR LA FUERZA DE 1 A 10 KG DE MASA DE UN
CUERPO\n\n\n");
printf("Dame el valor de la aceleracion que experimenta el cuerpo en m/s^2\n");
scanf("%f", &n);
for(i=1; i<11; i++)
{
fuerza(i,n);
}
getch();
return 0;
}
//funciones
float fuerza(float i,float n)
{
float r=1;
r=i*n;
printf("\t%.2f Kg x %.2f m/s^2 = %.2f N \n", i, n, r);
}
Prueba de escritorio
n
res
i
i<=10?
2
i=i+1
1<=10
i=1+1
2<=10
i=2+1
3<=10
i=3+1
4<=10
i=4+1
10
5<=10
i=5+1
12
6<=10
i=6+1
14
7<=10
i=7+1
16
8<=10
i=8+1
res=i*
n
res=1*
2
res=2*
2
res=3*
2
res=4*
2
res=5*
2
res=6*
2
res=7*
2
res=8*
2
imprimir
1kg x 2m/s^2 = 2N
2kg x 2m/s^2 = 4N
3kg x 2m/s^2 = 6N
4kg x 2m/s^2 = 8N
5kg x 2m/s^2 = 10N
6kg x 2m/s^2 = 12N
7kg x 2m/s^2 = 14N
8kg x 2m/s^2 = 16N
18
9<=10
i=9+1
20
10
10<=10
i=10+1
22
11
11<=10
res=9*
2
res=10
*2
{
aux=numeros[i];
numeros[i]=numeros[j];
numeros[j]=aux;
}
}
}
for (i=n-1;i>=0;i--){
printf("%f\n",numeros[i]);
}
system("PAUSE");
return 0;
}
13
14
15
16
17
18
Inicio
Se declaran las variables con las que se va a trabajar; d, r, i, a[5]
Se le pide al usuario el valor de a[0]
Establecemos valores iniciales
ra[0]
da[0]
i1
Preguntamos si i<5?
Si la premisa es verdadera, pedimos los valores para a[i]
Pedimos que realice la operacin:
rr-a[i]
dd/a[i]
Le pedimos que se prepare para otra operacin ii+1
Si la premisa es falsa pedimos que imprima r, d
Fin del programa
Diagrama de Flujo
INICIO
d, r, i, a[5]
a[0]
ra[0]
da[0]
ii+1
i<5?
SI
a[i]
rr-a[i]
NO
r, d
Codificacin
#include<stdio.h>
#include<conio.h>
int main ()
{
float d;
int r,i;
int a[5];
printf("Dame el valor del numero 0:\t");
scanf("%d",&a[0]);
r=a[0];
d=a[0];
for(i=1;i<5;i++)
{
printf("Dame el valor del numero %d:\t",i);
scanf("%d",&a[i]);
r=r-a[i];
d=d/a[i];
}
printf("\nEl resultado de la resta es: %d",r);
printf("\nEl resultado de la division es: %f",d);
getch ();
}
dd/a[i]
FIN
Prueba de Escritorio
i
a[0]
ra[0]
da[0]
i1
21
21
21
16
4.2
2<5
0.6
3<5
0.1
4<5
0.05
0
5<5
Anlisis de Resultados
i<5?
a[1]
1<5
a[2]
a[3]
a[4]
7
6
2
rr-a[i]
dd/a[i]
ii+1
21-5
21/5
16-7
2.5/7
9-6
0.3571/6
3-2
0.0595/2
1+1
Imprimir
r, d
2+1
3+1
4+1
1
0.050
Fin
num[8], i, r
i0
ii+1
i<8?
SI
num[i]
raizre()
NO
FIN
Subprograma raizre()
INICIO
aux, r
auxpow(num,0
.5)
rnum-aux
aux, r
FIN
Codificacin
#include<stdio.h>
#include<conio.h>
#include<math.h>
float raizre(int num)
{
float aux,r;
aux=pow(num,0.5);
printf("\nraiz cuadrada= %.2f",aux);
r=num-aux;
printf("\nla resta del numero menos la raiz es=%.2f\n",r);
}
int main ()
{
int num[8],i;
float r;
for(i=0;i<8;i++)
{
printf("\nEscribe el valor numero %d: ",i);
scanf("%d",&num[i]);
raizre(num[i]);
}
getch ();
}
Prueba de Escritorio
num[0]
num[1]
num[2]
num[3]
num[4]
16
25
49
num
[5]
9
num[6]
num[7]
36
22
i
0
i<8?
raizre(num[i])
ii+1
0<8
raizre(4)
0+1
1<8
raizre(2)
1+1
----
---------
-----
-----
---------
-----
7<8
raizre(22)
7+1
8<8
Fin del
programa
Sub-prueba de escritorio
aux
auxpow(num,
0.5)
rnum-aux
Imprimir aux, r
1.41
0.59
---------------4.69
------------------------17.31
pow(4,0.5)
4-2
pow(2)
2-1.41
-------------------pow(22,0.5)
22-4.69
2
2
1.41
0.59
------------------4.69
17.31
Anlisis de Resultados
Fin del
programa
Algoritmo
Inicio
Declaramos las variables a utilizar
Se establecen las funciones res,sum,mult,div,res
Inicio del programa inicial
Se pide el valor de las dos variables a utilizar a,b
Se imprime el resultado de las funciones
Fin del programa
Diagrama de flujo
Inicio
a,b
resid(int
sum(int
a,inta,int
b,int
z)
z=
b,int z){ z =
a a%
+ b; b
sum
res(int a,int
b,int z) z = a b
res
mult(int a,int
b,int z)z = a * b
mult
div(int a,int
b,int z){ z = a /
b; return z
div
resid
Fin
#include<stdio.h>
#include<math.h>
int sum(int a,int b,int z){ z = a + b;
return z; }
int res(int a,int b,int z){ z = a - b;
return z; }
int mult(int a,int b,int z){ z = a * b;
return z;
}
int div(int a,int b,int z){ z = a / b; return z; }
int resid(int a,int b,int z){ z = a % b;
return z;
}
int main()
{
int a,b;
int z;
printf("\n Ingrese 2 numeros enteros: \n \n");
scanf("%d %d",&a,&b);
printf("\n La suma de %d y %d es %d \n",a,b,sum(a,b,z));
printf("\n La resta de %d y %d es %d \n",a,b,res(a,b,z));
printf("\n La multiplicacion de %d y %d es %d \n",a,b,mult(a,b,z));
printf("\n La division de %d y %d es %d con",a,b,div(a,b,z));
printf(" el residuo de %d \n",resid(a,b,z));
return 0; }
Prueba de escritorio
a
23
23
Sum(z=
a+b)
43
Res(z=
a-b)
0
Mul(z=a
*b)
529
Div(z=
a/b)
1
Resid(z=
a%b)
0
imprimi
r
z
Fi
n
Fi
n
Arreglos
//Crear un programa llamado paresImpares que cree un array de 100 nmeros
aleatorios del 1 al 1000. Una vez creado, mostrar el contenido y despus
organizarlo de forma que estn juntos los elementos pares y los impares.
Despus, volver a mostrar el array//
TAM=0
rand()%100+1
i=0;i<TAM;i++){
Los impar
No
Si
i/2==
Los par
Codificacin
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
void escribirArray(int a[], int tamanio);
int main(){
int a[TAM];
int par[TAM]={0};
int impar[TAM]={0};
int i,j;
srand(time(NULL));
for(i=0;i<TAM;i++){
a[i]=rand()%100+1;
}
printf("Primer array:\n");
escribirArray(a,TAM);
for(i=0;i<TAM;i++){
if(a[i]%2==0)
par[i]=a[i];
else
impar[i]=a[i];
}
printf("\nPar:\n");
escribirArray(par,TAM);
printf("\nImpar:\n");
escribirArray(impar,TAM);
j=0;
for(i=0;i<TAM;i++){
if(par[i]!=0) {
a[j]=par[i];
j++;
}
}
for(i=0;i<TAM;i++){
if(impar[i]!=0) {
a[j]=impar[i];
j++;
}
}
printf("\resultado final:\n");
escribirArray(a,TAM);
}
Prueba de escritorio
i/2
10
10/2=5
i/2==0
Es Par
3/2=1.5
i/2=0
Es Impar
rand()%100+1
Imprimir
Funciones
Planteamiento
//El siguiente programa lee por teclado un ao y calcula y muestra si es bisiesto//
Diagrama de flujo
inici
anio
Se pide el
valor de anio
a%4==0 and
a%100!=0 or
a%400==0
no
si
Es ao
bisiesto
fin
Codificacin
#include <iostream>
using namespace std;
int bisiesto(int);
int main()
No es ao
bisiesto
{
int anio;
cout<<"Introduce a"<<(char)164<<"o: ";
cin >> anio;
if(bisiesto(anio))
cout << "Bisiesto" << endl;
else
cout << "No es bisiesto" << endl;
system("pause");
}
int bisiesto(int a)
{
if(a%4==0 and a%100!=0 or a%400==0)
return 1;
else
return 0;
}
Prueba de escritorio
anio
If
else
FIN
(a%4==0 and a
%100!=0 or a
%400==0)
2010
2003
Opcional Funciones.
Es ao
bisiesto
**
No es ao
bisiesto
**
Inicio
precio,
porcentaje,
resultado, final
precio,
porcentaj
e
resultado
final
((precio*porcentaje)/
(100))
precio-resultado
final
FIN
Codificacin
#include <stdio.h>
#include <conio.h>
float preciofinal (float precio, float porcentaje);
int main ()
{
float precio, porcentaje, resultado, final;
printf ("Programa que calcula el precio final de un producto con descuento.");
printf ("\n\nEscribe el precio del producto: ");
scanf ("%f", &precio);
printf ("\nEscribe el descuento del producto: ");
scanf ("%f", &porcentaje);
printf ("\nEl precio del producto es: %.2f", preciofinal (precio, porcentaje));
getch ();
}
float preciofinal (float precio, float porcentaje)
{
float resultado, final;
resultado=((precio*porcentaje)/(100));
final=precio-resultado;
return (final);
}
preci
o
60
porcentaj
e
50
resultad
o
30
Opcional Arreglos.
fina
l
30
resultado=((precio*porcentaje)
/(100))
resultado=((60*50)/(100))
final=precioresultado
final=60-30
Imprimi
r final
30
F
I
N
i<=nalumnos?
notas[i1]
suma/nalum
nos
Suma+=notas[
i-1]
FIN
i++
Codificacin
#include <stdio.h>
#include <stdlib.h>
#define ALUM_MAX 100
int main ()
{
float notas[ALUM_MAX], suma=0;
int i, nalumnos;
system ("cls");
printf ("Programa que calcula el promedio de un grupo.");
printf ("\n\nEscribe el numero de alumnos: ");
scanf ("%d", &nalumnos);
for (i=1; i<=nalumnos; i++)
{
printf ("\nAlumno numero %d, nota final: ", i);
scanf ("%f", ¬as[i-1]);
suma+=notas[i-1];
}
printf ("\n\nNota media del curso: %5.2f\n", suma/nalumnos);
system ("PAUSE");
}
Prueba de escritorio.
nalum
nos
notas[i1]
suma
i<=nalum
nos?
i++
10
0+10
1<=2?
10+8
2<=2?
i=1+
1
i=2+
1
18
3<=2?
Imprimir
suma/nalu
mnos
18/2=9
FIN
Diagrama de Flujo
Inicio
sum, x, frase[50]
frase
x<50?
No
S
Case
1
Case
2
Case
3
Case
4
i
Case
5
o
u
sum
sum=sum+
1
x=x+
1
Fin
Break
Codificacin
#include<stdio.h>
#include<conio.h>
int main(int argc, char *argv[])
{
int sum=0, x;
char frase[50];
printf("\n\t\t\tCANTIDAD DE VOCALES EN UNA FRASE\n\n");
printf("Introduce una frase: ");
gets(frase);
for(x=0; x<50; x++)
{
switch(frase[x])
{
case 'a':
sum++;
break;
case 'e':
sum++;
break;
case 'i':
sum++;
break;
case 'o':
sum++;
break;
case 'u':
sum++;
break;
case 'A':
sum++;
break;
case 'E':
sum++;
break;
case 'I':
sum++;
break;
case 'O':
sum++;
break;
case 'U':
sum++;
break;
default:
break;}}
printf("En esta frase hay %i vocales\n\n", sum);
getch();
return 0;
}
Prueba de escritorio
sum
Inici
o
frase
Verdad
a,
e,
i,
o,
u
1<50
P no
2<50
L no
3<50
U si
4<50
M no
Plum
a
x<50
?
A si
Falso
sum=sum
+1
x+
+
sum=0+1
0+
1
1+
1
2+
1
3+
1
4+
1
sum=1+1
Impri
mir
sum
Fi
n
Diagrama de Flujo
Inicio
password, i
i=2
i0?
No
password
password=1111?
No
Acceso a
informaci
n
denegado
i=i-1
Acceso a
informaci
n
confirmado
Acceso a
Fin
Intntelo
ms tarde
Codificacin
#include<stdio.h>
#include<conio.h>
int correct();
int incorrect();
int main()
{
int password, i;
printf("\t\t\t\tINFORMACION PROTEGIDA\n");
for(i=2; i>=0; i--)
{
printf("Digite la contrasea (codigo de 4 digitos):\n");
scanf("%i", &password);
if(password==1111)
{
correct();
return 0;
}
else
{
incorrect();
}
}
printf("Intentelo mas tarde");
getch();
return 0;
}
int correct()
{
printf("Contrasea correcta\n");
printf("Acceso a informacion concedido\n");
getch();
}
int incorrect()
{
printf("Contrasea incorrecta\n");
printf("Acceso a informacion denegado\n\n");
}
i0
?
password=11
11?
2>0
123
4
12341111
1>0
111
1
1111=1111
Imprimir:
Acceso a
informacin
confirmado
Acceso a
informacin
confirmado
Falsa
Falsa
Imprimir:
Acceso a
informacin
denegado
i=i-1
Acceso a
informacin
denegado
i=2-1
Imprimir:
Intntel
o ms
tarde
Fin
Verdadera
Cierta
password
Inicio
Prueba de escritorio
No
i<=N?
Si
No
j<=M?
Si
matriz[i][j]
Diagrama de flujo:
sumasuma+matriz[i][j]
suma
Fin de proceso
Prueba de escritorio:
matriz[N][M]
(rango)
matriz[i][j]
(posicin)
matriz[1][1]=4
matriz[1][2]=3
matriz[1][3]=2
Suma
Sumasuma+mat
riz[i][j]
Suma0+4
Suma4+3
Suma7+2
imprimir
suma
i<=N
?
j<=M
?
1<=1
?
1<=3
?
2<=3
?
3<=3
?
int main(){
int N,M,suma;
for(int j=1;j<=M;j++){
printf("dame el numero
%i de la fila %i: ",j,i);
scanf("%d",&matriz[i][j]);
scanf("%d",&N);
printf("dame el numero de
columnas de la matriz: ");
scanf("%d",&M
);
int matriz[N][M];
suma=suma+matriz[i][j];
}
}
printf("La suma acumulatoria de la
matriz es: %d",suma);
}
int matriz[n][m],suma=0;
#include<conio.h>
int ciclo(int n,int m);
int main(){
int N,M;
printf("dame el numero de filas de la
matriz: ");
for(int j=1;j<=m;j++){
printf("dame el numero
%i de la fila %i: ",j,i);
scanf("%d",&N);
scanf("%d",&matriz[i][j]);
suma=suma+matriz[i][j];
scanf("%d",&M);
ciclo(N,M);
}
int ciclo(int n,int m){
}
}
printf("La suma acumulatoria de la
matriz es: %d",suma);
return 0;
}
Pantallas:
Inicio
Se dan a conocer las variables con las que se va a trabajar
Se estableces los valores a las variables aux, numeros1[5], nmeros2[5]
Se solicita el valor de la variable numeros1[i]
Se hace la operacin numeros2[i]=numeros1[i]*2
Se pregunta i<5?
Si resulta falso se regresa al punto 5 y se imprime ese resultado
Si es verdadero se imprime ese resultado
Fin
CODIFICACION
#include <stdio.h>
#include <stdlib.h>
int main()
{
int aux, numeros1[5],numeros2[5];
int i,j;
for (i=0;i<5;i++){
printf("Escriba un nmero");
scanf("%d",&numeros1[i]);}
for(i=0;i<5;i++)
{
numeros2[i]=numeros1[i]*2;
}
for (i=0;i<5;i++){
printf("%d\n",numeros2[i]);
}
system("PAUSE");
return 0;
}
PRUEBA DE ESCRITORIO
a
Numeros1[i]
1
2
3
4
5
6
i<=5?
1<=5
2<=5
3<=5
4<=5
5<=5
6<=5
i<=5?
Imprimir
copiar*2
1
2
3
4
5
I=i+1
2
4
6
8
10
DIAGRAMA DE FLUJO
inicio
i
i=i+1
I=1+1
I=2+1
I=3+1
I=4+1
I=5+1
aux,numeros1[5],numeros2[5]; i,j;
i=1
ALGORITMO
1.2.3.4.5.6.7.8.9.-
Inicio
Se dan a conocer las variables con las que se va a trabajar
Se estableces los valores a las variables y la funcin, anio, bisiesto(int)
Se solicita el valor de la variable a
Se realiza la funcin bisiesto(int)
Se pregunta
if(a%4==0 and a%100!=0 or a%400==0)
Si resulta falso se regresa al punto 5 y se imprime ese resultado
Si es verdadero se imprime ese resultado
Fin
CODIFICACION
// Programa que lee un ao y muestra si es o no bisiesto
#include <iostream>
int bisiesto(int); //declaracin o prototipo de la funcin
int main()
{
int anio;
cout<<"Introduce a"<<(char)164<<"o: ";
cin >> anio;
if(bisiesto(anio)) //llamada a la funcin
cout << "Bisiesto" << endl;
else
cout << "No es bisiesto" << endl;
system("pause");
}
int bisiesto(int a) //definicin de la funcin
{
if(a%4==0 and a%100!=0 or a%400==0)
return 1;
else
return 0;
}
DIAGRAMA DE FLUJO
inicio
anio
No es bisiesto
Es bisiesto