About

Todo lo relacionado con la lógica de programación.

La computadora: es la herramienta que utilizamos para representar cualquier situación de la realidad en forma de dato, los cuales son procesados para generar información; esquemáticamente se representa así:


El programa: Un programa es una serie de ordenes interpretadas de forma lógica, siendo un conjunto de instrucciones que guían a la computadora para realizar una actividad a resolver algún problema.


Un programa se compone de: Estructuras de datos, operaciones primitivas, estructuras de control.
  1. Estructuras de datos: Son las formas de representación interna de la computadora, Los hechos reales se ordenan o se organizan en estructuras. Por ejemplo: El nombre, Las horas trabajadas y el sueldo son datos que representan a un empleado.
  2. Operaciones primitivas elementales: Son acciones básicas que la computadora ejecuta sobre los datos para darles entrada, transformarlos y darles salidas convertidos en información.
  3. Estructuras de control: Son las formas lógicas de funcionamiento mediante las que se dirige el orden en que deben ser ejecutadas. Las estructuras de control son: 
  • La secuenciación: Es una orden en la cual se realizan procesos lógicos en el tiempo estimado.
  • La selección: Toma un objeto o dato demás importancia
  • Repetición es un ciclo de forma necesaria

Lenguaje de programación
Es el medio a través del cual le comunicamos a la computadora la secuencia de instrucciones que debe realizar para llevar a cabo las actividades, tareas o soluciones.

El Pseudocódigo.
El Pseudocodigo (Lenguaje falso) es un código no programable, el objetivo principal de este es representar la solución con un algoritmo de la forma mayormente detallada. 

InstrucciónSignificado
algoritmo nombreMarca el comienzo de un algoritmo y le adjudica un nombre
InicioMarca el comienzo de un bloque de instrucciones
finMarca el final de un bloque de instrucciones
variable = expresiónAsignación. La expresión se evalúa y su resultado es asignado a la variable
nombre_const = expresiónDeclaración de constantes. La expresión se evalúa y su resultado se asigna a la constante. Este valor no puede modificarse a lo largo del programa.
leer (variable)Salida de datos. Sirve para que el programa escriba un dato en un dispositivo de salida (si no se indica otra cosa, la pantalla).
escribir (variable)Marca el final de un bloque de instrucciones


La computadora examinaría toda una expresión y evaluaría cada componente con una orden de precedencia que son las siguientes:
  • Operaciones entre paréntesis: Primero busca lo que está entre paréntesis y lo evalúa, si los hay anidados, evalúa el más interno.
  • Operaciones anidadas: A continuación evaluaría los cambios de signos.

La secuenciación:
Es una estructura que permite controlar la ejecución den orden secuencia, esto es: ejecuta la primera acción, luego la segunda y así sucesivamente hasta la última.
Una secuencia de acciones, donde se ejecuta primero la acción 1, acción 2, acción 3, etc esas acciones puede consistir en operaciones primitivas elementales, como declaraciones de variables, lectura e impresiones de datos.


Flujograma:

El diagrama de flujo es la representación gráfica de un algoritmo o proceso, usando formas especiales para representar diferentes tipos de acciones o pasos en un proceso. Siendo las lineas y flechas las que muestran la secuencia de pasos y las relaciones entre ellas.

Los símbolos utilizados en los diagramas de flujo son:


Inicio o fin: El símbolo de terminación marca el punto inicial o final del sistema. 


Asignación o procesos: Indica un determinado proceso y sus funciones y actividades.



Entrada de datos: Representa cualquier tipo de dato en el diagrama de flujo.






Imprimir o Resultado: Informe impreso que las personas pueden leer.






Conectores: Indican que el diagrama de flujo continúa donde se ha colocado otra figura idéntica.




Ejemplo: A un trabajador le pagan según sus horas trabajadas, más una tarifa de pagos por horas extra. El pago mensual base es sobre una cantidad de 40 horas da la semana, las horas que superen esa cantidad se pagarán a $5 c/u.





Estructuras de control.

Suponiendo que ya se domina la se uenciación. La selección es una estructura que permite controlar la ejecución de acciones, la cual requiere del cumplimiento de condiciones para ejecutarse.
De acuerdo con dichas condiciones se elige si se ejecuta o no, Hay operaciones excluyentes, solo debe ejecutarse una; aunque también se presenta el caso en que se tengan varias opciones de acción y se ejecuta una como consecuencia de la otra.


Ejemplos:

1. Se desea implementar un algoritmo para determinar cual de los 2 valore propocionados es el mayor. Represente con Pseudocódigo y diagrama de flujo.
            Pseudicódigo


Diagrama de Flujo

2. Determine si un número es positivo o negativo.

Pseudocódigo

Diagrama de Flujo


3. Una escuela aplica 2 exámenes a sus estudiantes, por lo que cada uno obtiene 2 calificaciones denotados por C1 y C2. El estudiante que obtenga calificaciones mayores que 8 en ambos exámenes es aprobado; caso contrario es reprobado.

Pseudocódigo

 Diagrama de Flujo


Selecciones Multiples


 La estructura condicional según nos permite elegir entre muchas opciones.

Esta estructura permite seleccionar una, dentro de un conjunto de alternativas, con base al valor
almacenado en un campo de una variable. Es una estructura selectiva multiple donde, de acuerdo con el valor que tenga el controlador,
se realiza una determinada tarea una sola vez. De acuerdo con el valor que contenga el controlador el control de ejecución del programa pasa a uno de 
varios puntos de éste, evitando así una serie de preguntas

y la sintaxis es de la siguiente forma:


Funcionamiento:
Al ejecutarse, se evalúa el contenido de la variable y se ejecuta la secuencia de instrucciones asociadas con dicho valor

Cada opción está formada por uno o más números separados por comas, dos puntos y una secuencia de instrucciones. Si una opción incluye
varios números, la secuencia de instrucciones asociadas se debe ejecutar cuando el valor de la variable es uno de esos números.

Estructuras Repetitivas


La repetición es una estructura que permite controlar la ejecución de acciones que se deben realizar en más de una ocasión; es decir, se deben repetir. Con esta estructura se forman ciclos iterativos.

Las más comunes son: Mientras (While), Para (For), Repetir hasta (Do While)

 ESTRUCTURA MIENTRAS

La estructura “Mientras” es una estructura que permite controlar la ejecución de acciones
que se repetirán en un rango de 0 – n veces, esto se debe a que la condición de control del
ciclo se coloca al principio de la estructura; y, entra al ciclo mientras la condición sea
verdadera. En caso que no se cumpla la condición, se termina el ciclo.

Sintaxis:
• Mientras: identifica la estructura y su inicio como un ciclo repetitivo

• Expresión_lógica: es una expresión que controla la ejecución del ciclo, mientras la
condición se cumpla, lo contenido en el bucle se ejecutará.

• Secuencia_de_acciones: es la acción o conjunto de acciones que se ejecutan dentro
del bucle.

• Fin Mientras: delimita el fin del ciclo iterativo, envía el control al inicio de la estructura
o a la línea siguiente.

FUNCIONAMIENTO

Se evalúa la condición:

a) Si se cumple, entra al ciclo, se ejecutan las acciones, y al llegar al FIN MIENTRAS, envía
el control al “Mientras”, lo que significa evaluar de nuevo la condición.

b) Si no se cumple la condición, entonces se va a la siguiente acción después del Fin
Mientras; es decir, se sale del ciclo.

Por lo general la condición se establece mediante el uso de una variable que se compara
con cierto valor, debido a que la condición se encuentra al inicio del ciclo, debe hacerse una
lectura adelantada o iniciar dicha variable para que tenga un valor la primera ocasión que
llega al Mientras (While).

Ejemplos:

1. Elabore un algoritmo que calcule e imprima la suma de los números pares del 2 al 160


2. Elaborar un algoritmo que permita calcular el cuadrado de los números pares desde 2 hasta N.


ESTRUCTURA PARA

La repetición FOR – PARA, es una estructura que permite controlar la ejecución de acciones
que se repetirán un número de veces conocido de antemano. Este tipo de repetición es
controlada por un contador que comienza de un valor inicial y va hasta un valor final,
incrementándose o decrementándose de acuerdo con un valor establecido, para contar la
cantidad de veces que entrará al ciclo. Se dice que el PARA se repite N veces.

Sintaxis:



• Para: la palabra reservada que identifica la estructura de repetición

variable_numerica<-valor_inicial: Es una variable que puede ser de tipo entero
(Preferentemente), se utilizará como índice o contador que controla la repetición del
ciclo. El contador tomará el valor inicial, se evalúa la condición, si es verdadera, entra
en el PARA a ejecutar la acción o acciones que están en el ciclo, si no es verdadera se
sale del ciclo. Al llegar al FIN PARA, este lo regresa al FOR incrementando el contador
de acuerdo a lo establecido.

El valor inicial se acostumbra que sea un número pequeño, como un 1, y se va
incrementando, pero también puede usarse un número alto que se decrementa.

• Paso: es el valor de incremento o decremento del contador del ciclo.

Secuencia de Acciones: es una acción o grupo de acciones que se ejecutan dentro

del ciclo.

FUNCIONAMIENTO

1. Se inicia el contador con el valor inicial, se evalúa la condición; si se cumple, entra al
ciclo y ejecuta las acciones.

2. Al llegar el FIN PARA, remite el control al inicio, actualizando el valor del contador de
acuerdo con el incremento o decremento.

3. Al volver el control al inicio del ciclo, se evalúa la condición

       a. Si se cumple, entra al ciclo a ejecutar acciones
       b. Si no se cumple, se sale del ciclo

Ejemplos:

1. Elaborar el algoritmo para un reloj.


2. Elaborar un algoritmo para calcular la nota de N alumnos, introduciendo su nota de clase (30%), nota de laboratorio (40%), Examen Parcial (30%)..



ESTRUCTURA REPETIR HASTA

El proceso iterativo del DO...WHILE o REPETIR HASTA, permite controlar la ejecución de
acciones en forma repetitiva, mientras la condición de control del ciclo repetitivo sea
verdadera.

Sintaxis:



Repetir: Identifica la estructura como un ciclo iterativo e indica el inicio del mismo

Secuencia_de_acciones: son las acciones que se ejecutan dentro del ciclo

Hasta Que: indica el fin del ciclo y significará que mientras la condición se cumpla, volverá al inicio del REPETIR; en caso contrario, se saldrá del bucle.

Expresión_logica: es una expresión lógica que controla la repetición del ciclo. Este tipo de repetición se ejecuta N-1 veces, ya que las acciones del ciclo, se ejecutarán por lo menos una vez y se pueden ejecutar cualquier cantidad de N veces.


FUNCIONAMIENTO

1. Llega al REPETIR; entra al ciclo y ejecuta las acciones

2. Llega al HASTA QUE, y evalúa la condición.

a. Si se cumple, se va al REPETIR, y por consiguiente volverá a ejecutar lo que está dentro.

b. Si no se cumple, se va a la siguiente acción después del HASTA QUE, lo que implica que se sale del bucle. 

Ejemplos:


1. Leer un número "X" y repetir mientras el número sea menor que 100.



2. El factorial de un número se calcula así: 8! = 8x7x6x5x4x3x2x1, elabore un algoritmo que calcule el factorial de un número cualquiera.






Contadores, Acumuladores y Banderas


Contador

La construcción de un contador es una variable en la memoria que se incrementa en una unidad cada vez que se ejecute el proceso, este se usa para llevar la cuenta de determinadas acciones que se pueden solicitar durante la solución de un problema. Normalmente son inicializadas en 0 antes de un ciclo y suelen aumentar su valor en 1 si se cumplen ciertas condiciones.


Ejemplo: Imprimir los números del 1 al 10

En este ejemplo lo primero que se hace es declarar la variable inicializarla con el valor de 0, utilizamos el ciclo “mientras o do-while”, mientras cumpla la condición se hará que el contador (en este caso es la variable “i”) sea menor o igual a 10 este se va a aumentar 1 a sí mismo e imprimir el valor que se le asigna en cada bucle. Si la condición ya no se cumple el bucle se dará por terminado



Acumuladores

Los acumuladores es una variable que se suma entre sí misma un conjunto de valores; su caracteríztica más común es que su valor suele ser siempre una suma o resta de su valor actual con un nuevo dato,teniendo estos valores en una sola variable. Normalmente se inicializa en 0 antes del ciclo.


Ejemplo:  Ejemplo: Imprimir la suma de los números del 0 al 10

En este ejemplo lo primero que se hace es declarar las variables de contador y acumulador, luego inicializamos ambas con el valor de 0, acá también utilizamos el ciclo “mientras o do-while, diciéndole que mientras el contador sea menor o igual a 10 que el acumulador sume el dato que contiene la misma variable “acum” (el acumulador) más el nuevo dato que contiene la variable del cont (el contador).
Luego imprimimos el resultado, quedando el algoritmo de esta forma:




Banderas

Son variables que normalmente son de tipo lógicas, conservan un estado hasta que un elemento requiera cambiarlo y ejecutarlo con otra funcionalidad (puede tomar el valor de verdadero o falso), y permite comunicar información de una parte del Código a otra del mismo.

Banderas en mientras o do-while

El mientras (con la condición en este caso una bandera) marca el inicio del bloque que se ejecutará dentro del ciclo y la bandera será la condición que hará que el ciclo continúe o marque el final.

Ejemplo: Encontrar el número 9

En este ejemplo lo primero que se hace es declarar la variable (cont) e inicializarla con el valor de 0, y declaramos la variable de la bandera (como lógico en este caso) y lo inicializamos con el valor de falso. Utilizamos el ciclo “Mientras o do-while”, haciendo que evalúe que mientras el valor de la bandera sea falso continuar con el bucle insertamos un condicional si, si el contador es igual a 9 entonces se imprime que el número buscado se ha encontrado y se cambia el valor de la bandera a verdadero saliendo así del bucle, sino se incrementa el valor del contador y se repite del bucle. Quedando de esta manera la solución:

Cuadro comparativo


Vectores



Creación de vectores

Un vector (arrays) es una zona de almacenamiento continuo, que almacena una serie de elementos del mismo tipo. Los elementos del vector, visito desde un punto lógico es un conjunto de elementos ordenados en fila.

Existen 2 tipos de arreglos/vectores

ARREGLOS UNIDIMENSIONALES

El Arreglo unidimensional o de una dimensión, está formado por un conjunto
de elementos de un mismo tipo d datos que se almacenan bajo un mismo
nombre y se diferencian por la posición que tiene cada elemento del arreglo

de datos.







Ejemplos:
                           1. Desarrolle un algoritmo que permita al usuario definir la longitud del arreglo.

solución                               


Método de la burbuja / Ordenamiento de burbuja


El procedimiento de la burbuja se trata de ir comparando desde la casilla 0 número tras número hasta encontrar uno mayor, que él.
Este procedimiento continuará hasta que haya ordenado todas las casillas del vector.

Ejemplo:
                     2- Ordenar los elementos de un vector de n posiciones de mayor a menorsolución: 




               
       ARREGLOS BIDIMENSIONALES (Matriz)

Un arreglo bidimensional o de dos dimensiones, está formado por un conjunto de elementos de un mismo tipo que se almacenan bajo un mismo nombre y que al igual que en el undimensional, se diferencian por la posición de cada elemento, la disposición de los elementos es en forma rectangular/cuadrada donde la primera dimensión está dada por las filas y la segunda por las columnas. También es conocido como matriz, de orden M x N donde M = filas y N = columnas.





Ejemplo:
               1. Elabore un algoritmo que permita sumar los elementos de cada fila de una matriz de 5x7

solución:    


FUNCIONES/SUBPROCESOS

Las funciones, Subproceso o subAlgoritmo, es una instrucción que permite agrupar variables y sentencias, cuya finalidad es de ejecutar una tarea específica, se pueden añadir una o varias funciones en un algoritmo, estos se pueden invocar (ejecutar) desde cualquier parte del programa, es decir desde otra función, desde la misma función o desde el programa principal.

 Esta función se declara antes del procedimiento principal.

Sintaxis: 

  1. Variable_de_retorno: si la función, calcula y devuelve un valor, se debe colo car el nombre de la variable que se utilizará para almacenar ese valor; si el subproceso o función no devuelve nada se puede eliminar la variable con su flecha de asignación.
  2. Nombre: es el nombre que recibirá el subproceso o función.
  3. Argumentos: los argumentos son variables que requiere la función, utilizando comas para separarlos, si el subproceso o función no requiere argumentos puede dejarse en blanco, y de manera opcional omitir los paréntesis.
Ejemplo: