Professional Documents
Culture Documents
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
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.
Procesos.
Bifurcaciones o Condiciones.
Conector.
Ejemplo.
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
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
n3 es mayor
N2>n3
n2 es mayor
es mayor
Fin
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);
}
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:
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
Menor= num2
Mayor = num2
Menor = num2
I=1; menor<=mayor
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
DoWhile
Estructura repetitiva controlada por una condicin.
La condicin se evalua al inicio de cada interaccin.
si
no
While Cdigo en C#
While (condicin) {
Instrucciones
}
DoWhile Codigo en c#
Do {
Instrucciones
}
While (Condicin);
inicio
Num1
Num2
I= num1
I = i +1;
I <=
num2
FIN
Cdigo
C.W(ingrese num1);
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 + 1;
FIN
Cdigo en c Sharp
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
1,1 1,2
2,1 2,2
3,1 3,2
0,3
1,3
2,3
3,3
0,4
1,4
2,4
3,4
Declaracin de Vector en C#
Int [] a = new int[5];
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());
}
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:
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#
Diagrama de Flujo
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;
Matrices
Arreglo de dos dimensiones.
Puedo representarse grficamente como una tabla.
FIN
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
{ cuerpo de instrucciones;};
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
[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
Funciones en C# Sharp
Conjunto de instrucciones que ejecutan un proceso especfico y que
adems devuelven un valor de retorno.
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.
Ejemplo 2:
Cdigo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static int N;
static void Main(string[] args)
{
}
else
{
N = N /= 2;
}
else
{
N = N * 3 + 1;
}
Console.WriteLine(N);
}
return N;
}
}
}