LP - Módulo 2 - Conceptos Básicos de Programación
LP - Módulo 2 - Conceptos Básicos de Programación
Conceptos básicos de
programación
Objetivos del encuentro
• 2 Estructuras de Control
• Condicionales
• Ciclos o bucles
• Funciones
• Recursividad
Programación – conceptos básicos
Semántica y sintáctica
Recursos
Entorno de Programación
Inicios
• El programador se encargaba de verificar que no existan errores de sintaxis, ya que no existe un compilador que los detecte.
• El programador trabajaba directamente con direcciones de memoria.
Hoy
Origen y características
Causas o motores de la evolución:
Abstracción Encapsulación
• Proceso mental que extrae las • Proceso por el que se ocultan los
características esenciales e ignora los detalles de las características de
detalles. abstracción. (re-utilización de código)
Modularidad Jerarquía
• Proceso de descomposición de un • Proceso de estructuración por que el
sistema en un conjunto de elementos que se organiza un conjunto de
poco acoplados (independientes) y elementos en distintos niveles,
cohesivos (con significado propio). atendiendo a criterios como:
Fundamental para problemas responsabilidad, composición, etc.
complejos o extensos.
Características de un Software
Integridad o
Eficacia Documentación Usabilidad Mantenibilidad Fiabilidad
completitud
Ciclo de Desarrollo
Mantenimiento
Implementación
Documentación
Prueba y
depuración
Codificación o
Programación
Diseño de la
solución
Análisis del
problema
Definición del
Problema
Representación Gráfica de Procesos –
Diagrama de Flujos
Secuencia u orden
?
SI NO
Decisiones
Verdadero Falso
Inicio
Insertar
Número
Número
Insertar Si mayor a
No Descartar
Número 5?
Fin
Pseudocódigos
Es una representación en lenguaje natural con el objetivo de ser más explicativo y fácil de leer que el
código de los lenguajes de programación.
Los pseudocódigos no se compilan ni interpretan por ninguna computadora; su propósito es, representar
un algoritmo o un proceso mediante una sintaxis similar a la presente en los lenguajes de programación.
De este modo, se logra una abstracción respecto del lenguaje que se utilice para la programación del
algoritmo final
Variables y Constantes
Variables Constantes
Es un valor que no puede ser cambiado o
• Es un lugar o contenedor donde se
modificado durante la ejecución,
almacena información en Memoria.
únicamente puede ser leído.
• Se le asigna un nombre o
identificador.
• Se debe definir el tipo de dato que
va a almacenar.
Estructuras de Control
Estructuras de Control
Para poder controlar el flujo de ejecución de un programa necesitamos poder controlar las acciones que
creamos y codificar las preguntas o evaluaciones sobre los datos de nuestro programa.
Acción del usuario (clic en botón Lo que nuestro programa o Resultado del proceso luego de
o ingreso de palabra), podría ser software está programado para que los algoritmos se ejecuten
un mensaje desde otro hacer de acuerdo al Evento de sobre la base de las entradas.
programa Entrada.
Estructuras de Control - Condicionales
Condicionales:
Son instrucciones que evalúan la veracidad de una sentencia. Evalúan una expresión booleana (proposición
lógica) y, según el resultado sea verdadero o falso, deciden si ejecutan o no determinada sección del código. A
éstas secciones se las llama “bloques de código”.
La sentencia IF
IF establece la evaluación de una variable u operación cuyo valor o resultado es booleano (verdadero o falso).
Si es verdadero ejecuta la sección de código, el bloque if. Si es falso no la ejecuta y pasa a la siguiente sección.
Inicio
Condición FALSO
VERDADERO
Ejecutar
Fin
Estructuras de Control - Condicionales
La sentencia else:
Se usa con la sentencia if y significa lo contrario. Permite la ejecución de un conjunto de sentencias en caso de
que la expresión booleana sea falsa, y se llama “bloque else”.
Inicio
Ejecutar Ejecutar
Fin
Estructuras de Control - Condicionales
La combinación else-if:
Se usa para evaluar mas de dos condiciones. Por ejemplo, si debemos realizar un programa que muestre en
pantalla el nombre “Juan” si el valor de la variable es igual a 0, si no es igual a 0 pero es igual a 1 deberá
mostrar Lucas, y si es distinto de 0 y de 1, deberá mostrar “Error”.
Quiero café
NO Hay SI
Hacer café café Calentar café
hecho?
Servir en taza
Quiere SI SI
endulzar Azúcar?
?
NO
Pone Pone
edulcorante azúcar
Toma café
Estructuras de Control - Condicionales
Anidamiento de sentencias:
Es la práctica de incorporar bloques de código dentro de otros. Cada lenguaje tiene su propia sintaxis para
identificar un bloque. En C, C++ y Java se identifican encerrando las sentencias entre llaves (“{“ para inicio y
“}” para indicar fin).
Estructuras de Control - Condicionales
Switch opción_elegida {
Audio: Bienvenidos. Seleccione la opción Case 1:
Paga_factura ;
Pagar factura 1 break;
Saldos 2 Case 2:
Inconvenientes técnicos 3 Muestro_saldo;
Break;
Robo 4 Case 3:
Para continuar debe seleccionar una opción. Reclama_servicio ;
Break;
Case 4
Denuncia_robo;
break;
Default:
“Presione una opción válida”;
break;
}
Estructuras de Control – Ciclos o bucles
Un ciclo o bucle es repetir un proceso para alcanzar una meta o resultado. En programación ese proceso se
llama iteración. En programación un ciclo o bucle es una sección de código que se repite de acuerdo a una
condición. Son muy usados cuando se quiere recorrer una lista de elementos o ejecutar una sección de código
una cierta cantidad de veces.
El bucle while
Es un bucle que permite la repetición de la ejecución de un bloque mientras (while en ingles) se cumpla con
una condición.
Estructuras de Control – Ciclos o bucles
El bucle for
Es un bucle que permite permite la repetición de una sección de código de acuerdo con el valor de una
variable o expresión booleana, pero teniendo cierto control y conocimiento sobre la cantidad de iteraciones.
Con un for es necesario definir un valor inicial y una expresión que indique cómo será el paso a una iteración
a la siguiente.
El For está compuesto de 3 partes:
• Iniciación de una variable que usaremos en la condición. (se ejecuta una vez al inicio del ciclo).
• Indicación de la condición por la cual se finalizará el bucle: se evalúa la condición al comienzo de cada
iteración.
• Modificación de la variable: se ejecuta al final de cada iteración.
Estructuras de Control – Ciclos o bucles
El bucle for
El bucle for-each
Es una simplificación de la declaración de un for en el caso de que necesitemos recorrer una lista de
elementos. Significa para cada uno y establece que para cada elemento se ejecute un bloque de código.
Ejemplo: si queremos mostrar las palabras contenidas en la lista de palabas en C++
Estructuras de Control – Funciones
Las funciones son secciones de código que podemos reutilizar de forma de no repetir el código en el
programa.
Función que calcula e imprime el área de un
triángulo
Estructuras de Control – Funciones
Función que calcula e imprime el área de un Función que calcula y retorna el valor del área
triángulo de un triángulo
Estructuras de Control – Funciones anómimas
Las funciones anónimas no poseen nombre y no pueden ser llamadas desde otro lugar. Sólo se utilizan en el
lugar donde fueron definidas.
Evitar usarlas o usarlas sólo cuando sean indispensables.
Llamadas lambda. Si la función va a ser poco usada no se la nombra y se la incluye en el código.
Estructuras de Control – Recursividad
Podemos definir un algoritmo recursivo como aquel que se utiliza dentro de sí mismo. Una función recursiva es la
codificación de dicho algoritmo, y se caracteriza por llamarse a sí misma dentro de la propia función. Son comunes
para expresar series matemáticas cuando son necesitadas en una aplicación específica.
El factorial de un numero es la multiplicación de los números que están comprendidos entre 1 hasta dicho número.
Se suele utilizar la notación “n!”
Ejemplo: 4! = 1 * 2 * 3 * 4 = 24
https://www.menti.com/4c2ut3wzk2