Anda di halaman 1dari 35

2014

Yonathan Sinay, Irvin


Cervantes, Abner Lopez,
Heidy Garcia, Anglica
Chavarra y Astrid Pixtum.
Instituto Profesional De Computacin
Villa Nueva, Guatemala.
15/08/2014
Manual de Visual C# Sharp


Introduccin
Objetivo Principal
Investigar e impartir todo el conocimiento posible sobre lo que es
programar en visual C# Sharp.

Objetivos especficos
A) Investigar todo lo relacionado a lo que es C# Sharp.
B) Tratar de saber como funciona un programa en este lenguaje
y todo lo que se puede llegar a programar.
C) Indagar la forma de trabajar en este lenguaje y tratar de
mostrar el funcionamiento lo mejor posible.

Hiptesis
1. C# Sharp es una til herramienta que nos ayuda a interactuar
con lo que es programar.
2. Es uno de los mejores lenguajes de programacin.
3. Fcil, prctico para poder trabajar con este lenguaje.

Justificacin
El ayudar a todos los futuros programadores de esta generacin a
poder interactuar con el tema de la programacin y que mejor que
con este lenguaje que es C# Sharp.
















Contenido


1. Diagrama de flujo

2. Smbolos de un diagrama de flujo


3. Estructuras de Seleccin

3.1 If simple

3.2 If compuesto

3.3 If anidado

4. Declaracin de variables en C Sharp

5. Estructuras Repetitivas

5.1 ciclo for

5.2 repeat-until

5.3 while

5.4 do.while

6. Arreglos

7. Vectores

8. Ordenamientos en c Sharp

9. Ordenamiento burbuja

10. Ordenamiento de seleccin



11. Matrices

12. Procedimientos o parmetros

13. Funciones
































Diagrama de Flujo

Es un modelo que representa de forma visual el flujo de un
programa, es decir representa el orden en que se ejecuta las
instrucciones de un algoritmo o programa.

Un algoritmo es un conjunto de pasos que solucionan un problema
seleccionado.

Smbolos de un Diagrama de Flujo

Direccin de Flujo.


Entrada o Salida de Datos.




Procesos.




Bifurcaciones o Condiciones.





Conector.



Ejemplo.



Realizar un diagrama de flujo que represente un programa en que
se soliciten 2 nmeros y que muestra la suma entre los mismos.

Inicio
Escribir ( ingrese el primer nmero)
Leer (num1)
Escribir ( ingrese el segundo nmero)
Leer (num2)
Suma = num1 + num2
Escribir ( la suma es + Suma)
Fin

Inicio



















Inicio
ingrese primer numero
num1
ingrese segundo numero
num2
Suma = num1 + num2
Suma
FIN


Estructuras de Seleccin

Una estructura de seleccin permite realizar una bifurcacin en el
flujo de un programa. Entre las estructuras de seleccin estn:
If
- Simple
- Compuesto
- Anidado

Ejemplo en Diagrama de Flujo
If Simple

Si

No



If Compuesto








If Anidado

Si Si
No
No


Si

No


Ejemplos:
Realizar un diagrama de flujo que solicite tres nmeros y que
indique cual es el mayor de ellos.










Inicio
N1 n2 n3
N1 >
n2
N1> n3 n3 es mayor











Cdigo en C# Sharp
If (n1 > n2) {
If (n1 > n3) {
C.W (n1 es el mayor);
}
Else {
C.W (n3 es el mayor);
}
} else
{
If (n2 > n3) {
C.W (n2 es el mayor);
} Else {
C.W (n3 es el mayor);
}
n3 es mayor
N2>n3
n2 es mayor
es mayor
Fin


Declaracin de Variables en c#

Static Void Main (String[] args)
{
Tipo de variable + variable
Int a;
Bool a;
String a;
Char a;
Double a;
Imprimir en Consola
Console.WriteLine (mensaje);
Console.WriteLine (<nombre de la variable>);
<nombre> = int.Parse(Console.ReadLine());



Ejemplo:

Class program
{
Static void Main(String[] args)
{

Declaracin de las Variables

Cuerpo del Programa

}
}



Estructuras Repetitivas

Una estructura repetitiva es aquella que permite iterar ciertas
instrucciones en el flujo de un programa o algoritmo.

Estas estructuras conocidas como bucles poseen comnmente
una variable centinela que permite controlar la cantidad de
interacciones.

Las estructuras repetitivas son:

- For
- While
- Do..while
- Repeat..Until

El Ciclo For

Diagrama de Flujo:













I = 0; i < vf; i++
instrucciones


Estructura en C#
For ( int I = 1; condicin ; aumento i)
{
Instrucciones
}
Ejemplo:
Realizar una aplicacion en C# con diagram de flujo en la que se solicitan dos nmeros,
luego debe mostrar todos los nmeros del menor al mayor.

Diagrama de flujo:



















inicio
ingrese num 1
Num1
N1>n2 Mayor=num1
Mayor = num2
Menor= num2
Menor = num2
I=1; menor<=mayor
i


Cdigo C#
C.W (ingrese numero 1);
Num1 = int.Parse(Console.ReadLine());
C.W (ingrese Segundo numero);
Num2 = int.Parse(Console.ReadLine());
If (n1>n2) {
Mayor = num1;
Menor = num2;
}else{
Mayor = num2;
Menor = num1;
}

Repeat
El repetir comprueba la condicin de finalizacin al final del cuerpo
del bucle, y si esta es cierta continuar con el resto del programa, a
veces esto resulta mas adecuado.

Ejemplo:

Repeat


Until (condicin) = hasta




Instruccin While y Do..While

While:
Esta estructura repetitiva controlada por una condicin .
La condicin se eleva al inicio de cada interaccin.

Representacin Diagrama de Flujo While:










DoWhile
Estructura repetitiva controlada por una condicin.
La condicin se evalua al inicio de cada interaccin.



Representacin en Diagrama de Flujo:





si

no



While Cdigo en C#

While (condicin) {
Instrucciones
}

DoWhile Codigo en c#

Do {
Instrucciones
}


While (Condicin);

Ejemplo del ciclo DoWhile
Realizar un programa en el que se ingresan 2 nmeros y debe
imprimir los nmeros del mayor al menor. Con diagrama de flujo.


















Cdigo
C.W(ingrese num1);
inicio
Num1
Num2
I= num1
i
I = i +1;
I <=
num2
FIN


Num1 = int.Parse(C.R());
C.W(ingrese num1);
Num2 = int.Parse(C.R());
I= num1 ;
Do {
c.w(i)<
I = i+1;
} While ( I <= num2);
C.ReadKey();

Ejemplo :
Realizaremos el mismo programa solo que ahora con la instruccin
While.
Diagrama de flujo:











inicio
N1
N2
I = n1
I<=n2
i
I = i + 1;
FIN




Cdigo en c Sharp

C.W (ingrese el numero 1);
N1 = int.Parse(C.R());
C.W (ingrese el numero 2);
N2 = int.Parse(C.R());
I= n1;
While ( i <= n2) {
C.W (i);
I = i + 1;
}
Console.Readkey();

Arreglos
Estructura de datos de tipo homogneo ( de un solo tipo).

Pueden ser de una o mas dimensiones.

Los mas conocidos son:
Vectores (una dimensin).
Matrices (dos dimensiones).

Representacin Grfica

Vector:
0


1
2
3
Matriz:
0,0 0,2 0,3 0,4
1,1 1,2 1,3 1,4
2,1 2,2 2,3 2,4
3,1 3,2 3,3 3,4


Declaracin de Vector en C#

Int [] a = new int[5];


Numero de casillas que va a tener el vector.

Declaracin de Matriz en C#

Int [,] matriz = new int [5,5];

Nmero de filas y de columnas que va a tener la matriz.


Ejemplo Vector:

Realizar un programa en el que se ingresan nmeros a 2 vectores
de tamao de 5, para luego sumarse y mostrarse en un tercer
Vector.

Int [] a,b,c = new int [5];

For (int I = 0; I < 5; i++) {

C.W (ingrese numero para el vector a);
A[i] = int.Parse(C.R());
}



For (int I = 0; I < 5; i++) {

C.W(ingrese numero para el vector b);
B[i] = int.Parse(C.R());
}

For (int I = 0; I < 5; i++) {

c[i] = a[i] + b[i];
}

For (int I = 0; I < 5; i++) {

C.W ( c[ I ] );
}




Algoritmos de Ordenamientos

Conjunto de instrucciones que permiten el ordenamiento
ascendente o descendente de una lista ( vector / matriz ) de
nmeros.

Existen algoritmos de ordenamiento. Los mas conocidos son:

- Burbuja
- Seleccin
- Quicksort

Ordenamiento Burbuja

Traslada el nmero de mayor valor hacia el costado derecho.

Ejemplo:



7 3 4 2 3

3 7 4 2 3


3 4 7 2 3


3 4 2 7 3

3 4 2 3 7

3 2 4 3 7

3 2 4 3 7

3 2 3 4 * 7 *

3 2 3 4 7

2 3 3 4 7


Ordenamiento Seleccin
Elige el elemento que se encuentra mas a la izquierda que no se ha
seleccionado y lo intercambia con el elemento de menor valor que
se encuentre a su derecha.

Ejemplo
Cdigo de burbuja en C#


Int [ ] a = new int [ 5 ];
Int aux;
For (int I = 0; I < tam-1; i ) {
For (int j = 0; I < tam-1; j ) {
If (a[ I ] > a[ j ]) {
Aux = a[ I ];
A[ I ] = a[ j ];
A[ j ] = aux;
}
}
}

Metodo Burbuaj Cdigo
Int [ ] a = new int [ 5 ];
Int aux;
For (int I = 0; I < tam-1; i ) {
For (int j = 0; I < tam-1; j ) {
If (a[ I ] > a[ j ]) {
Aux = a[ I ];
A[ I ] = a[ j ];
A[ j ] = aux;
}
}
}



Diagrama de Flujo


















Matrices
Arreglo de dos dimensiones.
Puedo representarse grficamente como una tabla.
INICIO
I = 0; i<tam-1;
i++
j = 0; i<tam; j++

A[i]>
a [j]
Aux = a[ I ];
A[ I ] = a[ j ];
A[j] = aux;
FIN








Para acceder a un elemento se utilizan dos ndices; rl primer ndice
indica la fila y el segundo la columna.

Declaracin en C# Sahrp
Int [ ] a = new int [ filas, columnas];
Ejemplo:
Realizar un programa en el que se ingresan nmeros para una
matriz de 3x3, solo debe de aceptar nmeros positivos y si es
negativo que muestre un mensaje de numero invalido y vuelva a
pedir el numero y que que muestre la matriz en forma de tabla.
Cdigo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)


{
int[,] a = new int[3, 3];
Console.WriteLine(" el llenado de matriz");
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.WriteLine("ingrese numero para a([0],[1])" + i,
j);
a[i, j] = int.Parse(Console.ReadLine());
if (a[i, j] < 0)
Console.WriteLine("numero invalido");


}
}
Console.WriteLine("para la matriz completa, Presione
Enter");
Console.ReadKey();
Console.Clear();
Console.WriteLine("mostrar matriz");
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{


if (a[i, j] % 2 == 0)

Console.Write("0");

else

Console.Write(a[i, j]);

Console.Write(" ");
}
Console.WriteLine();
}
Console.ReadKey();
}

Procedimientos o Parmetros

PARAMETROS

En C# Sharp un parmetro es una variable que puede pasar su
valor a un procedimiento desde el principal o desde otro
procedimiento.
Existen ocasiones en que es necesario mandar al procedimiento
ciertos valores para que los use en algn proceso.


Estos valores que se pasan del cuerpo principal del programa o de
un procedimiento a otros procedimientos se llaman parmetros.
Entonces en c# net la declaracin completa de un procedimiento es
:
Void Nom_Proc (lista de parmetros)

{ cuerpo de instrucciones;};

En C#, los argumentos se pueden pasar a parmetros por valor o
por referencia. El paso de parmetros por referencia permite a los
miembros de funciones, mtodos, propiedades, indizadores,
operadores y constructores cambiar el valor de los parmetros y
hacer que ese cambio persista en el entorno que procede de la
llamada. Para pasar un parmetro por referencia, utilice una de las
palabras clave ref o out. En los ejemplos de este tema, para
simplificar, slo se utiliza la palabra clave ref. Para obtener ms
informacin sobre la diferencia entre ref y out, vea ref (Referencia
de C#)

Tipos de parmetros en C#

Parmetros Valor
Es el caso ms habitual, un mtodo acepta parmetros y devuelve
un nico valor. Los parmetros se conocen como parmetros valor,
pues cuando se llama al mtodo se enva una copia de su valor.
Cualquier cambio que sufra el parmetro dentro del mtodo no
afectar al valor original.
Ejemplo:
[csharp]
static void Main(string[] args)


{
int original = 100;
mostrarDoble(original);
Console.WriteLine(Original: {0}, original);
}
static void mostrarDoble(int valorAMostrar)
{
valorAMostrar *=2;
Console.WriteLine(Doble: {0}, valorAMostrar);
}
[/csharp]
Como vemos, el parmetro valorAMostrar sufre una modificacin
dentro del mtodo pero ello no afecta a la variable original, pues es
una copia de sta ltima.

Parmetros de salida

A pesar de que el caso anterior es el ms comn, hay ciertas
ocasiones en las que es til (o incluso necesario) devolver ms de
un valor desde un mtodo. En este caso, un valor puede ser
devuelto usando el comando normal return y los valores adicionales
usando los parmetros de salida.
Un parmetro de salida se declara usando la palabra
clave out antes del tipo y el nombre de dicho parmetro. Para
devolver un valor usando este parmetro, simplemente se le debe
asignar un valor, que ser accesible desde el cdigo que llama al
mtodo. La palabra clave out tambin debe incluirse en la llamada
al mtodo.
Ejemplo:



[csharp]

static void Main(string[] args)
{
int area;
int perimetro;
area = CalculaRectangulo(5, 10, out perimetro);
Console.WriteLine(Area: {0}, area);
Console.WriteLine(Perimetro: {0}, perimetro);
}
static int CalculaRectangulo(int ancho, int altura, out int perimetro)
{
perimetro = (ancho * 2) + (altura * 2);
return ancho * altura;
}
Parmetros por referencia
Cuando se pasa un objeto basado en alguna clase como parmetro,
se hace por referencia. Esto significa que cualquier cambio en
alguna propiedad del objeto dentro del mtodo se reflejar tambin
fuera de dicho mtodo. Esto se debe a que ambos objetos son en
realidad el mismo, o ms bien sus punteros apuntan al mismo rea
de memoria.
Es posible emular este comportamiento en tipos valor declarando el
parmetro como parmetro referencia. Se hace, de forma
semejante a los parmetros de salida, con la palabra clave ref.
Ejemplo:

[csharp]

static void Main(string[] args)
{
int original = 100;


mostrarDoble(ref original);
Console.WriteLine(Original: {0}, original);
}
static void mostrarDoble(ref int valorAMostrar)
{
valorAMostrar *=2;
Console.WriteLine(Doble: {0}, valorAMostrar);
}
En pantalla imprimira esto:
Doble: 200
Original: 200
Parmetros array

El ltimo tipo de parmetros de los mtodos es el parmetro array.
Este tipo debe ser el ltimo en la definicin del mtodo, e indica que
la funcin acepta cualquier nmero de parmetros del tipo
establecido. Cada valor se combina en un array estndar que puede
ser procesado dentro del mtodo.

De nuevo, se hace necesario el uso de una palabra clave, en esta
ocasin params. Se declara como un array unidimensional
aadiendo un par de corchetes al tipo del parmetro en la definicin
del mtodo.

Ejemplo claro de un complicado programa con procedimientos.

Funciones en C# Sharp
Conjunto de instrucciones que ejecutan un proceso especfico y que
adems devuelven un valor de retorno.


Un procedimiento que define un tipo de dato retorno.
Estructura en Visual C# Sharp

Public tipo-retorno nombre funcin (parmetros)
{
Instrucciones

Return valor-retorno

}

Ejemplo:
Realizar un programa en el que se ingresa un nmero que va a ser
la base, y se ingresa otro nmero que va a ser el exponente. Luego
realizar una funcin en la que se eleva la base sobre el exponente
ingresando utilizando una estructura repetitiva.

Prvate int base, exp = 0;
Prvate int resultado = 0;
Public Static void Main (String [] args)
{
C.W (ingrese base);
Base = int.Parse(C.R());
C.W (ingrese el exponente);
exp = int.Parse(C.R());
resultado = elevar (bas,exp);


C.W (Resultado de elevacin);
C.W(resultado);
}
Public int elevar (int b, int e)
{
Int res = b;
For (int I = 1; I < e; i++)
{
Res = res*b;
}
Return res;
}

Ejemplo 2:
Cdigo:

Realizar un programa que muestre la seeri Ulam de un nmero por
medio de funcin.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1


{
class Program
{
static int N;
static void Main(string[] args)
{

Console.WriteLine("Ingrese nmero : ");
N = int.Parse(Console.ReadLine());
N = ULAM(N);
if (N > 0)
{


}
else
{

Console.Write("N tiene que ser un entero positivo");
}
Console.ReadKey();

}







static int ULAM(int serie)
{
while (N != 1)
{
if (N % 2 == 0)
{

N = N /= 2;
}
else
{

N = N * 3 + 1;
}
Console.WriteLine(N);
}
return N;
}
}
}

Anda mungkin juga menyukai