Beruflich Dokumente
Kultur Dokumente
FUNDAMENTOS DE
PROGRAMACIN
Inicio
Inicio
Nota
Nota
Nota>0
Nota>0
Nota<=20
Nota<=20
Nota>10.5
Nota>10.5 Nota
Nota no
no vlida
vlida
Aprobado
Aprobado Reprobado
Reprobado
Fin
Fin
APLICACIN WINDOWS
EDICIONES Guido Raul Larico Uchamaco
FUNDAMENTOS DE PROGRAMACIN
CON C#
Aplicacin Windows
EDICIONES
FUNDAMENTOS DE PROGRAMACIN
CON C#
Aplicacin Windows
ISBN:
Editado por:
www.losandes.com.pe
e-mail: director@losandes.com.pe
INTRODUCCION
FUNDAMENTOS DE PROGRAMACIN
Conceptos Generales 14
Algoritmo
Diagrama de flujo
Conceptos Generales 15
Sub Algoritmo
Pantalla
Direccin (Flujo)
Almacenamiento interno
Conceptos Generales 16
Instrucciones
Son acciones que debe realizar un algoritmo para resolver un problema. Las
instrucciones ms comunes son las siguientes.
Instrucciones de inicio/fin Instrucciones de escritura
Instrucciones de asignacin Instrucciones de bifurcacin
Instrucciones de lectura
Inicio Inicio
Fin Fin
N20 N20
N20 N=20
Leer N
Leer N
Leer N Leer N
Escribir a Escribir a
Instruccin Instruccin
Conceptos Generales 17
Inicio
b, h
a=b+h
Fin
Diagramas N-S
Conocido tambin como el diagrama de Chapin, es como un diagrama de
flujo sin flechas y constan con cajas continuas que se leern siempre de
arriba-abajo, una herramienta que favorece la programacin estructurada y
rene caractersticas grficas propias de diagramas de flujo y lingsticas
propias de pseudocdigos y sus estructuras lgicas son las siguientes:
Inicio
Accin
A
Leer n
Accin
B Leer n
a=n+(n-1)/2
a=n+(n-1)/2
Imprimir a Imprimir a
Accin Fin
N
Pseudocdigo
Permite expresar las instrucciones en un lenguaje comn para facilitar la
escritura como la lectura de la solucin de programa.
1. Iniciar programa
2. Declarar variable
b : Entero
Conceptos Generales 18
h : Cadena
3. Leer entrada
Leer b, h
4. Calcular proceso
a=b+h
5. Imprimir salida
Imprimir a
6. Finalizar programa
Programa
Un programa o software es un conjunto de instrucciones ordenadas para
ejecutarse en una computadora en forma rpida y precisa.
El software se divide en dos grupos, software de sistema operativo y
software de aplicaciones.
Datos
Son las caractersticas propias de cualquier entidad. Por ejemplo: los datos
de una persona como su edad, fecha de nacimiento, domicilio, nmero de
telfono, etc.
Informacin
Es el conocimiento relevante producido como resultado del procesamiento
de datos y adquirido por la gente para realzar el entendimiento y cumplir
ciertos propsitos.
Procesamiento de datos
Consiste en la recoleccin de datos de entrada que son evaluados y
ordenados para ser colocados de manera que produzcan informacin til.
Palabras reservadas
Palabras usadas por el lenguaje de programacin que no deben ser usadas
como identificadores de variables, funciones entre otros.
Variables
Son los elementos que se utilizan para contener datos de distintos tipos:
nmeros, letras, cadenas de caracteres, valores lgicos, etc. El valor
contenido es una variable puede cambiar a lo largo de la ejecucin.
Veamos algunos ejemplos de declaracin de variables correctas e
incorrectas.
Variable
suma = Correcto
numero = Correcto
_edad = Correcto
_nombre = Correcto
digito1 = Correcto
$edad = Incorrecto (Comienza con el smbolo $)
Nmero = Incorrecto (La variable tiene tilde)
1digito = Incorrecto (Comienza con un nmero)
Ejemplo de pseudocdigo.
C#
//variable //variable
n: Entero int n;
Constantes
Son elementos que contienen datos, el valor asignado es una constante es
fijo y no se puede cambiar durante toda la ejecucin del programa.
Ejemplo de pseudocdigo.
C#
//Constante //Constante
PI3.14159: Real Const float PI=3.13159F;
//Error ya no puede //Error ya no puede
modificarlo modificarlo
PI3.1415 PI=3.1415
Cada expresin toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecucin de las operaciones
implicadas.
Clasificacin de operadores
Operadores Aritmticos
Operadores Relacionales
Operadores Lgicos
Operadores de cadena
Operadores Aritmticos
Los operadores aritmticos nos permiten, bsicamente, hacer cualquier
operacin aritmtica (suma, resta, multiplicacin y divisin).
- Resta x=6-3 3
+ x=5+4 9
* Multiplicaci x=2*2 4
n
/ Divisin x=5/2 3
Potencia x=32 9
MOD Mdulo x=5 MOD 1
2
DIV Divisin x=5 DIV 2 2
entera
Operadores Relacionales
Estos operadores nos permiten evaluar las relaciones (igualad, mayor,
menor, etc).
OPERADO ACCIN
R
> Mayor que
>= Mayor
igual que
< Menor que
<= Menor
igual que
= Igualdad
!= Diferente
a
Operadores Lgicos
OPERADO ACCIN
R
Y Y lgico
O O Lgico
No No Lgico
NO (8>4) Falso
NO (7<>7) Verdadero
OPERADO ACCIN
R
&& Y lgico
|| O Lgico
! No Lgico
Operadores de cadena
Son aquellos operadores que permiten realizar operaciones con cadenas,
por lo general unir cadena llamado tambin concatenar.
OPERADOR ACCIN
+ Unir cadenas
& Unir cadenas
Expresiones de cadena.
Internet Explorer 10
Requisitos de hardware
Procesador a 1,6 GHz o ms rpido
1 GB de RAM (1,5 GB si se ejecuta en una mquina virtual)
10 GB de espacio disponible en el disco duro
Unidad de disco duro de 5400 rpm
Tarjeta de vdeo compatible con DirectX 9 con una resolucin de
pantalla de 1024 x 768 o superior
Requisitos de hardware:
Procesador a 2,2 GHz o ms rpido
1 GB de RAM: instalacin bsica
2 GB de RAM: instalacin estndar (sin Microsoft SharePoint
Foundation 2010)
Conceptos Generales 31
Requisitos de hardware
Procesador a 1,6 GHz o ms rpido
1 GB de RAM (1,5 GB si se ejecuta en una mquina virtual)
4 GB de espacio disponible en el disco duro
Unidad de disco duro de 5400 rpm
Tarjeta de vdeo compatible con DirectX 9 con una resolucin de
pantalla de 1024 x 768 o superior
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox2_TextChanged(object sender, EventArgs e)
Conceptos Generales 36
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
float a,b,r;
a = float.Parse(textBox1.Text);
b = float.Parse(textBox2.Text);
r = a + b;
textBox3.Text = Convert.ToString(r);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
CAPITULO II Instruccin 1
n1
Instrucci
Instruccin 2
Instrucci
n1
Instruccin 3
Instrucci
n1
FUNDAMENTOS DE PROGRAMACIN
Estructura Secuencial 39
Ejercicio 01
Calcular e imprimir el rea de un tringulo.
Solucin:
Declarar variables
b, h: Real
Entrada: (Datos a introducir al computador)
Base :b
Altura:h
Proceso: calcular rea del tringulo (Base x Altura)/2
Salida: (Resultado que mostrar el computador)
Pseudocdigo
1. Iniciar programa
2. Declarar variables
b: Real
h: Real
area: Real
3. Leer b,h
4. Calcular area= (b*h)/2
5. Imprimir area
6. Finalizar programa
Diagrama de flujo
Inicio
b, h
a= (b*h)/2
area
Fin
Diseo
Estructura Secuencial 40
Codificacin
using System;
using System.Windows.Forms;
namespace Area_triangulo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Ejercicio 02
Estructura Secuencial 41
Solucin:
Declarar variables.
a, b, c, d: Entero
Ingresar datos a invertir a, b, c, d
Imprimir datos invertidos d, c, b, a.
Pseudocdigo
1. Iniciar programa
2. Declarar variables
a, b, c, d: Entero
3. Leer a, b, c, d
4. Imprimir d, c, b, a
5. Finalizar programa
Diagrama de flujo
Inicio
a, b, c, d
d, c, b, a
Fin
Diseo
Estructura Secuencial 42
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Orden_inverso
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int a, b, c, d;
a = int.Parse(textBox1.Text);
b = int.Parse(textBox2.Text);
c = int.Parse(textBox3.Text);
d = int.Parse(textBox4.Text);
textBox5.Text = Convert.ToString(d + ", " + c + ", " + b + ", "
+ a);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 03
Estructura Secuencial 43
Solucin:
Declarar variables
a, b: Entero
Proceso ejecutar la frmula (a+b)2/3
Imprimir el resultado
Pseudocdigo
1. Iniciar programa
2. Declarar variables
a, b: Entero
r: Real
3. Leer a, b
4. Calcular r= ((a+b)2/3)
5. Imprimir r
6. Finalizar programa
Diagrama de flujo
Inicio
a, b
r= ((a+b)^2)/3)
Fin
Diseo
Estructura Secuencial 44
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Enteros_expresion
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
float a, b;
double r;
a = float.Parse(textBox1.Text);
b = float.Parse(textBox2.Text);
r = ((a + b) * (a + b)) / 3;
textBox3.Text = Convert.ToString(r);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 04
Estructura Secuencial 45
Solucin:
Declarar variables
Ingresar cdigo de matrcula y sus calificaciones
Calcular promedio de calificaciones
Imprimir la matrcula y el promedio
Pseudocdigo
1 Iniciar programa
2 Declarar variables
codigo: Entero largo
c1, c2, c3, c4, c5, prom: Real
3 Leer c1, c2, c3, c4, c5
4 Calcular prom=( c1+c2+c3+ c4+c5)/5
5 Imprimir codigo, prom
6 Finalizar programa
Diagrama de flujo
Inicio
prom= (c1+c2+c3+c4+c5)/5
codigo, prom
Fin
Diseo
Estructura Secuencial 46
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Promedio_5_notas
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int codigo;
float c1, c2, c3, c4, c5;
double pro;
codigo = int.Parse(textBox1.Text);
c1 = float.Parse(textBox2.Text);
c2 = float.Parse(textBox3.Text);
c3 = float.Parse(textBox4.Text);
c4 = float.Parse(textBox5.Text);
c5 = float.Parse(textBox6.Text);
pro = (c1 + c2 + c3 + c4 + c5) / 5;
textBox7.Text = Convert.ToString(codigo);
textBox8.Text = Convert.ToString(pro);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
textBox7.Clear();
textBox8.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 05
Calcular e imprimir el cuadrado y el cubo de un nmero entero positivo
num.
Solucin:
Estructura Secuencial 47
Declarar variables
Ingresar el nmero
Proceso calcular el cuadrado y el cubo del nmero ingresado
Imprimir los resultados
Pseudocdigo
1. Iniciar programa
2. Declarar variables
num: Entero
cua, cub: Real
3. Leer num
4. Calcular cua=num*num
5. Calcular cub=num*num*num
6. Imprimir cua, cub
7. Finalizar programa
Diagrama de flujo
Inicio
cua=num*num
cub=num*num*num
num
CCC
CU
cua, cub
Fin
Diseo
Estructura Secuencial 48
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Cuadrado_y_cubo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int num;
double cua, cub;
num = int.Parse(textBox1.Text);
cua = num * num;
cub = num * num * num;
textBox2.Text = Convert.ToString(cua);
textBox3.Text = Convert.ToString(cub);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
}
Ejercicio 06
Estructura Secuencial 49
Consideraciones:
La superficie de un rectngulo se calcula aplicando la siguiente
frmula:
Superficie=base *altura
Permetro=2*(base altura)
Solucin:
Declarar variables
Ingrese base y altura
Proceso calcular la superficie y permetro del rectngulo
Imprimir los resultados
Pseudocdigo
1. Iniciar programa
2. Declarar variables
b, h: Real
per, sup: Real
3. Leer b, h
4. Calcular per= (b+h)*2
5. Calcular sup=b*h
6. Imprimir per, sup
7. Finalizar programa
Diagrama de flujo
Inicio
per= (b+h)*2
sup=b*h
b, h
CCC
CU
per, sup
Fin
Diseo
Estructura Secuencial 50
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Perimetro_y_superficie
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
float b, h;
double per, sup;
b = int.Parse(textBox1.Text);
h = int.Parse(textBox2.Text);
per = 2 * (b + h);
sup = b * h;
textBox3.Text = Convert.ToString(sup);
textBox4.Text = Convert.ToString(per);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 07
Estructura Secuencial 51
Consideraciones:
La superficie de una circunferencia se calcula aplicando la siguiente
frmula:
rea =pi*radio2
Solucin:
Declarar variables
Declarar constante pi=3.1416
Proceso calcular la superficie de la circunferencia
Imprimir resultados
Pseudocdigo
1. Iniciar programa
2. Declarar variables
r: Real
a: Real
3. Declarar constante
pi: Real
4. Asignar pi=3.1416
5. Leer r
6. Calcular a=pi*(r*r)
7. Imprimir a
8. Finalizar programa
Diagrama de flujo
pi=3.1416
Inicio
a=pi*(r*r)
r
CCC
CCC
CU
CU a
Fin
Diseo
Estructura Secuencial 52
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Area_circunferencia
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click_1(object sender, EventArgs e)
{
float r;
double a;
double pi;
r = int.Parse(textBox1.Text);
pi = 3.1415;
a = pi * (r * r);
textBox2.Text = Convert.ToString(a);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
}
Ejercicio 08
Estructura Secuencial 53
Pseudocdigo
1. Iniciar programa
2. Declarar variables
nombre: Cadena de caracteres
pes, lon: Real
3. Leer nombre, pes, lon
4. Calcular pes=peso*0.4535924
5. Calcular lon=longitud*0.3048006
6. Imprimir nombre, pes, lon
nombre, pes, lon
7. Finalizar programa
Diagrama de flujo
PES
pes=peso*0.4535924
Inicio
lon=longitud*0.3048006
CCC
nombre,
CUpes, lon
Fin
Estructura Secuencial 54
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Dinosaurio
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
float peso, longitud;
double pes, lon;
string nombre = (textBox1.Text);
peso = int.Parse(textBox2.Text);
longitud = int.Parse(textBox3.Text);
pes = peso * 0.4535924;
lon = longitud * 0.3048006;
textBox4.Text = Convert.ToString(nombre);
textBox5.Text = Convert.ToString(pes);
textBox6.Text = Convert.ToString(lon);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Estructura Secuencial 55
Ejercicio 09
En una casa de cambio necesitan construir un programa tal que dado
como dato una cantidad expresada en dlares, convierta esa cantidad a
nuevos soles.
Consideraciones:
Tipo de cambio establecido es. Un dlar=2.76
Nota: Depende del tipo de cambio
Solucin:
Declarar variables
Ingresar cantidad en soles
Mostrar resultados
Pseudocdigo
1. Iniciar programa
2. Declarar variables
cant: Real
3. Calcular CANT=cant*2.76
4. Imprimir CANT
5. Finalizar programa
Diagrama de flujo
Inicio
CANT=cant*2.76
cant
CCC
CU
CANT
Fin
Diseo
Estructura Secuencial 56
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Dolares_a_soles
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Ejercicio 10
Estructura Secuencial 57
Consideraciones:
El volumen de un cilindro calcularemos
aplicando la siguiente frmula:
Volumen= Pi*radio2*altura
La superficie del cilindro calcularemos como:
rea=2*radio*radio*altura
Solucin:
Iniciar proceso
Declarar variable
Leer radio, altu
Proceso realizar los clculos del rea y volumen.
Imprimir resultados
Pseudocdigo
1. Iniciar programa
2. Declarar variables
radio, altu, area, vol: Real
3. Declarar constante
pi: 3.1416
4. Leer radio, altu
5. Calcular area=2*pi*radio*altu
6. Calcular vol=pi*(radio*radio)*altu
7. Imprimir area, vol
8. Finalizar programa
Estructura Secuencial 58
radio, altu
PES
area=2*pi*radio*altu
Inicio
vol=pi*(radio*radio)*altu
CCC
CU area, vol
Fin
Diagrama de flujo
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Area_volumen_cilindro
{
public partial class Form1 : Form
{
public Form1()
{
Estructura Secuencial 59
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
float rad, alt;
double area, vol;
double pi;
rad = float.Parse(textBox1.Text);
alt = float.Parse(textBox2.Text);
pi = 3.1416;
area = 2 * pi * rad * alt;
vol = pi * (rad * rad) * alt;
textBox3.Text = Convert.ToString(area);
textBox4.Text = Convert.ToString(vol);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 11
Denis compr una estancia en un pas sudamericano. La extensin de la
estancia esta especificada en acres; tal que como dato la expresin del
campo en acres, calcule e imprima la extensin de las mismas hectreas:
Ac = ha * 2.4711
Consideraciones:
Un acre es igual a 4047 m2
Una hectrea tiene 10,000m2
Solucin:
Declarar variables
Proceso realizar la conversin
Imprimir extensin
Pseudocdigo
1. Iniciar programa
2. Declarar variables
ext: Real
3. Calcular EXT=ext*4047/10000
4. Imprimir EXT
5. Finalizar programa
Diagrama de flujo
Estructura Secuencial 60
Inicio
ext
EXT=ext*4047/10000
EXT
Fin
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Acres_a_hectareas
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
{
float ext;
double EXT;
ext = float.Parse(textBox1.Text);
EXT = ext * 4047 / 10000;
textBox2.Text = Convert.ToString(EXT);
}
Ejercicio 12
Dado los tres lados de un tringulo, pueda determinar su rea.
Esta la calculamos aplicando la siguiente frmula:
Donde L1, L2, L3 son los 3 lados del tringulo y S es Semipermetro del tringulo.
Frmula de Hern
Consideraciones:
Recordemos que es lo mismo que sacar la raz cuadrada de un
nmero que elevar dicho nmero a la potencia 0.5
Solucin:
Declarar variables
Proceso realizar clculo del rea
Imprimir resultado
L1, L2, L3, son variables de tipo real, que representan los datos de un
tringulo
Pseudocdigo
1. Iniciar programa
2. Declarar variables
L1, L2, L3, s, area: Real
3. Calcular s= (L1+L2+L3)/2
4. Calcular area= (s*(s-L1)*(S-L2)*(S-L3))^ 0.5
Estructura Secuencial 62
5. Imprimir area
6. Finalizar programa
Diagrama de flujo
Inicio
s= (L1+L2+L3)/2
area=[(s*(s-L1)*(s-L2)*(s-L3)]2
L1, L2, L3
CCC
CU
area
Fin
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Area_triangulo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
Estructura Secuencial 63
{
float L1, L2, L3;
double area;
double s;
L1 = float.Parse(textBox1.Text);
L2 = float.Parse(textBox2.Text);
L3 = float.Parse(textBox3.Text);
s = (L1 + L2 + L3) / 2;
area = s * (s - L1) * (s - L2) * (s - L3) * (s - L1) * (s - L2)
* (s - L3);
textBox4.Text = Convert.ToString(area);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 13
Un algoritmo que sea capaz de intercambiar el valor de tres variables a, b,
c, de tal manera que el valor de b se almacene en a, b obtenga el valor de
cycel valor de a.
Solucin:
Analizaremos con valores reales, por ejemplo.
a=2; b=5; c=8
El resultado de intercambio de variables.
a) Si a=b tendremos a=5
b) Si b=c tendremos b=8
c) Si c=a tendremos c=2
Pseudocdigo
1. Iniciar programa
2. Declarar variables
a, b, c, aux: Entero
3. Calcular aux= a
4. Calcular a=b
5. Calcular b=c
6. Calcular c=aux
7. Imprimir a, b, c
8. Finalizar programa
Estructura Secuencial 64
Diagrama de flujo
Inicioa
aux=
a=b
b=c
a, b, c
c=aux
CCC
CU
a, b, c
Fin
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace ABC
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
float a, b, c, aux;
Estructura Secuencial 65
a = float.Parse(textBox1.Text);
b = float.Parse(textBox2.Text);
c = float.Parse(textBox3.Text);
aux = a;
a = b;
b = c;
c = aux;
textBox4.Text = Convert.ToString(a);
textBox5.Text = Convert.ToString(b);
textBox6.Text = Convert.ToString(c);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 14
Ejercicio similar al anterior, solo que con dos variables ms, la forma de
resolver es similar, la nica variante que debemos usar dos variables
auxiliares.
Pseudocdigo
1. Iniciar programa
2. Declarar variables
a, b, c, d, j, aux1, aux2: Entero
3. Calcular aux1=a
aux2=d Inicio
a=c
d=b
b=e a, b, c, d, j
j=aux1
c=aux2aux1: a
4. Imprimira, b, c, d, j aux2: d
5. Finalizar programa a=c
d=b
Diagramade flujo b=j
j=aux1
c=aux2
a, b, c, d, j
Fin
Estructura Secuencial 66
Diseo
Codificacin en C#
Estructura Secuencial 67
using System;
using System.Windows.Forms;
namespace ABCDE
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
{
float a, b, c, d, j, aux1, aux2;
a = float.Parse(textBox1.Text);
b = float.Parse(textBox2.Text);
c = float.Parse(textBox3.Text);
d = float.Parse(textBox4.Text);
j = float.Parse(textBox5.Text);
aux1 = a;
aux2 = d;
a = c;
d = b;
b = j;
j = aux1;
c = aux2;
textBox6.Text = Convert.ToString(a);
textBox7.Text = Convert.ToString(b);
textBox8.Text = Convert.ToString(c);
textBox9.Text = Convert.ToString(d);
textBox10.Text = Convert.ToString(j);
}
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
textBox7.Clear();
textBox8.Clear();
textBox9.Clear();
textBox10.Clear();
}
{
this.Close();
}
Estructura Secuencial 68
}
}
Ejercicio 15
Desarrolle un algoritmo que calcule el nmero de billetes de 20, 10, 5, 1,
soles que se necesita para cambiar un cheque. Considere que el valor de
cheques es un nmero entero.
Solucin:
Uso de los operadores DIV MOD nos ayudar
en la solucin del problema, el cual consiste
en cambiar un cheque, en el nmero ptimo
billetes de 4 denominaciones distintas (20, 10,
5,1).
Leer importe del cheque
Calcular el nmero mximo de billetes en denominaciones de 20.
Calcular el nmero mximo de billetes en denominaciones de 10.
Calcular el nmero mximo de billetes en denominaciones de 5.
Calcular el nmero mximo de billetes en denominaciones de 1.
Pseudocdigo
1. Iniciar programa
2. Declarar variables
cant, b20, b10, b5, b1: Entero
3. Calcular b 20= cant div 20
4. Calcular cant=cant mod 20
5. Calcular b10= cant div 10
6. Calcular cant=cant mod 10
7. Calcular b5= cant div 5
8. Calcular cant=cant mod 5
9. Calcular b1= cant mod 5
10. Imprimir b20, b10, b5, b1
Estructura Secuencial 69
Diagrama de flujo
Inicio
Fin
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Numero_billetes
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int cant, b20, b10, b5, b1;
cant = int.Parse(textBox1.Text);
b20 = cant / 20;
Estructura Secuencial 70
Pseudocdigo
1. Iniciar programa
2. Declarar variables
radio, altu, gene: Real
ab, al, at, vol: Real
3. Declarar constante pi=3.1416: Real
4. Leerradio, altu, gene
5. Calcular ab=pi*(radio*2)
al=pi*radio*gene
at=ab*al
vol= (ab*altu)/3
6. Imprimir rea de la baseab
Estructura Secuencial 71
rea lateralal
rea total at
Volumen vol
7. Finalizar programa
Diagrama de flujo
Diseo
Inicio
ab=pi*(radio*radio)
al=pi*radio*gene
at=ab*al
vol= (ab*altu)/3
Fin
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Radio_cono
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
double radio, altu, gene, ab, al, at, vol;
double pi = 3.1415;
radio = float.Parse(textBox1.Text);
gene = float.Parse(textBox2.Text);
altu = float.Parse(textBox3.Text);
pi = 3.1415;
ab = pi * (radio * radio);
al = pi * radio * gene;
at = ab + al;
vol = (ab * altu) / 3;
textBox4.Text = Convert.ToString(ab);
textBox5.Text = Convert.ToString(al);
textBox6.Text = Convert.ToString(at);
textBox7.Text = Convert.ToString(vol);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
Estructura Secuencial 72
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
textBox7.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 17
Dado el radio de una esfera, calcule e imprima el rea de su volumen.
Consideraciones una esfera tiene la siguiente figura:
El rea de una esfera:
rea=4*pi*radio2
El volumen de una esfera:
Volumen= *pi*radio3
Solucin:
Declarar variables Radio: Real
Leer Radio
Proceso hacer rea=4*pi*(radio2)
Volumen=4/3*pi*(radio3)
rea =Almacena al rea de la esfera
Volumen= Almacena al volumen de la esfera
Pseudocdigo
1. Iniciar programa
2. Declarar variables
radio: Real
area, vol: Real
3. Declarar constante
pi=3.1416: Real
4. Leer radio
Inicio
5. Calcular area=4*pi*(radio*radio)
vol=4/3*pi (radio*radio*radio)
6. Imprimir rea de la esfera area
Volumen de laradio esfera vol
7. Terminar programa
area=4*pi*(radio*radio)
area=4*pi*(radio*radio)
vol=4/3*pi (radio*radio*radio)
Diagrama de flujo
area, vol
Fin
Estructura Secuencial 73
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Area_volumen_de_una_esfera
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
double radio, area, vol;
radio = float.Parse(textBox1.Text);
double pi;
pi = 3.1416;
area = 4 * pi * Math.Pow(radio, 2);
vol = 4 / 3 * pi * Math.Pow(radio, 3);
textBox2.Text = Convert.ToString(area);
textBox3.Text = Convert.ToString(vol);
}
Estructura Secuencial 74
Ejercicio 18
Hallar el lado de un hexaedro cubo, calcular el rea de la base, el rea
lateral, el rea total, y el volumen.
Consideraciones:
Un hexaedro o cubo tiene la
siguiente forma.
Para calcular rea de la base.
rea Base=L2
Para calcular rea lateral.
rea Lateral=4*L2
Para calcular rea total.
rea Total=6*L2
Para calcular el volumen
Volumen=L3
Pseudocdigo
1. Iniciar proceso
2. Declarar variables
l, ab, al, at, v: Entero
3. Leer l
4. Calcular ab=l*l
al=4*(l*l)
at=6*(l*l
v=(l*l*l)
5 Imprimir rea de la base ab
Area Lateral al
Area Total at
Volumen v
6. Finalizar proceso
Estructura Secuencial 75
Diagrama de flujo
Inicio
ab=l*l
al=4*(l*l)
at=6*(l*l
v= (l*l*l)
Fin
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Areas_cubo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
double l, ab, al, at, v;
l = float.Parse(textBox1.Text);
ab = Math.Pow(l, 2);
al = 4 * Math.Pow(l, 2);
at = 6 * Math.Pow(l, 2);
Estructura Secuencial 76
v = Math.Pow(l, 3);
textBox2.Text = Convert.ToString(ab);
textBox3.Text = Convert.ToString(al);
textBox4.Text = Convert.ToString(at);
textBox5.Text = Convert.ToString(v);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 19
Calcule la distancia entre dos puntos dados p1
y p2.
Solucin:
Declarar variable
Leer coordenadas
Proceso realizar el clculo de la distancia
Imprimir resultados
Pseudocdigo
1. Iniciar programa
2. Declarar variables
x1, y1, x2, y2, dist: Entero
3. Leer x1, y1, x2, y2
4. Calcular dist= ((x1-x2) (x1-x2)+ (y1-y2) (y1-y2)
5. Imprimir dist
6. Finalizar programa
Estructura Secuencial 77
Diagrama de flujo
Inicio
dist= ((x1-x2)(x1-x2)+(y1-y2)(y1-y2)
dist
Fin
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Distancia_entre_2_puntos
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
Estructura Secuencial 78
{
double x1, y1, x2, y2, dis;
x1 = float.Parse(textBox1.Text);
y1 = float.Parse(textBox2.Text);
x2 = float.Parse(textBox3.Text);
y2 = float.Parse(textBox4.Text);
dis = Math.Sqrt(Math.Pow((x1 - x2), 2) + Math.Pow((y1 - y2),
2));
textBox5.Text = Convert.ToString(dis);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Estructura Secuencial 79
EJERCICIOS PROPUESTOS
Ejercicio 01
Enunciado: A una reunin asistieron n personas Cuntos apretones de
mano hubieron?
Ejercicio 02
Enunciado: Dado dos nmeros enteros (z), a y b, hallar a+b y a-b
Ejercicio 03
Enunciado: Dado dos nmeros enteros, determinar cuntos nmeros
enteros estn incluidos en ellos.
Ejercicio 04
Enunciado: Dada una cantidad de milmetros, expresada en la mxima
cantidad de metros incluidos en ellos.
Ejercicio 05
Enunciado: Dado cuatro nmeros enteros, obtener el porcentaje cada uno
en funcin a la suma de los cuatro nmeros ingresados.
Ejercicio 06
Enunciado: Hallar rea de un permetro de un cuadrado.
Ejercicio 07
Enunciado: Dada una cantidad horas obtener su equivalente en minutos y
segundos.
Ejercicio 08
Enunciado: Convertir una cantidad de grados Fahrenheit a Celsius y Kelvin.
Ejercicio 09
Enunciado: Hallar el rea de un rombo.
Ejercicio 10
Enunciado: Convertir grados sexagesimales a centesimales.
Ejercicio 11
Enunciado: Sabemos que una milla equivale a 1609 kilmetros, lea una
cantidad en millas y convirtala a kilmetros.
Ejercicio 12
Enunciado: En un campeonato de futbol participan n equipos. Cuntos
partidos habr en la primera rueda del campeonato?
Ejercicio 13
Enunciado: Lea el ngulo en radianes y convirtalo a grados, minutos y
segn sexagesimales.
Estructura Selectiva (Simple y Doble) 80
ESTRUCTURA SELECTIVA
(SIMPLE Y DOBLE)
CONTENIDO
Estructura selectiva simple
Estructura Si...Entonces
Estructuras anidadas
Ejercicios
FUNDAMENTOS DE PROGRAMACIN
F
Condicin
V
Instruccin 1
Instruccin n
Sintaxis C#
Si <Exp. Log.> Entonces // Una instruccin
<Instruccin 1> if (<Exp. Log.>)
<Instruccin 2> <Instruccin 1>;
Fin_Si // Varias instrucciones
if (<Exp. Log.>)
<Instruccin 1>;
<Instruccin n>;
}
Ejercicio 20
Dado como dato la calificacin de un alumno en un examen escriba
aprobado en caso que esa calificacin fuese mayor a 10.5
Inicio
Pseudocdigo
V
1. Iniciar programa
2. Declarar variables
nota: Real Aprobado
3. Leer nota
4. Si nota >10.5 Entonces
4.1. Imprimir Aprobado
5. Fin_Si Fin
6. Finalizar programa
Diagrama de flujo
Diseo
Estructura Selectiva (Simple y Doble) 83
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Alumno_aprobado
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Ejercicio 21
Estructura Selectiva (Simple y Doble) 84
Solucin:
Leer sueldo
Comprobar si el sueldo cumple con la condicin
Si cumple la condicin, realizar el aumento y reportar nuevo sueldo.
Pseudocdigo
1. Iniciar programa
2. Declarar variables
sueldo: Real
3. Leer sueldo
4. Si Sueldo <1000 Entonces
4.1. SUELDO= sueldo*1.17
4.2. Imprimir SUELDO
5. Fin_Si
6. Finalizar programa
Diagrama de flujo
Inicio
sueldo
sueldo<1000
V
F
SUELDO=sueldo*1.17
SUELDO
Fin
Diseo
Estructura Selectiva (Simple y Doble) 85
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Aumento_trabajador
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Instruccin 1 Instruccin 1
Alternativa
Instruccindoble
n nos permite tomar decisiones
Instruccin n en ambos sentencias, es
decir cuando la sentencia de comparacin sea verdadero o falso, cuan es
verdadero v se ejecuta una o ms accionesv y cuando es falso se ejecutan
acciones diferentes.
Si condicin entonces
Accin 1
Si no
Accin 2
Fin si (fin del condicional)
Dnde:
Accin 1: expresa la operacin o conjunto de operaciones si la
condicin resulta verdadera.
Sintaxis C#
Si <Exp. Log.> Entonces if(<Exp. Log.>){
<Instruccin 1>
}else{
<Instruccin n>
SiNo <Instruccin 1>;
<Instruccin 1> <Instruccin n>;
<Instruccin n> }
Fin_Si
Ejercicio 22
Estructura Selectiva (Simple y Doble) 87
Solucin
Comprobar si la nota es mayor a 10.5 Reportar Aprobado
Si no, Reportar Reprobado
Pseudocdigo
1. Iniciar programa
2. Declarar variables
nota: Real
3. Leer nota
4. Si nota >10.5 Entonces
4.1. Imprimir Aprobado
5. SiNo
5.1. Imprimir Reprobado
6. Fin_Si
7. Finalizarprograma
Diagrama de flujo
Inicio
nota
nota>10.5
Aprobado Reprobado
Inicio
Diseo
Estructura Selectiva (Simple y Doble) 88
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Alumno_aprobado_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
float nota;
nota = float.Parse(textBox1.Text);
if (nota > 10.5)
{
textBox2.Text = Convert.ToString(" Aprobado");
}
else
{
textBox2.Text = Convert.ToString(" Reprobado");
}
}
Ejercicio 23
Estructura Selectiva (Simple y Doble) 89
Solucin
Leer sueldo
Comprobar si el sueldo cumple
con la condicin
Si cumple la condicin,
incrementar el 17%
Si no, incrementar 12%
Pseudocdigo
1. Iniciar programa
2. Declarar variables
sueldo: Real
3. Leer sueldo
4. Si sueldo<1000 Entonces
4.1. SUELDO=sueldo*1.17
5. SiNo
5.1. SUELDO=sueldo*1.12
7. Fin_Si
8. Imprimir sueldo
9. Terminar programa
Diagrama de flujo
Inicio
sueldo
sueldo<1000
V F
SUELDO=sueldo*1.17
SUELDO=sueldo*1.12
SUELDO
Fin
Diseo
Estructura Selectiva (Simple y Doble) 90
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Aumento_trabajador_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
float sueldo;
double SUELDO;
sueldo = float.Parse(textBox1.Text);
if (sueldo < 1000)
{
SUELDO = sueldo * 1.17;
textBox2.Text = "17 %";
}
else
{
SUELDO = sueldo * 1.12;
textBox2.Text = "12 %";
}
textBox3.Text = Convert.ToString(SUELDO);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Estructura Selectiva (Simple y Doble) 91
EstructurasAnidadas
F V
Condicin
F V F
Condicin Condicin
V
Instruccin 1 Instruccin 1 Instruccin 1
Instruccin n Instruccin n Instruccin n
v v v
Sintaxis C#
Si <Exp. Log.> Entonces If (<Exp. Log. >){
Si <Exp. Log.> Entonces if (<Exp. Log. >){
<Instruccin 1> <Instruccin 1>;
<Instruccin n> <Instruccin n>;
Fin_Si }
SiNo } else {
Si <Exp. Log.> Entonces if (<Exp. Log. >){
<Instruccin 1> <Instruccin 1>;
<Instruccin n> <Instruccin n>;
SiNo } else {
<Instruccin 1> <Instruccin 1>;
<Instruccin n> <Instruccin n>;
Fin_Si }
SiNo }
Ejercicio 24
Estructura Selectiva (Simple y Doble) 92
Pseudocdigo
1. Iniciar programa
2. Declarar variables
nota: Real
3. Leer nota
4. Si nota>0y nota<=20 Entonces
4.1. Si nota >10.5 Entonces
4.2. Imprimir Aprobado
5. SiNo
5.1. Imprimir Reprobado
7. Fin_Si
8. SiNo
8.1. Imprimir Nota no vlida
8.2. Fin_Si
9. Finalizar programa
Diagrama de flujo
Inicio
nota
F
nota>0
V nota<=20
nota>10.5
Nota no vlida
V F
Aprobado Reprobado
Fin
Diseo
Estructura Selectiva (Simple y Doble) 93
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Validar_nota_aprobado_o_reprobado
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Ejercicio 25
Estructura Selectiva (Simple y Doble) 94
Dado un nmero entero positivo mayor que cero de cmo resultado si dicho
nmero es par o impar. El ejercicio requiere la validacin del dato de
entrada.
Solucin
Leer dato
Comprobar dato de entrada, si es nmero
entero positivo
Si dato es vlido, realizar la comprobacin para ver si es par
Si es par, reportar par
Si no, reportar impar
Si el dato no es vlido, fin de algoritmo
Pseudocdigo
1. Iniciar programa
2. Declarar variables
dato: Entero
3. Leer dato
4. Si Dato > 0 Entonces
4.1. Si (dato MOD 2)=0 Entonces
4.2. Imprimir El nmero es Par
5. SiNo
5.1. Imprimir El nmero es Impar
6. Fin_Si
7. Fin_Si
8. Finalizarprograma
Diagrama de flujo
Inicio
dato
F
dato>0
V
dato MOD
2=0
V F
Par Impar
Fin
Estructura Selectiva (Simple y Doble) 95
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Numero_par_o_impar
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
EJERCICIOS PROPUESTOS
Ejercicio 01
Enunciado: Halar la edad de una persona determinar si es mayor de edad
o menor de edad, considere que mayor de edad es mayor o
igual 18.
Ejercicio 02
Enunciado: Dado dos nmeros enteros, devolver el nmero menor.
Ejercicio 03
Enunciado: Dado dos nmeros determinar si son iguales o son diferentes.
Ejercicio 04
Enunciado: En la Universidad tiene como poltica considerar 3 notas en
cada curso la nota de trabajos T. La nota de medio ciclo M. y la
de fin de ciclo F. cada una tiene un peso de 50%, 20% y 30%
respectivamente. Un alumno es calificado segn lo siguiente.
Excelente Si su promedio est entre (16-20)
Bueno Si su promedio est entre (11-15)
Malo Si su promedio est entre (06-10)
Psimo Si su promedio est entre (00-05)
Ejercicio 05
Enunciado: Los trabajadores de una maderera tienen 3 turnos: maana,
tarde y noche. La tarifa de los turnos de maana y tarde y son
iguales, mientras de la noche son 30% mayores. Construya un
programa que lea nmero de horas laboradas por un
trabajador y la tarifa, calcule el salario semanal. Considere que
durante la semana el trabajador se encuentra siempre en el
mismo turno.
Ejercicio 06
Enunciado: Crear un programa que al ingresar 3 nmeros enteros,
devuelva los nmeros ordenado en forma ascendente y en
forma descendente.
Ejercicio 07
Enunciado: Despus de ingresar 4 notas, obtener el promedio de las tres
mejores notas y el mensaje aprobado si el promedio es mayor
o igual 11, caso contrario desaprobado
Ejercicio 08
Enunciado: Dado los siguientes datos de entrada: Saldo anterior, tipo de
movimiento R (retiro) o D (depsito) y monto de la transaccin,
obtener como dato de salida el saldo actual.
Ejercicio 09
Enunciado: Dado 2 nmeros enteros a y b, determinar cul es el mayor
con respecto al otro.
a es mayor que b
Estructura Selectiva (Simple y Doble) 97
b es mayor que a
a es igual b
ESTRUCTURA SELECTIVA
(MULTIPLE)
En los lenguajes de
programacin se cuenta con
una implementacin similar,
llamada estructura selectiva
mltiple que permite evaluar
varias alternativas y realizar el
proceso si cumple con la
condicin elegida.
CONTENIDO
Estructura de
seleccinmltiple
FUNDAMENTOS DE PROGRAMACIN
Estructura Selectiva (Mltiple) 99
Exp.
Valor1 V
F Instrucciones
Valor2
V
F Instrucciones
Valor3
V
Instrucciones
F
SINTAXIS C#
switch (<Exp.>)
En caso que <Exp.> Sea {
case Valor1:
Caso Valor1 <Instrucciones>;
<Instrucciones> break;
Caso Valor2 case Valor1:
<Instrucciones> <Instrucciones>;
Caso Valor3 break;
<Instrucciones> case Valor1:
Fin Caso <Instrucciones>;
break;
}
Estructura Selectiva (Mltiple) 100
Exp.
Valor1 V
F Instrucciones
Valor2
V
F Instrucciones
SiNo
Instrucciones
F
SINTAXIS C#
V
Exp. Log.
Instrucciones
F
V
Exp.
Instrucciones
F
V
Exp.
Instrucciones
F
Instrucciones
SINTAXIS C#
Si <Expr.Log.> Entonces if (<Exp.Log.>) {
<Intrucciones> <Instrucciones>;
SiNoSi <Expr.Log.> Entonces }else if (<Exp.Log.>){
<Intrucciones> <Instrucciones>;
SiNoSi <Expr.Log.> Entonces }else if (<Exp.Log.>){
<Intrucciones> <Instrucciones>;
SiNo }else {
<Intrucciones> <Instrucciones>;
Fin_Si }
Ejercicio 26
Estructura Selectiva (Mltiple) 102
Solucin:
Declarar variables
Leer NUM, v
Segn sea el caso de NUM, realizar accin correspondiente.
Pseudocdigo
1. Iniciar programa
2. Declarar variables
NUM, v: Entero
val: Real
3. Leer NUM, val
4. En Caso de NUM
4.1. Caso 1: calcular val=100*v
4.2. Caso 2: calcular val*100^v
4.3. Caso 3: calcular val*100/v
4.4. En otro caso: calcular val=0
5. Fin_Caso
5.1. Imprimir val
6. Finalizar programa
Diagrama de flujo
Inicio
NUM, v
En Caso NUM
1 2 3
Otro
val=100
val=100 /v val=0
val=100*v ^V
val
Fin
Diseo
Estructura Selectiva (Mltiple) 103
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Resolver_una_funcion
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int NUM;
double v, val;
NUM = int.Parse(textBox1.Text);
v = double.Parse(textBox2.Text);
switch (NUM)
{
case 1: val = 100 * v; break;
case 2: val = Math.Pow(100, v); break;
case 3: val = 100 / v; break;
default: val = 0; break;
}
textBox3.Text = Convert.ToString(val);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 27
Estructura Selectiva (Mltiple) 104
Categora Aumento
1 15 %
2 10 %
3 8%
4 6%
Solucin:
Declarar variables
Leer datos de la entrada
Segn sea el caso, realizar aumento correspondiente.
Reportar el aumento y la categora
Pseudocdigo
1. Iniciar programa
2. Declarar variables
cate: Entero
sueldo: Real
3. Leer cate
4. En Caso de cate
4.1. Caso 1: calcular SUELDO= sueldo*1.15
4.2. Caso 2: calcular SUELDO=sueldo*1.10
4.3. Caso 3: calcular SUELDO=sueldo*1.08
4.4. Caso 4: calcular SUELDO=sueldo*1.05
5. Fin_Caso (Fin del condicional del paso 3)
5.1. Imprimir CATE, SUELDO
6. Terminar programa
Diagrama de flujo
Inicio
cate, sueldo
Diseo
Fin
Estructura Selectiva (Mltiple) 105
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Aumento_segun_categoria
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int cate;
float sueldo;
double SUELDO=0;
sueldo = int.Parse(textBox1.Text);
cate = int.Parse(textBox2.Text);
switch (cate)
{
case 1: SUELDO = sueldo * 1.15;
textBox3.Text=Convert.ToString("1 [15%]");
break;
case 2: SUELDO = sueldo * 1.10;
textBox3.Text = Convert.ToString("2 [10%]");
break;
case 3: SUELDO = sueldo * 1.08;
textBox3.Text = Convert.ToString("3 [8%]");
break;
case 4: SUELDO = sueldo * 1.06;
textBox3.Text = Convert.ToString("4 [6%]");
break;
}
textBox4.Text = Convert.ToString(SUELDO);
}
}
}
Ejercicio 28
Estructura Selectiva (Mltiple) 106
Pseudocdigo
1. Iniciar programa
2. Declarar variables
n: Entero
t: Real
3. Leer n
4. Si n>0 Entonces
4.1. Calcular t=n/4+40
4.2. Imprimir Temperatura, t
5. Fin_Si
6. Finalizar programa
Diagrama de flujo
Inicio
F V
n>0
t=n/4+40
Fin
Diseo
Estructura Selectiva (Mltiple) 107
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Sonidos_de_un_grillo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Ejercicio 29
Estructura Selectiva (Mltiple) 108
Solucin:
Declarar variables
Comprobar si p y q satisfacen la expresin:
Si es satisfactorio mostrar p y q
Pseudocdigo
1. Iniciar programa
2. Declarar variables
p, q: Entero
exp: Real
3. Leer p, q
4. Calcular exp=p^3+q^4-2*P^2
Si exp<680 Entonces
Imprimir p, q
5. Fin_Si
6. Finalizar programa
Diagrama de flujo
Inicio
p, q
exp=pow(p,3)+pow(q,4)-2*pow(p,2)
exp=680
p, q
Fin
Diseo
Estructura Selectiva (Mltiple) 109
Codificacin en C#
using System;
using System.Windows.Forms;
namespace PQ_Expresion
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Escribir un programa que lea dos nmeros enteros por teclado y determine
cul es el mayor y el menor. Tambin deber considerar el caso en el que
los dos nmeros sean iguales.
Solucin:
Declarar variables
Leer nmeros
Comprobar cul es el mayor, o cul es el
menor
Mostrar resultados
Pseudocdigo
1. Iniciar programa
2. Declarar variables
a, b: Entero
3. Leer a,b
4. Si a<>b Entonces
4.1. Si a>b Entonces
4.2. Imprimir El mayor es a
El menor es b
4.2. SiNo
4.2.1. Imprimir El mayor es b
El menor es a
4.3. Fin_Si
5. SiNo
5.1. Imprimir Los nmeros son iguales
5.2. Fin_Si
6. Finalizar programa
Diagrama de flujo de datos
Incio
a, b
F V
a<>b
F V
Iguales
a>b
Mayorb Mayora
Menora Menorb
Diseo
Fin
Estructura Selectiva (Mltiple) 111
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Mayor_menor_igual
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Solucin:
Declarar variables
Leer nota
Calcular calificacin y reportar resultados
Pseudocdigo
1. Iniciar programa
2. Declarar variables
nota: Real
3. Leer nota
4. Si nota>=0 y nota<=4.99 Entonces
4.1. Imprimir Suspenso
5. SiNo
5.1. Si nota>=5 y Nota<=6.99 Entonces
5.1.1. Imprimir Aprobado
5.2.-SiNo
5.2.1. Si nota>=7 ynota<=8.99 Entonces
5.2.1.1. Imprimir Notable
5.2.2. SiNo
5.2.2.1. Si nota>=9 ynota<=9.99 Entonces
5.2.2.1.1. Imprimir Sobresaliente
5.2.2.2. SiNo
5.2.2.2.1. Si nota es =10 Entonces
5.2.2.2.1.1. Imprimir Matrcula de honor
5.2.2.2.2. Fin_Si
52.2.3. Fin_Si
5.2.3. Fin_Si
5.3. Fin_Si
6. Fin_Si
7. Finalizarprograma
Estructura Selectiva (Mltiple) 113
Diagrama de flujo
Inicio
nota
F 0>=nota<=4.99
V
F 5>=nota<=6.99 Suspenso
V
F 7>=nota<=8.99 Aprobado
F 9>=nota<=9.99 Notable
V
Nota=10
Sobresaliente
V
F Matrcula de honor
Fin
Diseo
Estructura Selectiva (Mltiple) 114
Codificacin en C#
using System;
using System.Windows.Forms;
namespace calificacion_segun_rango
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
float nota;
nota = float.Parse(textBox1.Text);
if (nota >= 0 & nota <= 4.99)
textBox2.Text = Convert.ToString("Suspenso");
else
if (nota >= 5 & nota <= 6.99)
textBox2.Text = Convert.ToString("Aprobado");
else
if (nota >= 7 & nota <= 8.99)
textBox2.Text = Convert.ToString("Notable");
else
if (nota >= 9 & nota <= 9.99)
textBox2.Text =
Convert.ToString("Sobresaliente");
else
if (nota == 10)
textBox2.Text = Convert.ToString("Matrcula
de honor");
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 32
Estructura Selectiva (Mltiple) 115
Escribir un programa que lea tres nmeros enteros por teclado y emita un
mensaje indicando si estn o no ordenados crecientemente.
Solucin:
Declarar variables
Leer los nmeros ingresados
Procesar nmeros ingresados
Mostrar mensaje
Pseudocdigo
1. Iniciar programa
2. Declarar variables
a, b, c: Entero
3. Leer a, b, c
4. Si a<b y b<c Entonces
4.1. Imprimir Estn ordenados en forma creciente
5. SiNo
6. Imprimir No estn ordenados en forma creciente
7. Fin_Si
8. Finalizarprograma
Diagrama de flujo
Inicio
a, b, c
a<b
b<c
F V
Fin
Diseo
Estructura Selectiva (Mltiple) 116
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Ordenados_crecientemente
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int a, b, c;
a = int.Parse(textBox1.Text);
b = int.Parse(textBox2.Text);
c = int.Parse(textBox3.Text);
if (a < b && b < c)
{
textBox4.Text = Convert.ToString("Si ordenados en forma
creciente");
}
else
{
textBox4.Text = Convert.ToString("No ordenados en forma
creciente");
}
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 33
Estructura Selectiva (Mltiple) 117
Pseudocdigo
1. Iniciar programa
2. Declarar variables
Let1, let2, let3: Carcter
3. Leer let1, let2, let3
4. Si let1=let2=let3=let2=let3 Entonces
4.1. Imprimir Existe un par de caracteres iguales
5. Fin_Si
6. Finalizar programa
Diagrama de flujo
Inicio
Let1=Let2
Let1=Let3
Let2=let3 V
Ordenados en forma
F creciente
Fin
Diseo
Estructura Selectiva (Mltiple) 118
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Letras_iguales
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
char let1, let2, let3;
let1 = char.Parse(textBox1.Text);
let2 = char.Parse(textBox2.Text);
let3 = char.Parse(textBox3.Text);
if (let1 == let2 || let1 == let3 || let2 == let3)
{
textBox4.Text = Convert.ToString("Hay al menos dos
caracteres iguales");
}
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 34
Estructura Selectiva (Mltiple) 119
Realizar un programa que pida dos nmeros enteros por teclado y muestre
por pantalla el siguiente men:
MENU
1. Sumar
2. Restar
3. Multiplicar
Solucin
Declarar variables
Leer nmeros
Mostrar men
Leer opcin
Segn la opcin ingresada, realizar operacin
Mostrar resultado
Pseudocdigo
1. Iniciar programa
2. Declarar variables
a, b, opcin: Entero
r: Real
3. Leer a, b
4. Escribir Men
4.1. Sumar
4.2. Restar
4.3. Multiplicar
4.4. Dividir
Elija opcin
5. Leer Opcin
6. Leer a, b
7. En caso de opcin
7.1. Caso1: r=a+b
7.2. Caso2: r=a-b
7.3. Caso3: r=a*b
5.4. Caso4: r=a/b
8. Fin_Caso
8.1.-Imprimir el resultado es r
9. Finalizar programa
Estructura Selectiva (Mltiple) 120
Diagrama de flujo
Inicio
a, b
MENU
1. SUMAR
2. RESTAR
3. MULTIPLICAR
4. DIVIDIR
Elija opcin
Opcin
opcin
1 2 3 4
r=a-b
r =a+b r=a*b r=a/b
Fin
Estructura Selectiva (Mltiple) 121
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Menu_de_operaciones
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
float a, b, r;
int opcion;
a = int.Parse(textBox1.Text);
b = int.Parse(textBox2.Text);
opcion = int.Parse(textBox3.Text);
switch (opcion)
{
case 1: r = a + b; break;
case 2: r = a - b; break;
case 3: r = a * b; break;
case 4: r = a / b; break;
default: r = 0; break;
}
textBox4.Text = Convert.ToString(r);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
AOS
Ejercicio 35 CATEGORIA
A 20 30
B 15 20
C 10 15
D 00 10
Estructura Selectiva (Mltiple) 122
Diagrama de flujo
Estructura Selectiva (Mltiple) 123
Inicio
TS, S
F
0<=TS<10 V
F 10<=TS<15,9 cate= D
9 V
F cate= C
15<=TS<20,9
V
20<=TS<30,9 cate= B
9 V
cate= A
cate
A B C
D
S, TS, CATE
Fin
Diseo
Estructura Selectiva (Mltiple) 124
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Aumento_trabajador_segun_categoria
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
float TS, S;
double s = 0;
string cate = "";
TS = float.Parse(textBox1.Text);
S = float.Parse(textBox2.Text);
textBox5.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 36
Construya un pseudocdigo tal que, dados como datos la matrcula y 5
calificaciones de un alumno, imprima la matricula, el promedio y la palabra
aprobado si el alumno tiene un promedio mayor o igual que 10.5; y la
palabra no aprobado en caso contrario.
Solucin:
Declarar variables
Leer notas
Eliminar la menor nota
Calcular promedio
Reportar resultado y estado del alumno
Pseudocdigo
1. Iniciar programa
2. Declarar variables
n1, n2.n3.n4, n5, menor, p: Real
matricula: Cadena de Caracteres
3. Leer n1, n2, n3, n4, n5
4. menor=n1
5. Si n2<menor Entonces
5.1. Hacer menor=n2
6. Sino
6.1. Si n3<menor Entonces
6.1.1. Hacer menor=n3
6.2. Sino
6.2.1. Si n4<menor Entonces
6.2.1.1. Hacer menor=n4
6.2.2. Sino
6.2.2.1. Si n5<menor Entonces
6.2.2.1.1. Hacer menor=n5
6.2.2.2. Fin_Si
6.2.3. Fin_Si
6.3. Fin_Si
7. Fin_Si
8. Calcular p=(n1+n2+n3+n4+n5-menor)/4
9. Imprimir Matrcula p
10. Si P>10.5 Entonces
10.1. Escribir Aprobado
11. Sino
11.1. Escribir Reprobado
Estructura Selectiva (Mltiple) 126
12. Fin_Si
13. Finalizarprograma
Diagrama de flujo
Inicio
menor=n1
F n2<menor V
V menor=n2
F n3<menor 99
menor=n3
n4<menor 99 V
F
menor=n3
n5<menor 99 V
menor=n3
p=(n1+n2+n3+n4+n5-menor)/4
matricula, p
p>=10.5
V
99
matricula, p
F
Diseo
Fin
Estructura Selectiva (Mltiple) 127
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Notas_promedio
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
float menor, p;
string matricula = (textBox1.Text);
int n1 = int.Parse(textBox2.Text);
int n2 = int.Parse(textBox3.Text);
int n3 = int.Parse(textBox4.Text);
int n4 = int.Parse(textBox5.Text);
int n5 = int.Parse(textBox6.Text);
menor = n1;
if (n2 < menor)
menor = n2;
else
if (n3 < menor)
menor = n3;
else
if (n4 < menor)
menor = n4;
Estructura Selectiva (Mltiple) 128
else
if (n5 < menor)
menor = n5;
p = (n1 + n2 + n3 + n4 + n5 - menor) / 4;
textBox7.Text = Convert.ToString(matricula);
textBox8.Text = Convert.ToString(p);
if (p >= 10.5)
textBox9.Text = Convert.ToString("Aprobado");
else
textBox9.Text = Convert.ToString("No aprobado");
Ejercicio 37
Disee un algoritmo que permita analizarla validez de una fecha
considerando que ao vlido sea mayor a 1800.
Estructura Selectiva (Mltiple) 129
Solucin:
Declarar variables
Leer fecha
Obtener nmero mximo de das que contiene los meses del ao
Pseudocdigo:
1. Iniciar programa Inicio
2. Declarar variables
dd, mm, aa nDias: dd, mm, aa
Entero
3. Leer dd,mm, aa
4. En Caso de mm
4.1 Caso 1: ndas=31 mm
4.2 Caso 2:
4.2.1. SI (aa1 2Mod3 4 54=0
6 7 8y 9aa
10 11
MOD 400=0) 0 (aa Mod
400=0) Entonces 12
ndas=31
4.2.1.1. Hacer ndias=29. ndas=31
4.2.2. SiNo
(aa%4=0 4.2.2.1. Hacer ndas=28 ndas=30
4.3. Caso
aa%400=0) o 3: ndas=31
aa%400=0
4.4. Caso 3: ndas=30 ndas=31
F 4.5. Caso
V 3: ndas=31
4.6. Caso 3: ndas=30
ndas=29 ndas=30
4.7. Caso 3: ndas=31
ndas=28
4.8. Caso 3: ndas=31
ndas=31
4.9. Caso 3: ndas=30
4.10. Caso 3: ndas=31
ndas=31 ndas=31
4.11. Caso 3: ndas=30
4.12. Caso 3: ndas=31
ndas=30
5. Fin_Caso
6. Si AA>1800 y (MM>0 y MM<=12) y (DD<=NDas)
ndas=31
6.1 Imprimir fecha Vlida
7. SiNo
Ndas=30
7.1 Imprimir fecha no vlida
8. Fin_Si
9. Finalizar programa
aa>1800 y (mm>0 y V
Diagrama de flujo
mm<=12) y (dd>0 y
dd<=ndas)
F Vlida
Invlida
Fin
Estructura Selectiva (Mltiple) 130
Diseo
Estructura Selectiva (Mltiple) 131
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Validar_fecha
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
switch (mm)
{
case 1: ndias = 31; break;
case 2: if ((aa % 4 == 0 && aa % 100 != 0) || (aa % 400 ==
0))
ndias = 29;
else
ndias = 28;
break;
case 3: ndias = 31; break;
case 4: ndias = 31; break;
case 5: ndias = 30; break;
case 6: ndias = 31; break;
case 7: ndias = 30; break;
case 8: ndias = 31; break;
case 9: ndias = 30; break;
case 10: ndias = 31; break;
case 11: ndias = 30; break;
case 12: ndias = 31; break;
Estructura Selectiva (Mltiple) 132
if (aa > 1800 && (mm <= 12) && (dd > 0 && dd <= ndias))
textBox4.Text=Convert.ToString("Fecha vlida");
else
textBox4.Text = Convert.ToString("Fecha no vlida");
}
Ejercicio 38
Estructura Selectiva (Mltiple) 133
Pseudocdigo Inicio
1. Iniciar programa
2. Declarar variables dd, mm, aa
dd, mm, aa: Entero
3. Leer dd, mm, aa
4. E n caso de mm
4.1. Caso 1: ndas=31 mm
4.2. Caso 2: 1 2 3 4 5 6 7 8 9 10 11 12
4.2.1. Si (aa Mod 4=0 y aa MOD 400=0) 0 (aa Mod
ndas=31 400=0) Entonces
4. 2.1.1. Hacer ndias=29. ndas=31
4.2.2. SiNo
(aa%4=0 4.2.2.1. Hacer ndas=28 ndas=30
4.3. Caso 3: ndas=31
aa%400=0) o
4.4.aa%400=0
Caso 3: ndas=30
F 4.5. Caso 3: ndas=31 ndas=31
V
4.6.ndas=29
Caso 3: ndas=30
ndas=30
4.7. Caso 3: ndas=31
4.8.ndas=28
Caso 3: ndas=31
4.9. Caso 3: ndas=30 ndas=31
4.10. Caso 3: ndas=31
ndas=31
4.11. Caso 3: ndas=30 ndas=31
4.12. Caso 3: ndas=31
5. Fin_Caso ndas=30
6. dd=dd+1
7. Si DD>ndas Entonces
ndas=31
7.1 Calcular dd=1
mm=mm+1
ndas=30
7.2 Si mm>12 Entonces
7.2.1. Calcular mm=1
aa=aa+1
7.3 Fin_Si
8. Fin_Si
ndas=30
9. Escribir da siguiente es: dd, mm,aa
10. Finalizar el programa
dd=1 dd=1
dd>Ndas mm=mm+1 dd>ndas mm=mm+1
V V
Diagrama de flujo
F
Invlida
Fin
Estructura Selectiva (Mltiple) 134
Diseo
Estructura Selectiva (Mltiple) 135
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Dia_siguiente
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
switch (mm)
{
case 1: ndias = 31; break;
case 2: if((aa % 4 == 0 && aa % 100 != 0) || (aa % 400 ==
0))
ndias = 29;
else
ndias = 28;
break;
case 3: ndias = 31; break;
case 4: ndias = 31; break;
case 5: ndias = 30; break;
case 6: ndias = 31; break;
case 7: ndias = 30; break;
case 8: ndias = 31; break;
case 9: ndias = 30; break;
case 10: ndias = 31; break;
case 11: ndias = 30; break;
case 12: ndias = 31; break;
}
Estructura Selectiva (Mltiple) 136
dd = dd + 1;
if (dd > ndias)
{
dd = 1;
mm = mm + 1;
if (mm > 12)
{
mm = 1;
aa = aa + 1;
}
}
textBox4.Text=Convert.ToString(dd + "/" + mm + "/" + aa);
}
Ejercicio 39
Disee un algoritmo que dado una fecha, se calcule el nmero de das que
han transcurrido desde el nico del ao. Considere que la fecha ingresada
es vlida:
Solucin:
Declarar variables
Leer fecha
Calcular los das del mes de febrero
Calcular das transcurridos segn sea el mes ingresado
Imprimir el nmero de das transcurridos
Pseudocdigo
Estructura Selectiva (Mltiple) 137
1. Iniciar programa
2. Declarar variables
dd, mm, aa: Entero
aux, suma: Entero
3. Leer dd, mm, aa
4. Si (aa Mod 4=0 Y aa MOD 400=0) O (aa Mod 400=0)
4.1. Hacer aux=29
5. SiNo
5.1. Hacer aux=28
6. Fin_Si
7. En Caso de mm
7.1. Suma=dd
7.2. Caso2: suma=dd+31
7.3. Caso3: suma=aux+dd+31
7.4. Caso4: suma=aux+dd+62
7.5. Caso5: suma=aux+dd+92
7.6. Caso6: suma=aux+dd+123
7.7. Caso7: suma=aux+dd+153
7.8. Caso8: suma=aux+dd+184
7.9. Caso9: suma=aux+dd+215
7.10. Caso10: suma=aux+dd+245
7.11. Caso11: suma=aux+dd+276
7.12. Caso12: suma=aux+dd+306
8. Fin_Caso
9. Imprimir los das transcurridos son, suma
10. Finalizar programa
Diagrama de flujo
Estructura Selectiva (Mltiple) 138
Inicio
dd, mm, aa
(aa%4=0 y aa%400) o
F aa%400=0 V
ndas=29
ndas=28
mm
1 2 3 4 5 6 7 8 9 10 11 12
suma=aux+dd+306
suma=dd
suma=dd+31 suma=aux+dd+276
suma=aux+dd+31 suma=aux+dd+245
suma=aux+dd62 suma=aux+dd+215
suma=aux+dd+92 suma=aux+dd+184
suma=aux+dd+123 suma=aux+dd+153
suma
Fin
Diseo
Estructura Selectiva (Mltiple) 139
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Dias_transcurridos
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
textBox4.Text=Convert.ToString(suma+" das");
}
EJERCICIOS PROPUESTOS
Ejercicio 01
Estructura Selectiva (Mltiple) 141
Ejercicio 02
Enunciado: Lea un nmero del 1 al 7 y devuelva el da de la semana,
considere que 1 es domingo.
Ejercicio 03
Enunciado: Dado los siguientes operadores aritmticos +, -, *, y /,
devuelva el nombre del operador.
Ejercicio 04
Enunciado: Dado un nmero de un canal de televisin, determine cul es
el nombre del canal.
Ejercicio 05
Enunciado: En la empresa System Data se ha determinado la siguiente
poltica de descuento.
Sex
o HOMBRES MUJERES
Tarjeta
Obrero 20% 15%
Empleado 30% 25%
Ejercicio 06
Enunciado: Una frutera ofrece las manzanas con descuento segn la
siguiente tabla:
Kilos % Descuento
00 al 04 0%
05 al 10 5%
11 al 15 10%
16 al 20 15%
21 al 25 20%
26 al 30 25%
Determinar cunto pagar una persona que compre mangos en esa frutera
ESTRUCTURAS REPETITIVAS
Fundamentos de Programacin
Estructura Repetitivas 143
ESTRUCTURA MIENTRAS
Introduccin
Muchas veces se requiere repetir una o varias instrucciones para llevase a
cabo una tarea, en la programacin se cuenta con estructuras que periten
realizar este proceso, llamados tambin bucles.
bucle
Pseudocdigo
Salir C#
Estructura Repetitivas 144
break;
Continuar al inicio del bucle: Es una instruccin que permite saltar al
inicio del bucle para volver a ejecutarse, para esto los lenguajes de
programacin incorporan una instruccin que permita realizar dicha
operacin.
Pseudocdigo C#
Continuar continue;
Exp. Lgica
F
V
Instruccin 1
Instruccin n
intaxis C#
Ejercicio 40
Construya un algoritmo que dado como datos los sueldos de 10
trabajadores de una empresa, obtenga el total de nmina de la misma;
considere dems que no puede utilizar estructuras lgicas repetitivas en la
solucin del problema:
Solucin:
Declara variable
Leer sueldos
Calcular la nmina
Mostrar la nmina
Pseudocdigo
1. Iniciar programa
2. Declarar variables
sue1, sue2, sue3, sue4, sue5: entero
sue6, sue7, sue8, sue9, sue10: entero
nomina: Real
3. Leer sue1, sue2, sue3, sue4, sue5
sue6, sue7, sue8, sue9, sue10
4. Calcular nomina= sue1+ sue2+ sue3+ sue4+
sue5+sue6+sue7+sue8+ sue9+ sue10
5. Imprimir el total de la nmina es nomina
6. Finalizar programa
Diagrama de flujo
Inicio
suma
Fin
Estructura Repetitivas 146
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Sueldo_10_trab
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
sue1 = int.Parse(textBox1.Text);
sue2 = int.Parse(textBox2.Text);
sue3 = int.Parse(textBox3.Text);
sue4 = int.Parse(textBox4.Text);
sue5 = int.Parse(textBox5.Text);
sue6 = int.Parse(textBox6.Text);
sue7 = int.Parse(textBox7.Text);
sue8 = int.Parse(textBox8.Text);
sue9 = int.Parse(textBox9.Text);
sue10 = int.Parse(textBox10.Text);
Estructura Repetitivas 147
Ejercicio 41
Escriba un pseudocdigo que dados como datos n nmeros enteros,
obtenga el nmero de ceros que hay entre estos nmeros:
Solucin:
Declarar variables
Leer cantidad de nmeros a leer
Hacer
Comprobar si el nmero ledo es cero, de ser as agregar una unidad
al contador de ceros
Mientras no se cumplan el total de nmero ledo.
Mostrar cantidad de nmeros ledos
Pseudocdigo
1. Iniciar programa
2. Declarar variables
i, contador de ceros, n, num: Entero
3. Hacer i=0
Contador de ceros=0
4. Leer n
5. Repetir
5.1. Leer num
5.2. Si num=0 Entonces
5.2.1.Hacer contador de ceros=contadordeceros+1
Estructura Repetitivas 148
5.3. Fin_Si
5.4. Calcular i=i+1
6. Hasta que i=n
7. Imprimir contador de ceros
8. Finalizarprograma
Diagrama de flujo
Inicio
i=0
contadordeceros= 0
num
num=0
V
F
V
contadordeceros=contadordeceros+1
i=i+1
i <n
contador de ceros
Fin
Estructura Repetitivas 149
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Cantidad_de_ceros
{
public partial class Form1 : Form
{
int i, contadorceros, n, num; // Declaramos las variables
public Form1()
{
InitializeComponent();
//Inicializamos las variables
i = 1;
contadorceros = 0;
}
}
i = i + 1;
label3.Text = "Nm. " + i + ":";
textBox2.Clear();
}
F
Exp. Lgica
F
Exp. Lgica
V
Instruccin 1
Instruccin n
Sintaxis C#
Mientras Exp. Lgica
Mientras Exp. Lgica While (<Exp. Log.>) {
Instruccin 1 While (<Exp. Log.>)
Instruccin n {
Fin mientras Instruccin 1>;
Fin mientras Instruccin n>;
}
}
Estructura Repetitivas 152
Ejercicio 42
Supongamos que debemos obtener la suma de los gastos que hicimos en
nuestro ltimo viaje, pero no sabemos exactamente cuntos fueron.
Nota: se termina el proceso cuando gasto es igual a -1
Solucin:
Declarar variables
Inicializar acumulador de gastos
Leer primer gasto
Mientras gasto sea vlido
Incrementar acumulador con el valor de gasto
Leer nuevo gasto
Reportar total de gastos
Pseudocdigo
1. Iniciar programa
2. Declarar Variables
sumagas, gasto: Real
3. Hacer sumagas=0
4. Leer gasto
5. Mientras gasto<> -1
5.1. Calcular sumagas+=gasto
5.2. Leer gasto
6. Fin del mientras
7. Escribir sumagas
8. Finalizar programa
Diagrama de flujo
Inicio
sumagas= 0
gasto
gasto<> -1
V
sumagas+= gasto F
gasto
sumagas
Fin
Estructura Repetitivas 153
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Suma_de_gastos
{
public partial class Form1 : Form
{
float sumagas, gasto;
int i;
public Form1()
{
InitializeComponent();
sumagas = 0;
i = 1;
}
if (gasto == -1)
{
groupBox1.Enabled = false;
}
else
{
i++;
label2.Text = "Gasto " + i +":";
textBox1.Clear();
}
}
Ejercicio 43
Determine la cantidad semanal de dinero que recibira cada uno de los N
obreros de una empresa . Se sabe que cuando las horas que trabaj un
obrero exceden de 40, el resto se convierte en horas extras que se pagan el
doble de una hora normal , cuando no excenden de 8; cuando las horas
extras exceden de 8 se pagan las primeras 8 al doble de lo que se paga por
una hora normal y el resto al triple ; considere que todos los obreros ganane
mismo sueldo($200)
Solucion:
Declarar variables y constantes
Hacer
Leer numero de horas trabajadas
Dependiendo del numero total de horas trabajadas calcular el sueldo
final
Mostrar sueldo
Mientras variable de condicion des falsa
Pseudocdigo
1. Iniciar programa
2. Declarar variables
c, p: Real
nh,sh: Real
3. Hacer total=0
Hacer sh=sueldo /40
4. Leer c, p
5. Mientras (nh>40)
total=sueldo
5.1. Mientras (nh-40)>8
5.2. Calcular total=sueldo+(sh*2*(nh-48)
6. SiNo
6.1. Calcular total=sueldo+(sh*2*(nh-40)
6.2. Fin_Si
Estructura Repetitivas 155
6. Imprimir total
7. Finalizar programa
Diagrama de flujo
Inicio
total= 0;
sh=sueldo/40
c, p
F
nh>40 V
total=sueldo
(nh=40)<8
F V
total
r = s
Fin
Estructura Repetitivas 156
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Sueldo_200
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
nh = float.Parse(textBox1.Text);
if (nh > 40)
if ((nh - 40) > 8) // si horas extras son mayores a 8
total = sueldo + (sh * 16) + (sh * 3 * (nh - 48));
else
total = sueldo + (sh * 2 * (nh - 40));
else
total = sueldo; // predeterminado porque exceden de 40
textBox2.Text=Convert.ToString(total);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
Estructura Repetitivas 157
Ejercicio 44
Calcular la siguiente suma: 100 + 98 + 96 + 94 + + 0 en este orden:
Solucion:
Declarar variables y constantes
Inicializar variables
Hacer
Calcular suma y decermentar el numero en dos unidaddes
Mientras numero sea mayor que cero
Mostrar suma
Pseudocdigo
1. Iniciar programa
2. Declarar variables
n,s: Real
3. Hacer n=100, s=0
4. Leer n, s
5. Mientras n>0
5.1. Calcular s=s+n
Calcular n=n-2
6. Fin del mientras
7. Imprimir s
8. Finalizar programa
Diagrama de flujo
Inicio
n=100
s=s+n
V n=n+n-2
n>0
F
s
Fin
Estructura Repetitivas 158
Diseo
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Calculo_serie_100
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
float s, n;
n = 100;
s = 0;
do
{
s += n;
n -= 2;
}
while (n > 0);
textBox1.Text=Convert.ToString(s);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
}
Ejercicio 45
Construya un pseudocodigo que calcule e imprima la suma de los N
primeros nmeros naturales.
Solucin:
Declarar variables
Leer primer numero
Mientras numero sea valido
Acumular numero
Leer nuevo nmero
Mostrar suma de los n primeros nmeros
Pseudocdigo
1. Iniciar programa
2. Declarar variables
i, n, suma: Real
3. Hacer i=1 y suma=0
4. Leer n
5. Mientras i<=n
5.1. Calcular suma=suma+i
i=i+1
6. Fin _Mientras
7. Imprimir suma
8. Finalizar programa
Diagrama de flujo
Inicio
i=1
suma=0
i<=n
V F
suma=suma+1
i=i+1
suma
Diseo
Fin
Estructura Repetitivas 160
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Suma_n_naturales
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int i, n, suma;
i = 1;
suma = 0;
n = int.Parse(textBox1.Text);
textBox3.Text = "0";
while (i <= n)
{
textBox3.Text += " + " + i;
suma += i;
i++;
}
textBox3.Text += " = " + suma;
textBox2.Text=Convert.ToString(suma);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 46
Estructura Repetitivas 161
Pseudocdigo
1. Iniciar programa
2. Declarar variables
i: Enteros
nota, sumcal: Real
3. Hacer i=0
sumcal=0
4. Leer NOTA
5. Mientras (NOTA>=0)
5.1. Calcular sumcal=sumcal + nota
i=i+1
5.2. Leer nota
6. Fin _Mientras
7. Escribir sumcal/i
8. Finalizar programa
Diagrama de flujo
Inicio
i=0
sumcal=0
nota
nota>=0
V
sumcal=sumcal+nota
i=i+1
F
nota
sumcal/1
Fin
Diseo
Estructura Repetitivas 162
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Promedio_calificacionees
{
public partial class Form1 : Form
{
float i, nota, sumcal;
public Form1()
{
InitializeComponent();
i = 0;
sumcal = 0;
}
private void button1_Click(object sender, EventArgs e)
{
nota = float.Parse(textBox1.Text);
if (nota < 0)
{
groupBox1.Enabled = false;
return;
}
sumcal += nota;
i++;
textBox1.Clear();
label2.Text = "Nota " + (i + 1) + ":";
}
private void button2_Click(object sender, EventArgs e)
{
textBox2.Text = Convert.ToString(sumcal / i);
}
private void button3_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
i=0;
sumacal=0;
groupBox1.Enabled = true;
label2.Text = "Nota 1:";
}
private void button4_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 47
Estructura Repetitivas 163
Solucin:
Declarar variables
Inicializar contadores y acumuladores
Mientras contador sea menor a 270
Leer numero
Si el numero es par , sumar numeros pares
Si el nmero es impar, sumar impares y contabilizar los nmeros
impares
Si el nmero es cero, contabilizar cuantos ceros se ingresan.
Calcular promedio de numeros impares
Resportar promedio de nmero de impares, suma nmero pares y la
cantidad
Pseudocdigo
1. Iniciar programa
2. Declarar variables
sumpar, sumimpar, proimpar: Enteros
conimpar, conceros, i, num: Real
3. Hacer i=0
sumpar=0
sumimp=0
conceros=0
conimpar=0
4. Mientras i< 270
4.1. Leer num
4.2. (Si num<> 0) Entonces
4.2.1. Si (-1 num)>0 Entonces
4.2.1.1. Calcular sumpar=sumpar+num
4.2.2.-Sino
4.2.2.1. Calcular conimpar=conimpar+1
sumipar=sumimpar+num
4.2.3. Fin_Si
4.3.- Sino
4.3.1. Calcular conceros=conceros+1
4.4. Fin_Si
4.5. Calcular i=i+1
5. Fin_Mientras
6. Calcular proimpar=sumimpar/conimpar
7. Imprimir proimpar, sumpar, conceros
8. Finalizar programa
Diagrama de flujo
Estructura Repetitivas 164
Inicio
i=0
sumpar=0
sumimp=0
conceros=0
conimpar=0
i <270 F
num
num <> 0 V
F
conceros=conceros+1
num <> 0
V
conimpar=conimpar+1
sumipar=sumimpar+num sunpar=suma+num
F
Fin
Diseo
Estructura Repetitivas 165
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Operacion_con_pares_e_impares
{
public partial class Form1 : Form
{
float sumpar, sumimpar, conimpar, conceros, i, num;
public Form1()
{
InitializeComponent();
i = 0;
sumpar = 0;
sumimpar = 0;
conceros = 0;
conimpar = 0;
}
if (i < 270)
{
label2.Text = "Nmero " + (i + 1) + ":";
textBox1.Clear();
}
else
{
groupBox1.Enabled = false;
return;
}
}
Ejercicio 48
Hacer un pseudocodigo para obtener la tabla de multiplicar de un numero
entero k, comenzando desde 1.
Estructura Repetitivas 167
Solucin:
Declarar variables
Inicializar contador
Ller el valor de K
Mientra el contador sea menor a k
Leer numero
Calcular tabla de multiplicar
Imprimir tabla
Pseudocdigo
1. Iniciar programa
2. Declarar variables
k, i: Enteros
mul: Real
3. Hacer i=1
sumcal=0
4. Leer nota
5. Mientras (nota>=0)
5.1. Calcular sumcal=sumcal+nota
i=i+1 Inicio
5.2. Leer nota
6. Fin _Mientras
7. Imprimir sumcal/i i=0
8. Finalizar programa sumcal=0
nota
nota>=0
sumcal=sumcal+nota
i=i+1
F
nota
Diagrama de flujo
sumcal/1
Fin
Estructura Repetitivas 168
Diseo
Estructura Repetitivas 169
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Tabla_de_multiplicar
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
PROBLEMAS PROPUESTOS
Estructura Repetitivas 170
Ejercicio 01
Enunciado: Obtener factorial de un nmero, recuerde que el factorial de
un nmero es el producto de 1x2x3xxn.
Ejercicio 02
Enunciado: Dado de un rango de nmeros enteros, obtener la cantidad de
nmeros naturales mltiplos de 3.
Ejercicio 03
Enunciado: Enunciado: Dado un nmero, determinar cuntos dgitos 0
contiene.
Ejercicio 04
Enunciado: Enunciado: Se requiere saber si existe un determinado dgito
en unos nmeros dado.
Ejercicio 05
Enunciado: Enunciado: Dado un rango de nmeros determine cuantos
nmeros primos contiene.
Ejercicio 06
Enunciado: Dado un rango de nmeros determine cuantos nmeros
capica hay.
Ejercicio 07
Enunciado: Dado 3 nmeros obtener el MCD (Mximo comn divisor),
utilice el mtodo Euclides (divisiones sucesivas).
Ejercicio 08
Enunciado: Dado 3 nmeros obtener el MCD (Mximo comn divisor),
utilice el mtodo de factorizacin simultnea.
Estructura Repetitivas 171
Proceso
Sintaxis C#
Para i vi Hasta vf Inc +1 for(i=vi;i<vf;i++)
Instrucciones {
Fin Para <Instrucciones>;
}
Solucin:
Declarar variables
Inicializar acumulador
Desde 1=1 hasta 20 hacer
Acumulador el valor de 1
Reporta sumatoria
Pseudocdigo
1. Iniciar programa
2. Declarar variables
i: Enteros
s: Real
3. Hacer s=0
4. Desde i=1 Hasta 20 inc i=i+1 Hacer
4.1. S=S+I
5. Fin _Desde
6. Imprimir s
7. Finalizar
Diagrama de flujo
Inicio
s=s+i
Fin
Diseo
Estructura Repetitivas 173
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Suma_20
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Ejercicio 50
Estructura Repetitivas 174
Pseudocdigo:
1-Iniciar programa
2.-Declarar variables
n, c, i: Enteros
3. Leer n
4.-Hacer c=0
5.-Desde i=1 Hasta n Hacer
5.1. Si (n Mod I)=0 Entonces
5.1.1. Calcular c=c+1
5.2. Fin_Si
6. Fin_Desde
7. Si c<=2 Entonces
7.1. Imprimir es primo
8. Sino
8.1. Imprimir no es primo
9. Fin_Si
10. Finalizar Programa
Diagrama de flujo
Inicio
i=1 hasta n
(n mod i)=0
F V
c=c+1
F c<=2
no es primo es primo
Diseo
Fin
Estructura Repetitivas 175
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Numero_primo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
if (c == 2)
textBox2.Text="Es primo";
else
textBox2.Text="No es primo";
}
Pseudocdigo:
1. Iniciar programa
2. Declarar variables
NOMBRE: Cadena de caracteres
sum, mayor, sueldo: Real
3. Hacer sum=0
mayor=0
4. Desde i =1 Hasta 10 Hacer
4.1. Leer nombre, edad, sueldo
4.2. Calcular sum=sum+sueldo
4.3. Si sueldo> mayor Entonces
4.3.1. Hacer mayor=Sueldo
4.4. Fin_Si
5. Fin_Desde
6. Imprimir El promedio es: (sum/10)
El mayor de los sueldos es: mayor
7. Finalizar programa
Diagrama de flujo
Inicio
sum=0
mayor=0
i=1 hasta 10
sueldo
suma=suma+sueldo
F
sueldo>mayor
mayor=sueldo
(sum/10)mayor
Fin
Diseo
Estructura Repetitivas 177
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Sueldo_10_trabajadores
{
public partial class Form1 : Form
{
float sum, mayor, sueldo;
int i;
public Form1()
{
InitializeComponent();
sum = 0;
mayor = 0;
i = 0;
}
Ejercicio 52
Hallar cuantos terminos hay en la progresion aritmetica mostrada a
continuacion ; tambien halle la suma de los terminos: 5, 8, 11, 14, 17, 20,
23, ... n
Solucion:
Estructura Repetitivas 179
Decarar variable
Inicializar acumuladores
Leer ltimo trmino
Desde I=5 hasta N INC I=I+3 hacer
Acumular el valor de la progresion dado por I
Aumentar contador de la cantidad de numero sumandos
Pseudocdigo:
1. Iniciar programa
2. Declarar variables
Suma, n, i, c: Entero
3. Hacer c=0
suma=0
4. Leer n
5. Desde i=5 hasta n inc i=i+3
5.1. suma=suma +i
5.2. c=c+1
6. Fin_Desde
7. Escribir el nmero de trminos: n
La suma de los trminos es: suma
8. Finalizar programa
Diagrama de flujo
Inicio
c=0 suma=0
suma=suma+1
c=c+1
suma,c
Diseo
Fin
Estructura Repetitivas 180
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Suma_progresion
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int suma, n, c;
c = 0;
suma = 0;
n = int.Parse(textBox1.Text);
Ejercicio 53
Halle el nmero de terminos para la progresion siguiente: 1,2,4,8,16,
hasta 1000
Solucion
Declarar variable
Inicializar contador
Estructura Repetitivas 181
Pseudocdigo
1. Iniciar programa
2. Declarar variables
i, c: Entero
3. Hacer c=0
4. Desde i=1 Hasta 1000 inc i=i*2
4.1. c=c+1
5. Fin_Desde
6. Imprimir el nmero de trminos: c
7. Finalizar programa
Diagrama de flujo
Inicio
c=0
c=c+1
Fin
Diseo
Estructura Repetitivas 182
Codificacin en C#
using System;
using System.Windows.Forms;
namespace Numero_de_terminos
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
EJERCICIOS PROPUESTOS
Estructura Repetitivas 183
Ejercicio 01
Enunciado: Calcule la suma de los cuadrados y cubos de los N primeros
nmeros naturales.
Ejercicio 02
Enunciado: Obtener la suma y la cantidad de los nmeros divisibles por 2
y 3 a la vez, de los N primeros nmeros naturales.
Ejercicio 03
Enunciado: Dado un nmero rango numrico entero positivo a y b, obtener
la suma y la cantidad de los nmeros pares, impares y mltiplos
de 3.
Ejercicio 04
Enunciado: Dado un rango de nmeros determine cuntos nmeros
capica existe.
Ejercicio 05
Enunciado: Calcule de cuantas formas se pueden ordenar n objetos.
Ejercicio 06
Enunciado: Obtenga la cantidad de los nmeros primos de n cifras.
Ejercicio 07
Enunciado: Obtenga la cantidad de los nmeros capicas de n cifras.
Estructura Repetitivas 184
BIBLIOGRAFA
}
Estructura Repetitivas 185
FUNDAMENTOS DE
PROGRAMACIN CON