Sunteți pe pagina 1din 15

Fundamentos de programacin en C#.

NET

Instrucciones secuenciales
Entrada de datos.- Permiten que el
usuario introduzca datos al programa.

Unidad 1 Repaso:
Fundamentos de programacin en
C# usando Windows Forms

Salida de datos.- Permiten mostrar datos y mensajes


al usuario.

Operaciones matemticas.- Permiten realizar


clculos matemticos.
Ing. Ramn Roque Hdz., M.C.
www.ramonroque.info

Conversiones.- Permiten realizar conversiones entre


diferentes tipos de datos (Ejemplo: De string a int).

5
string

5
int

Implementacin de las instrucciones secuenciales en


diagramas de flujo y C#

Tipos de instrucciones bsicas en los programas


Instrucciones secuenciales

Entrada de datos
Salida de datos
Operaciones matemticas
Conversiones entre tipos de datos

Inicio
string a;
a = txtNombre.Text;
Fin
Tambin:

Leer a

Instrucciones condicionales
Decisiones (Si) - IF .. ELSE
Decisiones entre mltiples valores
seleccin: SWITCH .. CASE

txtNombre.Text = a;

Instrucciones de iteracin (de repeticin)

MessageBox.Show( El valor de a es: + a);

Ciclos FOR
Ciclos WHILE, DO WHILE

Tambin:

Imprimir
a

Fundamentos de programacin en C#.NET

Algunos tipos de datos


Tipo de dato

Significado

Ejemplo de dato

int

Valor Entero

100

double

Valor con punto


decimal

150.45

char

Un solo caracter

string

Cadena de
caracteres

Juan

bool

Lgico, booleano

True (Verdadero)
o False (Falso)

Identificadores

Declaracin de Variables

Un identificador le da nombre nico a un elemento en un programa


(Variables, procedimientos, etc.).

No puede contener operadores como + - * /


Debe iniciar con letra o el subguin ( _ )
Puede tener cualquier longitud
Puede contener maysculas y minsculas
En un identificador s se hace diferencia entre maysculas y
minsculas. De esta manera, suma es diferente de Suma
No debe ser una palabra reservada.

Ejemplos:
string
int
double
char
int

Nombre;
HorasTrabajadas;
SueldoPorHora;
Otro;
x, y, z;

Tambin se pueden inicializar las variables al mismo tiempo que se declaran:

string
int
double
char
Tipo de dato
6

Nombre = Juan";
HorasTrabajadas = 40;
SueldoPorHora = 150.00;
Otro = 'N';

Nombre de la
variable

Valor de la variable
8

Fundamentos de programacin en C#.NET

Impresin
(en cuadros de texto textBox)

Comentarios en el programa

Se debe utilizar la propiedad Text del control en donde se desea imprimir.

// Esta es una linea de comentarios


// Esta es otra linea de comentarios

Ejemplo: Suponga la siguiente Forma. El cuadro de texto se llama txtMensaje

/* Estas son
varias lineas de
Comentarios */

Entonces, el programa dentro del botn sera el siguiente:


NOTA: Los comentarios NO se ejecutan.
Solo sirven como documentacin interna en el programa.

txtMensaje.Text = "Bienvenido a la clase de Programacion Avanzada";


9

Impresin
(Utilizando MessageBox)

Leer Datos STRING que un usuario


tecle en un cuadro de texto

 Imprimiendo un solo mensaje:

 Los cuadros de texto, almacenan valores STRING


 Si el valor tecleado en el cuadro de texto es STRING, no se requiere convertirlo.

MessageBox.Show(" Bienvenido a la clase de Programacion Avanzada ");

 Imprimiendo varios mensajes unidos:

11

Mensaje

string Nombre;
Nombre = txtNombre.Text;

string x = "Bienvenido";
string y = "Programacion Avanzada ";
int z = 2009;
MessageBox.Show(x + " a la clase de " + y + z.ToString());

El valor se almacena
en esta variable

El cuadro de texto donde se encuentra el


valor a leer se llama txtNombre

Varios mensajes unidos con el simbolo de +


10

12

Fundamentos de programacin en C#.NET

Leer Datos DE OTRO TIPO que un


usuario tecle en un cuadro de texto

Clculos y Asignaciones

Si los datos NO son STRING, se necesita hacer la conversion correspondiente.


 Ejemplo:

Si las variables ya estn declaradas, los clculos y


asignaciones se pueden hacer directamente:

int HorasTrabajadas;
HorasTrabajadas = System.Convert.ToInt32(txtHrs.Text);
SueldoTotal =
Descuento
=
SueldoTotal =
Bonos = 200;
SueldoTotal =

Conversin de String a Entero


TAMBIEN puede hacerse as:

int HorasTrabajadas;

HorasTrabajadas * SueldoPorHora;
SueldoTotal * 0.08;
SueldoTotal - Descuento;
SueldoTotal + Bonos;

HorasTrabajadas = int.Parse(txtHrs.Text);

13

Leer Datos DE OTRO TIPO que un


usuario tecle en un cuadro de texto

15

Clculos y Asignaciones

Otro ejemplo : Leyendo datos de tipo DOUBLE


Si las variables NO estn declaradas, se pueden
declarar al momento de que aparecen solamente por primera vez:

double sal;
sal = System.Convert.ToDouble(txtSalario.Text);

double SueldoTotal = HorasTrabajadas * SueldoPorHora;


double Descuento
= SueldoTotal * 0.08;
SueldoTotal = SueldoTotal - Descuento;
double Bonos = 200.00;
SueldoTotal = SueldoTotal + Bonos;

Conversin de String a Double


TAMBIEN puede hacerse as:
double sal;
sal = double.Parse(txtSalario.Text);

14

16

Fundamentos de programacin en C#.NET

Operadores Aritmticos
+
*
/
%
=
++
--

Ejemplo:

Suma
Resta
Multiplicacin
Divisin
Residuo de divisin entera
Igualdad
Incremento en 1
Decremento en 1

Qu imprime el programa?

int x, y;
x = 1 + 2 * 3;
MessageBox.Show(" x vale: " + x);
y = (1 + 2) * 3;
MessageBox.Show(" y vale: " + y);

Jerarqua:
Primero se ejecutan * /
Despus se ejecutan + Los parntesis alteran la jerarqua
17

19

Uso de parntesis en las


Operaciones Aritmticas

Solucin
El programa imprime:

Se pueden utilizar parntesis en las Operaciones


Aritmticas:

x vale: 7
y vale: 9

Resultado = (Num1 + Num2) * Num3;

Se pueden anidar parntesis.


Los Parntesis internos se ejecutan primero:

Ntese como los parntesis alteran el resultado


del clculo.

Resultado = Num1 + (Num2 * (Num3 + Num4) ) + Num5;

18

20

Fundamentos de programacin en C#.NET

Ejercicio

Ejercicio

Realizar un programa que pida el nombre del usuario


y le de un mensaje de bienvenida que incluya su
nombre.

Realizar un programa que pida el nombre del usuario y el ao


en que naci. El programa debe calcular cuantos aos cumple
en el 2009 y debe imprimir un mensaje as:
Hola Juan en este ao cumples 10 aos.

Ejemplo:
Escribe tu nombre: Juan
Bienvenido al sistema, Juan!

21

23

Diagrama de flujo

Diagrama de flujo

Inicio

Inicio

nombre

nombre,
nac

Bienvenido
, nombre

edad = 2009 - nac

Fin

nombre,
edad

Fin

22

24

Fundamentos de programacin en C#.NET

Ejercicio

Programas de repaso

Realizar un programa que pida el nombre de un trabajador, su


sueldo por hora y las horas que trabaj la semana pasada. El
programa debe calcular e imprimir el sueldo neto, el ahorro y
el sueldo final:
Sueldo Neto = Horas Trabajadas * Sueldo por Hora
Ahorro = 10% del Sueldo Neto
Sueldo Final = Sueldo Neto - Ahorro

Realizar un programa que pida al usuario una cantidad en


pesos y calcule y muestre su conversin en dlares.
Realizar un programa que sume dos nmeros introducidos
por el usuario.
Realizar un programa que calcule el x% de una cantidad
tecleada por el usuario.

25

Diagrama de flujo

27

Instrucciones condicionales
Permiten que el programa tome un solo camino entre dos o mas
posibles alternativas.

Inicio

nombre,
ht,
sph

Decisiones (SiSi no) IF ELSE


Permite elegir entre dos posibles opciones dependiendo de que suceda
una condicin o no.
Pueden anidarse para realizar decisiones complejas.

sn = ht * sph;
ahorro = sn * 0.10
sf = sn - ahorro
sn, ahorro,
sf

Decisiones entre mltiples valores Seleccin SWITCH


CASE
Permite elegir entre diferentes opciones dependiendo de un valor que
tome una variable entre otros varios posibles valores.

Fin
26

28

Fundamentos de programacin en C#.NET

Operadores
Relacionales

Decisiones (SiSi no) IF ELSE


>
<
>=
<=
==
!=

Operadores
Lgicos

Mayor que
Menor que
Mayor o igual que
Menor o igual que
Igual
Diferente

&&

AND

(Y)

||

OR

(O)

NOT

(NO)

Utilizarlos en C#

Utilizarlos en C#
29

31

Decisiones anidadas

Tablas de verdad
AND
Condicion1

30

Condicion2

OR

Condicion1
&&
Condicion2

Condicion1
||
Condicion2

! Condicion1

! Condicion2

(NOT
Condicion1)

(NOT
Condicion2)

32

Fundamentos de programacin en C#.NET

Ejemplos de condiciones con operadores


relacionales y lgicos

Decisiones (if) Ejemplo


........

Si es mayor de edad, y es Mexicano


if (edad >= 18
{
}

&&

nacionalidad == Mexicano)
F

V
Temperatura>35

Si es empleado de la categoria A o de la categoria B

Hace mucho calor

if (cat == A || cat == B)
{
}

........

if (Temperatura > 35)


{
MessageBox.Show( Hace mucho calor );
}

Si el usuario es Admin y no proporcion password


if (usuario == Admin
{
}

&& password == )

33

35

Decisiones (if else) Ejemplo

Si su nacionalidad es cualquiera excepto Mexicano.


if (nacionalidad != Mexicano)
{
}

if (Llueve == S)
{

Si gana entre 10,000 y 15,000 pesos


if (salario >= 10000
{
}

&&

MessageBox.Show (Llevar
paraguas);

salario <=15000)

Si es casado y mayor de 21 aos, o bien si es soltero y mayor


de 30 aos

}
else
{
MessageBox.Show
(NO Llevar paraguas);

if ( (estadocivil == c && edad >21 ) || (estadocivil == s && edad > 30) )


{
}

34

........

V
Llueve =S

NO Llevar
paraguas

Llevar
paraguas

........

36

Fundamentos de programacin en C#.NET

Decisiones Anidadas
(if anidados) Ejemplo

Ejercicio
Pedir al usuario 3 nmeros
diferentes y determinar
cual es el mayor.
Utilizar decisiones simples
(nicamente operadores
relacionales).

........

if (HrsTrab > 40)


{ if (TipoPlaza == 1)
{
MessageBox.Show
( $50 pesos cada Hr Extra);
}
else
{
MessageBox.Show
( $40 pesos cada Hr Extra);
}
}
else
{
MessageBox.Show
(No tiene Horas Extras);
}

HrsTrab>40

NO tiene
Hrs Extras

TipoPlaza=1

$40 cada
Hr Extra

Inicio

$50 cada
Hr Extra

Mayor:,
n3

n1, n2,
n3
F

V
n1 > n2

n2 > n3

Mayor:,
n2

n1 > n3

Mayor:,
n3

Mayor:,
n1

.......

Fin
........

Ejercicio
Realizar un programa que
determine si un empleado
debe recibir un bono
adicional o no, y si lo recibe,
indicar la cantidad del bono.
Si el empleado gana $5,000
pesos o menos, se le da el
bono del 20%. De lo
contrario, no se le otorga
este beneficio.

37

39

Ejercicios de repaso

Inicio

nombre,
sueldo

Realizar un programa que pida la edad de una persona y determine si


puede o no puede votar.
Nota: Solo las personas de 18 aos o ms pueden votar.

V
sueldo <=5000
bono = sueldo * 0.20

NO se le
otorga bono

Realizar un programa que pida al usuario la calificacin promedio de un


alumno y el grupo al que pertenece. Indicar si el alumno debe participar o
no en el desfile escolar.
Debe participar solo si es del grupo A y su promedio es 9 o mayor, o bien, si
es del grupo B y su promedio es 8.5 o mayor.

bono

Realizar un programa que determine si a una persona se le otorga un


crdito o no.
Fin

Solo se otorgan crditos a las personas que cumplan todos estos requisitos:
que sean casadas, mayores de 18 aos y que ganen mas de 10,000 pesos.
38

40

10

Fundamentos de programacin en C#.NET

Seleccin Mltiple

Seleccin Mltiple

Se debe decidir hacer algo tomando en cuenta el valor


especfico que tenga una variable en ese momento.
Dependiendo de ese valor, pueden tomarse varios caminos
distintos en el programa. Solo uno se ejecuta en cada
ejecucin del programa.
Por ejemplo, en una paquetera, dependiendo del tipo de
envo, se cobra una sola tarifa diferente:
Envo Local
Envo Nacional
Envo Internacional





Posibles
Casos
(Valores
que
puede
tener)

$50. 00
$100.00
$250.00

int variable = 1;
Variable que se desea checar
switch (variable)
{
case 1:
MessageBox.Show(1);
break;
case 2:
MessageBox.Show(2);
break;
case 3:
MessageBox.Show(3);
break;
default:
MessageBox.Show(Otro);
break;
}

En cada case se pone un break


Para salir del bloque de seleccin
switch.

Si ningn
caso anterior
se cumple
41

Seleccin mltiple

43

Ejemplo con switch .. case


Realizar un programa
para consultar uno
de los primeros 5
lugares de una lista
de popularidad de
cantantes.

Inicio

lugar

Luis
Miguel

case 1

default

lugar

Error!

case 5

case 2
case 3
Christian

case 4
Nigga
Camila

Yuri

default representa cualquier otro caso distinto a los que se consideraron dentro
del bloque switch con la palabra reservada case.
Fin

42

44

11

Fundamentos de programacin en C#.NET

Ejercicios de repaso

FOR

Utilizar comboBox y switch case (adems de lo que se requiera en cada caso)


para resolver los siguientes problemas:
x=1

1.

2.

Realizar un programa que pida el tipo de envo (local, nacional, internacional) y


determine cuanto se debe pagar por la cuota de paquetera ( Local = $50,
Nacional = $100, Internacional = $250). Indicar un error si el usuario teclea otro
tipo de envo diferente a stos.

F
x <= 10
V

x=x+1

Cuerpo
del ciclo

Realizar un programa que pida el sueldo por hora y las horas trabajadas de un
empleado. Mostrar tambin en un comboBox 2 modalidades de pago:
1. No pagar horas extras (Todas las horas se pagan igual)
2. Pagar horas extras (Adicionales a 40 horas se pagan doble).
El programa debe mostrar la cantidad total a pagar al empleado considerando
los datos que el usuario introdujo.

Despus
del ciclo

Ciclo que repite un bloque del


programa y lleva el control del
mismo mediante una variable
que automticamente inicia
en un valor, incrementa en
cada vuelta del ciclo, y
evala si esa variable ha
alcanzado el valor final
deseado.

45

47

Al pensar en un ciclo FOR,


considerar

Instrucciones de iteracin (de repeticin)


Ciclo FOR. Permite que un bloque del programa se ejecute mltiples veces.
Normalmente se utiliza cuando se conoce por adelantado el nmero de
repeticiones del ciclo.

Ciclos WHILE y DO WHILE. Permiten que un bloque del programa se ejecute mltiples veces.
Se depende de que una condicin sea verdadera para decidir si contina o no
la repeticin del ciclo.
Se puede utilizar cuando no se conoce por adelantado el nmero de
repeticiones del ciclo.
En el ciclo WHILE la condicin se evala al principio del bloque a repetir.
En el ciclo DO WHILE la condicin se evala al final del bloque a repetir.
46

1.

El cuerpo del ciclo.- Qu parte del programa necesito que se repita?


(en la salida V del ciclo).

2.

Lo que sigue del ciclo.- Qu parte del programa debe ejecutarse


despus de terminar el ciclo? (en la salida F del ciclo).

3.

Numero de repeticiones.- Cuntas veces deseo repetir el ciclo?


1.
2.
3.
4.

Pensar en una variable que lleve la cuenta del nmero de repeticiones.


Esa variable va a comenzar a contar (usualmente de 0 o 1) hasta el valor
final del ciclo.
Esa variable usualmente incrementa su valor de uno en uno hasta alcanzar
el valor final deseado.
Mientras se cumple la condicin del ciclo, el cuerpo del ciclo se repite.
Cuando ya no se cumpla, el ciclo termina.
48

12

Fundamentos de programacin en C#.NET

En la mayora de los casos

Ejemplo con ciclo for


Realizar un programa que imprima
los nmeros del 1 al 10 en un listBox

La variable del ciclo:


Se llama w, x, y, z.
Inicia su valor en 1.
Va incrementando su
valor de 1 en 1.

Inicio

x=1

Fin

x <= 10

Inicio

x=1

La condicin del ciclo:

listBox1.Items.Clear();
for (int x = 1; x <= 10; x = x + 1)
{
listBox1.Items.Add(x);
}

Se escribe mientras la
variable del ciclo es
menor o igual ( <= ) al
valor final deseado.

x=x+1

Fin

x <= 10
x=x+1

49

51

Ciclo FOR

Ejercicio
Inicio

Realizar un programa que sume los


nmeros de 1 a N. El usuario
introduce el valor de N.
Por ejemplo para N=6, la suma sera
1+2+3+4+5+6

suma = 0

x=1

F
suma
x <= n

Fin

V
x=x+1

suma = suma + x

50

int n = int.Parse(txtN.Text);
int suma =0;
for (int x = 1; x <= n; x++)
{
suma = suma + x;
}
MessageBox.Show(" La suma es: " + suma);
52

13

Fundamentos de programacin en C#.NET

Caricatura Un buen uso del FOR

Ciclos WHILE

MessageBox.Show

53

Ciclos WHILE
(Mientras)

55

Ejemplo con ciclo while


Imprimir los numeros de 1 a N usando WHILE

Repiten un bloque del programa en base a una


condicin.
Si la condicin se cumple, el bloque contina
ejecutndose.
Si la condicin no se cumple, el ciclo termina.
La condicin se evala en cada vuelta del ciclo.
La condicin puede estar ubicada al principio o al
final del ciclo.

Inicio
N
x= 1
F
MIENTRAS
x <= n
V
x

Fin

int n = int.Parse(txtN.Text);
int x = 1;
lstNumeros.Items.Clear();
while (x<=n)
{
lstNumeros.Items.Add(x);
x = x + 1;
}

x=x+1

54

56

14

Fundamentos de programacin en C#.NET

Mismo ejemplo con ciclo do..while

Mismo ejemplo con WHILE

Imprimir los numeros de 1 a N usando DO..WHILE

Sumar los nmeros de 1 a N usando WHILE


Inicio
Inicio
N

int n= int.Parse(txtN.Text);
int x=1;
lstNumeros.Items.Clear();
do
{
lstNumeros.Items.Add(x);
x = x + 1;
}while (x<=n);

x= 1

x=x+1

x=1
suma = 0

MIENTRAS
x <= n

suma

Fin

V
V

MIENTRAS
x <= n

suma = suma + x
Fin
x=x+1
57

Ejemplo con do while

59

Ejercicio

Sumar los nmeros de 1 a N usando DO..WHILE

Realizar un programa que calcule el factorial de un nmero N


( N! ). Usar FOR.
 Por definicion, el factorial de 0 es 1.
 Para cualquier otro numero N, el factorial es la
multiplicacion de 1 * 2 * 3 * * N

Inicio
N

x=1
suma = 0

suma = suma + x
x=x+1
V

F
MIENTRAS
x <= n

suma

Fin
58

60

15

S-ar putea să vă placă și