Está en la página 1de 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).
1

5 string

5 int

Tipos de instrucciones bsicas en los programas


Instrucciones secuenciales
Entrada de datos Salida de datos Operaciones matemticas Conversiones entre tipos de datos
Inicio

Implementacin de las instrucciones secuenciales en diagramas de flujo y C#


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)


Ciclos FOR Ciclos WHILE, DO WHILE
2

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

Fundamentos de programacin en C#.NET

Algunos tipos de datos


Tipo de dato int double char string bool Significado Valor Entero Valor con punto decimal Un solo caracter Cadena de caracteres Lgico, booleano Ejemplo de dato 100 150.45 S Juan True (Verdadero) o False (Falso)

Identificadores
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:

Declaracin de Variables
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)


Se debe utilizar la propiedad Text del control en donde se desea imprimir. Ejemplo: Suponga la siguiente Forma. El cuadro de texto se llama txtMensaje

Comentarios en el programa
// Esta es una linea de comentarios // Esta es otra linea de comentarios /* 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

11

Impresin (Utilizando MessageBox)


Imprimiendo un solo mensaje:

Leer Datos STRING que un usuario tecle en un cuadro de texto


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:

Mensaje

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

string Nombre; Nombre = txtNombre.Text;


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


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

Clculos y Asignaciones
Si las variables ya estn declaradas, los clculos y asignaciones se pueden hacer directamente:

int HorasTrabajadas; HorasTrabajadas = System.Convert.ToInt32(txtHrs.Text);


Conversin de String a Entero TAMBIEN puede hacerse as:

int HorasTrabajadas; HorasTrabajadas = int.Parse(txtHrs.Text);

SueldoTotal = Descuento = SueldoTotal = Bonos = 200; SueldoTotal =

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

13

15

Leer Datos DE OTRO TIPO que un usuario tecle en un cuadro de texto


Otro ejemplo : Leyendo datos de tipo DOUBLE double sal; sal = System.Convert.ToDouble(txtSalario.Text);

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

Conversin de String a Double TAMBIEN puede hacerse as:


double sal; sal = double.Parse(txtSalario.Text);

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

14

16

Fundamentos de programacin en C#.NET

Operadores Aritmticos
+ * / % = ++ -Suma Resta Multiplicacin Divisin Residuo de divisin entera Igualdad Incremento en 1 Decremento en 1

Ejemplo:
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


Se pueden utilizar parntesis en las Operaciones Aritmticas: Resultado = (Num1 + Num2) * Num3;

Solucin
El programa imprime:
x vale: 7 y vale: 9

Se pueden anidar parntesis. Los Parntesis internos se ejecutan primero: Resultado = Num1 + (Num2 * (Num3 + Num4) ) + Num5;

Ntese como los parntesis alteran el resultado del clculo.

18

20

Fundamentos de programacin en C#.NET

Ejercicio
Realizar un programa que pida el nombre del usuario y le de un mensaje de bienvenida que incluya su nombre. Ejemplo:
Escribe tu nombre: Juan Bienvenido al sistema, Juan!

Ejercicio
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.

21

23

Diagrama de flujo
Inicio

Diagrama de flujo
Inicio

nombre

nombre, nac

Bienvenido , nombre

edad = 2009 - nac

Fin

nombre, edad

Fin

22

24

Fundamentos de programacin en C#.NET

Ejercicio
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

Programas de repaso
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

27

Diagrama de flujo
Inicio nombre, ht, sph sn = ht * sph; ahorro = sn * 0.10 sf = sn - ahorro sn, ahorro, sf

Instrucciones condicionales
Permiten que el programa tome un solo camino entre dos o mas posibles alternativas. 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.

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.
26 28

Fin

Fundamentos de programacin en C#.NET

Decisiones (SiSi no) IF ELSE


> < >= <= == !=

Operadores Relacionales
Mayor que Menor que Mayor o igual que Menor o igual que Igual Diferente

Operadores Lgicos
&& || ! AND OR NOT (Y) (O) (NO)

Utilizarlos en C#

Utilizarlos en C#
29 31

Decisiones anidadas

Tablas de verdad
AND
Condicion1 Condicion2 Condicion1 && Condicion2

OR
Condicion1 || Condicion2 ! Condicion1 (NOT Condicion1) ! Condicion2 (NOT Condicion2)

V F V F

V V F F

V F F F

V V V F

F V F V

F F V V

30

32

Fundamentos de programacin en C#.NET

Ejemplos de condiciones con operadores relacionales y lgicos


Si es mayor de edad, y es Mexicano
if (edad >= 18 { } && nacionalidad == Mexicano)

Decisiones (if) Ejemplo


........ F Temperatura>35 V

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


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

Hace mucho calor

Si el usuario es Admin y no proporcion password


if (usuario == Admin { } && password == )

if (Temperatura > 35) { MessageBox.Show( Hace mucho calor ); }

33

35

Si su nacionalidad es cualquiera excepto Mexicano.


if (nacionalidad != Mexicano) { }

Decisiones (if else) Ejemplo


if (Llueve == S) {
MessageBox.Show (Llevar paraguas);
........

Si gana entre 10,000 y 15,000 pesos


if (salario >= 10000 { } && salario <=15000)

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


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

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

F Llueve =S

NO Llevar paraguas

Llevar paraguas

........

34

36

Fundamentos de programacin en C#.NET

Decisiones Anidadas (if anidados) Ejemplo


........

Ejercicio
V

Inicio n1, n2, n3


F n1 > n2 V

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

Pedir al usuario 3 nmeros diferentes y determinar cual es el mayor. Utilizar decisiones simples (nicamente operadores relacionales).
V F n2 > n3

NO tiene Hrs Extras

TipoPlaza=1

n1 > n3

$40 cada Hr Extra

$50 cada Hr Extra

Mayor:, n3

Mayor:, n2

Mayor:, n3

Mayor:, n1

.......

Fin
........
37 39

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.

Inicio

Ejercicios de repaso
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.

nombre, sueldo

F
sueldo <=5000

bono = sueldo * 0.20

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.

NO se le otorga bono

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
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 $50. 00 $100.00 $250.00
Posibles Casos (Valores que puede tener)

Seleccin Mltiple
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; }

Si ningn caso anterior se cumple


41

En cada case se pone un break Para salir del bloque de seleccin switch.

43

Seleccin mltiple

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 case 2 case 3

lugar

default case 5 case 4

Error!

Nigga Camila

Christian 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
Utilizar comboBox y switch case (adems de lo que se requiera en cada caso) para resolver los siguientes problemas:
x=1 F x <= 10 V x=x+1 Despus del ciclo

FOR
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.

1.

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. 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.

2.

Cuerpo del ciclo

45

47

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.

Al pensar en un ciclo FOR, considerar


1. El cuerpo del ciclo.- Qu parte del programa necesito que se repita? (en la salida V del ciclo). Lo que sigue del ciclo.- Qu parte del programa debe ejecutarse despus de terminar el ciclo? (en la salida F del ciclo). 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

2.

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

3.

12

Fundamentos de programacin en C#.NET

En la mayora de los casos


La variable del ciclo:
Inicio

Ejemplo con ciclo for


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

x=1 x <= 10

Fin
V

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

x=1 x <= 10

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

La condicin del ciclo:


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

x=x+1

49

51

Ciclo FOR
Inicio n

Ejercicio
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
F suma x <= n V x=x+1 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

suma = 0

x=1

Fin

suma = suma + x

50

13

Fundamentos de programacin en C#.NET

Caricatura Un buen uso del FOR

Ciclos WHILE

MessageBox.Show

53

55

Ciclos WHILE (Mientras)


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.

Ejemplo con ciclo while


Imprimir los numeros de 1 a N usando WHILE
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


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

Mismo ejemplo con WHILE


Sumar los nmeros de 1 a N usando WHILE
Inicio

N x= 1

x=x+1

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


F

x=1 suma = 0

MIENTRAS x <= n V

suma

Fin

MIENTRAS x <= n

suma = suma + x Fin x=x+1


57 59

Ejemplo con do while


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

Ejercicio
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

x=1 suma = 0

suma = suma + x x=x+1


V F MIENTRAS x <= n

suma

Fin
58 60

15

También podría gustarte