Mecanismo para aprender a programar en castellano · PASO DE PARÁMETROS En la mayoría de los...

Post on 19-Jun-2020

4 views 0 download

Transcript of Mecanismo para aprender a programar en castellano · PASO DE PARÁMETROS En la mayoría de los...

Mecanismo para aprender a programar en castellano

DEFINIR VARIABLES DEFINIR num Como Entero

Definir Res como Real

Definir Nombre como Cadena

Definir becario, seguir como Logico

LEER Y ESCRIBIR ESCRIBIR “Introduzca su edad”

Leer Edad

ASIGNACIÓN Se utiliza para asignar valores a variables.

Almacena un valor determinado en una posición de memoria referenciada por la variable.

Ejemplos:

A 16;

Cadena “Hola”

B A + 1;

SENTENCIA SELECTIVA

SI (edad >= 18) ENTONCES

Escribe “Mayor de edad”

FIN-SI

SI condición ENTONCESAccionesFIN-SI

SELECTIVA DOBLE

SI (edad >= 18)

Escribe “Mayor de edad”

SINO

Escribe “Menor de edad”

FIN-SI

SI condición ENTONCESAcciones_1

SINOAcciones_2

FIN-SI

Selectiva multiple

Segun <variable> Hacer<número1>: <instrucciones><número2>,<número3>: <instrucciones><...>De Otro Modo: <instrucciones>

FinSegun

Ejemplo//Imprmir menu en pantalla con 3 opciones

Escribir “Introduzca un valor del menu” ;

Leer valor;

Según valor Hacer1: <instrucciones>2:<instrucciones>3: <...>De Otro Modo: <instrucciones>

FinSegun

ESTRUCTURAS REPETITIVAS

BUCLE MIENTRAS

Se repite mientras se cumpla la condición

Mientras (Condición) HacerSentencias

Fin Mientras

Ejmplo Bucle Mientras:Algoritmo Numeros

Definir A como Entero

A 1;

MIENTRAS (A< 4)

Escribir A

A A +1

FIN_MIENTRAS

FinAlgoritmo

A<4?

A<4Escribir A

A A +1

Mientras controlado por centinela

Algoritmo BucleMientrasCentinela (10 iteraciones)Definir Salir como LogicoDefinir contador Como Enterocontador <- 1Salir <- FalsoMientras No(Salir) Hacer

Escribir "Iteracion numero ", contadorcontador <- contador + 1Si contador = 11 entonces

Salir <- VerdaderoFinSi

Fin MientrasFinAlgoritmo

Mientras controlado por contadorAlgoritmo BucleMientras

Definir contador Como Entero

contador <- 1

Mientras (contador <=10) Hacer

Escribir "Iteracion numero ", contador

contador <-contador + 1

Fin Mientras

FinAlgoritmo

BUCLE PARA

PARA Var=Vinic HASTA Vfin REPITEInstrucciones

FINPARA

PSINT: Tabla del 2

Arrays (varios elementos)Dimension array(10);

array (1,2,3,4,5,6,7,8,9,10);

Imprimir arrayDimension array(10);

PARA i=1 HASTA 10

array(i) = i;

FINPARA

PARA i=1 HASTA 10

Escribe array(i);

FINPARA

ORDENAR ARRAY: BURBUJAAlgoritmo Burbuja

Definir i, j, aux_elem, mov Como EnteroDimension array[10]Escribir "El vector sin ordenar:"PARA i=1 HASTA 10 HACER

array[i] <- azar(100)Escribir array[i]

FinParaPARA i=1 HASTA 10 HACER

PARA j=2 hasta 10 HACER

SI (array[j] <array[j-1]) ENTONCES// si el elemento anterior es mayor, hacemos el cambioaux_elem = array[j];array[j] = array[j-1];Array[j-1] = aux_elem;

FINSIFINPARA

FINPARAEscribir "El vector ordenado:"PARA i=1 HASTA 10 HACER

Escribir array[i]FinPara

FinAlgoritmo

FUNCIONES

SUBRUTINAS

SUBPROCESOS En muchos casos, nos encontraremos con tareas que

tenemos que repetir varias veces en distintos puntos de nuestro programa.

Un subproceso es una porción de código que realiza una tarea concreta, como mostrar un mensaje de error o hacer un cálculo.

Hay dos tipos de subrutinas: funciones y subprocesos

Las funciones devuelven un valor.

Los subprocesos no devuelven valor.

FUNCIÓN Una función es un conjunto de líneas de código que

realizan una tarea específica y retorna un valor.

Las funciones pueden tomar parámetros como entrada que modifiquen su funcionamiento.

El programa principal llama a la función.

Una función tiene tres componentes importantes:

los parámetros: son los valores que recibe la función como entrada

el código de la función, que son las operaciones que hace la función; y

el resultado (o valor de retorno), que es el valor final que entrega la función.

FUNCIÓN SUMAFuncion res = Suma(x,y)

res = x+y

FinFuncion

FUNCION POTENCIAFuncion res = Potencia(b,e)

res = b^e;

FinFuncion

Función FactorialFuncion fact = Factorial(n)

fact=1

Para i=1 hasta n hacer

fact = fact*i

FinPara

FinFuncion

EJERCICICIOS DE FUNCIONES Funcion Cuadrado, Doble, Triple

Funcion Cubo

Funcion Euroconversor

Funcion Maximo que devuelva el mayor de dos valores.

Funcion Minimo que devuelva el menor de dos valores

Funcion Promedio

Funcion Residuo: devuelve el resto de la división entera

Funcion SumaCuadrados

Truncar: quitar la parte decimal a un real

PASO DE PARÁMETROS En la mayoría de los lenguajes hay dos formas

de pasar las variables a una función: por valor o por referencia.

POR REFERENCIA: significa que se pasa la posición de memoria donde esta guardada la variable, por lo que la función puede saber cuánto vale, pero además puede modificarla de cualquier manera.

POR VALOR: significa que la función (o subrutina) recibe sólo una copia del valor que tiene la variable, o sea que no la puede modificar.

Por REFERENCIA: modifica!Funcion Triplicar (num por referencia)

num <- num*3 // modifica la variable triplicando su valor

FinFuncion

Algoritmo Prueba

Definir num como Entero

Escribir “Introduzca un entero”

Leer num

Escribir “El triple es: ”, Triplicar(num)

FinAlgoritmo

num

SUBPROCESOS Porción de código que realiza una tarea, pero no

devuelve un valor.

SubProceso Saludar

Escribir "Hola mundo!"

FinSubProceso

SubProceso Error

Escribir “Se produjo un error”

FinSubProceso

PROGRAMACION ESTRUCTURADA La programación estructurada es un paradifma de

programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa recurriendo únicamente a subrutinas y tres estructuras básicas: secuencia, selección (if y switch) e iteración (bucles for y while); asimismo, se considera innecesario y contraproducente el uso de la instrucción de transferencia incondicional (GOTO), que podría conducir a código espagueti, mucho más difícil de seguir y de mantener, y fuente de numerosos errores de programación.

PROGRAMACION MODULAR La programación modular es un paradigma de

programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable.

Se presenta históricamente como una evolución de la programación estructurada para solucionar problemas de programación más grandes y complejos de lo que esta puede resolver.