andrés donaciano martínez guillén -.- fundamentos de ... · • pseudocódigo – pseint. •...
TRANSCRIPT
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Introducción.
El presente documento busca ser una referencia para aquellas personas que se
encuentran estudiando algún tipo de carrera relacionada con la programación,
en el nivel escolar que sea, en este documento se presenta elementos de
programación que van desde el diseño en diagramas de flujo, pasando por el
pseudocódigo y concluyendo con 2 lenguajes de programación, en este caso java
y C#. Solamente les pido que estén pendientes para cuando sea subido a la
página el correspondiente a java porque en esta ocasión la entrega corresponde
a C#.
Esto les permitirá migrar de los fundamentos de la programación a la
programación estructurada.
Para este documento se emplearon los siguientes programas:
• Diagramas de flujo – DFD.
• Pseudocódigo – PSEInt.
• Para las Programación – java y c#
Les recomiendo que obtengan dichos programas para poder ir practicando los
ejemplos que acá se presentan y reafirmar de manera práctica estos
fundamentos.
Operaciones en programación
Generalmente al programar se tienen que manejar estas operaciones básicas:
• Entrada.
• Proceso.
• Salida.
• Decisiones
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
• Ciclos.
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Operaciones en programación
Salida
Descripción
Muestra en pantalla un texto, símbolos o números, se puede utilizar para mostrar valores
de las variables.
Símbolo
Pseudocódigo
Escribir lista_de_expresiones;
Explicación:
Lista_de_expresiones: complete aquí la lista de expresiones que desea mostrar separadas
por comas
Diagrama de ejemplo
Pseudocódigo de ejemplo
Proceso sin_titulo
Escribir "texto";
FinProceso
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Ejemplo en c#
class Program { static void Main(string[] args)
{ //Mensaje de salida
Console.WriteLine("Texto");
} }
Entrada
Descripción:
Son todos aquellos datos que tenemos que ingresar para la solución del problema. Son
variables a las cuales se les asignan un valor. Puede ser cualquier tipo de introducción de
datos en la memoria desde los periféricos o registro de información procesada en un
periférico.
Para manejar entradas es necesario definir previamente variables, las variables son
espacios reservados en la memoria RAM de la computadora de manera provisional que
nos permitirá almacenar los datos introducidos desde el teclado.
Las variables tienen un tipo de dato, el nombre del tipo estará determinado por el
lenguaje de programación que estemos utilizando. En este caso los de C# son:
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Símbolo en DFD:
Pseudocódigo:
Leer variable;
Leer x, y;
Diagrama de ejemplo:
Pseudocódigo de ejemplo:
Tipo Descripción Bits Rango de valores Alias SByte Bytes con signo 8 [-128, 127] sbyte Byte Bytes sin signo 8 [0, 255] byte Int16 Enteros cortos con signo 16 [-32.768, 32.767] short UInt16 Enteros cortos sin signo 16 [0, 65.535] ushort Int32 Enteros normales 32 [-2.147.483.648, 2.147.483.647] int UInt32 Enteros normales sin signo 32 [0, 4.294.967.295] uint Int64
Enteros largos 64 [-9.223.372.036.854.775.808, 9.223.372.036.854.775.807]
long
UInt64 Enteros largos sin signo 64 [0-18.446.744.073.709.551.615] ulong Single Reales con 7 dígitos de precisión 32 [1,5×10-45 - 3,4×1038] float Double Reales de 15-16 dígitos de precisión 64 [5,0×10-324 - 1,7×10308] double Decimal Reales de 28-29 dígitos de precisión 128 [1,0×10-28 - 7,9×1028] decimal Boolean Valores lógicos 32 true, false bool Char Caracteres Unicode 16 [‘\u0000’, ‘\uFFFF’] char String Cadenas de caracteres Variable El permitido por la memoria string Object Cualquier objeto Variable Cualquier objeto object
X
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Proceso INSERTAR_UNA_ENTRADA
Leer x;
FinProceso
Ejemplo del pseudocódigo en c#
class Program
{ static void Main(string[] args)
{
//Leyendo en datos en forma de números.
Int32 x;
x=Convert.ToInt32(Console.ReadLine());
//Leyendo el dato en forma de Cadena de Caracteres string x1;
x1 = Console.ReadLine();
/* En este caso la entrada se complementa con un mensaje que indica
al usuario que dato se está requiriendo, ya que en los primeros casos no parecía ningún mensaje para saber que acción realizar*/
Int32 x2; Console.WriteLine("Teclea un número:");
x2 = Convert.ToInt32(Console.ReadLine());
} }
Proceso
Descripción
El primer componente de diagrama de flujo de datos se conoce como Proceso. El proceso nuestra una parte del sistema que transforman Entradas y Salidas. Algunas analistas prefieren usar un ovalo o un rectángulo con esquinas redondeadas, otros prefieren usar un rectángulo.
Símbolo en DFD
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Pseudocódigo
Variable<-expresión;
Diagrama de ejemplo
Pseudocódigo
Proceso sin_titulo
Escribir "Ingrese un numero";
Leer n1;
Escribir "Ingrese otro numero";
Leer n2;
suma<-n1+n2;
Escribir "La suma es: ", suma;
Finproceso
Explicación:
El proceso se realiza al escribir suma <- n1 + n2, lo cual sumará dos números y el
resultado se guardará en la variable suma, para que se imprima al final del
programa como resultado.
Ejemplo de manejo de procesos en c#
class Program
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
{ static void Main(string[] args) {
Int32 n1, n2,suma; /*Siempre que se tenga que hace una entrada se requiere de finir variables*/
Console.WriteLine("Ingresa el número1: "); n1 = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Ingresa el número2: ");
n2 = Convert.ToInt32(Console.ReadLine()); /* Realizando el proceso, para almacenar el resultado del proceso también es necesario una variables*/
suma = n1 + n2;
Console.WriteLine("La suma es{0}", suma); }
}
Condición con 1 alternativa
Descripción Condición con una alternativa: Ejecuta una determinada acción
cuando se cumple una determinada condición. La selección si-entonces evalúa
cuando se cumple una determinada condición: si la condición es verdadera,
entonces ejecuta la acción SI (o las acciones caso de ser SI una acción compuesta
y constar de varias acciones). Si la condición es falsa, entonces no hace nada.
Símbolo en DFD
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Pseudocódigo
Si expresion_logica Entonces
acciones_por_verdadero
FinSi
Diagrama de ejemplo
Pseudocódigo
Proceso sin_titulo
Escribir "Dame un numero:"
Leer Num
Si Num mod 2=0 Entonces
Escribir "par"
FinSi
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
FinProceso
Explicación: La condición revisa si el mod 2 del número ingresado es
0, si es así mostrará que es par, en caso contrario no lo hace.
Ejemplo con código de c#
class Program
{ static void Main(string[] args)
{
/*Se define la variable para la entrada*/ Int32 num; Console.WriteLine("Ingresa el número1: ");
num = Convert.ToInt32(Console.ReadLine()); /* Realizando la decisión*/ if (num % 2 == 0)
{
Console.WriteLine("El número es par"); }
} }
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Condición con 2 alternativas
Descripción:
Indica operaciones lógicas o de comparación entre datos (en este caso dos) y en función
del resultado de la misma determina un valor lógico verdadero y un falso (si y no) y
después determina cual de los distintos caminos del programa se debe seguir.
Símbolo en DFD:
Pseudocódigo:
Si expresion_logica Entonces acciones_por_verdadero Sino acciones_por_falso FinSi Explicación: Expresion_logica: complete aquí la condición a evaluar para decidir qué grupo de acciones se deben ejecutar. acciones_por_verdadero: complete aquí las acciones que se deben ejecutar si la condición (expresion_logica) resulta verdadera. acciones_por_falso: complete aquí las acciones que se deben ejecutar si la condición (expresion_logica) resulta falsa. Si no desea realizar nada en este caso, elimine esta línea y la anterior (SINO).
Diagrama de flujo de ejemplo:
NO SI
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Pseudocódigo de ejemplo:
Proceso CONDICION_2_ALTERNATIVAS D<-0; Escribir "Numero: " Leer D; Si D mod 2 =0 Entonces Escribir "Par" Sino Escribir "Impar" FinSi FinProceso
Ejemplo con código de c#
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
class Program { static void Main(string[] args)
{ /*Se define la variable para la entrada*/ Int32 num;
Console.WriteLine("Ingresa el número1: "); num = Convert.ToInt32(Console.ReadLine()); /* Tomando la decisión*/
if (num % 2 == 0) { Console.WriteLine("El número es par");
}
else {
Console.WriteLine("El número es impar"); } }
}
Condición con múltiples alternativas
Descripción:
Indica operaciones lógicas o de comparación entre datos (en este caso dos) y en función
del resultado de la misma determina un valor lógico verdadero y un falso (si y no) y
después determina cual de los distintos caminos del programa se debe seguir.
Símbolo en DFD:
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Símbolo en Pseudocódigo:
Si expresion_logica Entonces
acciones_por_verdadero Sino
Si expresion_logica Entonces acciones_por_verdadero Sino acciones_por_falso FinSi
FinSi
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Diagrama de ejemplo:
INICIO
'‘NÚMERO 1‘
NUM1
‘NÚMERO 2‘
NUM2
‘MAYOR:’,NU
M2
NUM1>N
UM2
NO SI
‘MAYOR:’,NU
M1
NUM2>
NUM1
SI NO
‘IGUALES’
FIN
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Pseudocódigo de ejemplo:
Proceso CONDICION_MULTIPLE NUMERO<-0; NUMERO1<-0; Escribir "NUMERO1: " Leer NUMERO; Escribir "NUMERO2: " Leer NUMERO1; Si NUMERO>NUMERO1 Entonces Escribir "MAYOR: ", NUMERO; Sino Si NUMERO<NUMERO1 Entonces Escribir "MAYOR: ", NUMERO1; Sino Escribir "LOS NUMEROS TECLEADOS SON IGUALES" FinSi FinSi FinProceso Explicación: Se utilizan dos condiciones, una revisa si el primer número tecleado es mayor que el segundo, si es verdad escribe que el primero es mayor, en caso contrario revisará si el segundo número es mayor que el primero, si es así escribirá el segundo es mayor, sino escribirá que los números son iguales.
Ejemplo de código en c#
class Program { static void Main(string[] args)
{
/*Se define la variable para la entrada*/ Int32 numero,numero1;
Console.WriteLine("Ingresa el número1: "); numero = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Ingresa el número2: ");
numero1 = Convert.ToInt32(Console.ReadLine()); /* Realizando la decisión*/
if (numero>numero1)
{ Console.WriteLine("El número mayor es: {0}",numero); }
else if (numero < numero1) { Console.WriteLine("El número mayor es: {0}", numero1);
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
} else {
Console.WriteLine("Los números tecleados son iguales"); } }
}
Ciclo Para
Descripción
Repite un bloque de procesos, un determinado número de veces, la cantidad de
repeticiones queda definida desde el principio y no es muy flexible. Es necesario un
contador que guarde cuantas veces se ha repetido el proceso y un incremento que será
por cuanto disminuirá o aumentará el contador.
El contador es una variable que tendrá como función llevar el conteo de las repeticiones
realizadas y será la variable que podrá ser evaluada para ver si hemos llegado al número
de repeticiones deseado.
Símbolo
Pseudocódigo
Para variable_numerica <- valor_inicial Hasta valor_final Con Paso paso Hacer
secuencia_de_acciones
FinPara
Explicación: {variable_numerica}: complete aquí el identificador de la variable que utilizará para iterar.
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
{valor_inicial}: introduzca aquí el valor de {variable_numerica} desde el cual se
comenzará a iterar.
{valor_final}: introduzca aquí el valor final de {variable_numerica} hasta el cual se
continuará iterando.
{paso}: introduzca aquí el incremente que se debe realizar a {variable_numerica} en cada
iteración.
{secuencia_de_acciones}: complete aquí la lista de instrucciones que desea repetir en
cada iteración.
Diagrama de ejemplo
Pseudocódigo de ejemplo
Proceso sin_titulo
Para c<-1 Hasta 10 Con Paso 1 Hacer
Escribir c;
FinPara
FinProceso
Explicación: El para hará que el programa se repita 10 veces, el contador c, guarda los
valores hasta que se llega a 10, imprime en pantalla cada valor al que se le asigna a c.
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Ejemplo de código en c#
class Program
{
static void Main(string[] args) {
/*Se define el ciclo for*/ for (int c = 1; c <= 10; c++) {
/*lo que se encuentra dentro del ciclo for realizará las repeticiones que este indique, en este caso son 10*/
Console.WriteLine(c);
} } }
Ciclo mientras
Descripción
Repite un bloque de procesos mientras se cumple una condición, es más flexible a ser
controlada dentro del mismo programa. No necesita de contadores ni acumuladores
obligatoriamente como el ciclo para, por lo que puede utilizarse de distintas maneras que
no son posibles con el anterior.
En el caso de ciclo mientras es necesario recalcar el uso de tres elementos básicos:
• Inicializar el contador.
• Evaluar el contador
• Incrementar o decrementar el contador.
Símbolo
Pseudocódigo
Mientras expresion_logica Hacer
secuencia_de_acciones
FinMientras
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
Explicación: expresion_logica: complete aquí la condición que se debe evaluar para realizar una
iteración.
secuencia_de_acciones: complete aquí la lista de instrucciones que desea repetir mientras
la condición expresion_logica sea verdadera. Recuerde que debe incluir aquí alguna acción
que pueda modificar dicha condición.
Diagrama de ejemplo
Pseudocódigo de ejemplo
Proceso sin_titulo
c <- 0
Mientras c <> 0 Hacer
Leer c
Escribir c
FinMientras
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com
FinProceso
Explicación: Mientras el valor de c sea 0, pedirá que tecleemos un valor para c, el
programa se repetirá hasta que tecleemos un valor diferente de 0.
Código de ejemplo con c#
Ejemplo1.
class Program { static void Main(string[] args)
{
/*Se define el ciclo mientras*/ Int32 c = 0;
while(c==0) { /*lo que se encuentra dentro del ciclo for realizará las
repeticiones que este indique, en este caso son 10*/ Console.WriteLine("Teclea un número, el programa
finalizará cuando teclees un número diferente a 0");
c = Convert.ToInt32(Console.ReadLine()); } }
}
Ejemplo2.
class Program
{
static void Main(string[] args) {
/*Se define el ciclo mientras*/ Int32 c = 1; while(c<=10)
{ /*lo que se encuentra dentro del ciclo for realizará las
repeticiones que este indique, en este caso son 10*/
Console.WriteLine(c); c++; }