andrés donaciano martínez guillén -.- fundamentos de ... · • pseudocódigo – pseint. •...

23
Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com

Upload: ngotruc

Post on 29-Sep-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com

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++; }

Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.- andresmtzgwordpress.com

} }