Programación Estructurada
M.I.A. Octavio Ramos FigueroaE-mail: UX99979776@UX.EDU.MX WhatsApp: 2281124551
Enfoque híbrido Modelo constructivista
01 Dinámica de presentación
Dinámica de presentación
1. Nombre. 2. Lugar de nacimiento. 3. Edad. 4. Preparatoria dónde estudié. 5. ¿Por qué elegí esta carrera? 6. ¿Qué espero de esta materia? 7. ¿Cuándo estudio prefiero leer, escuchar o escribir? 8. Pasatiempo preferido. 9. ¿En dónde me veo en 10 años?
01 Generalidades del curso
Objetivo del curso
- Conceptos fundamentales
- Técnicas para la creación de algoritmo y programas
- Analizar, desarrollar, programar y codificar, de forma estructurada soluciones a problemas.
Comunicación
Esquema de evaluación
Bibliografía
- López García, J. C. (2009). Algoritmos y Programación: Guía para docentes.
- de Guevara, J. M. L. (2014). Fundamentos de programación en Java.
- Felleisen, M., Findler, R. B., Flatt, M., & Krishnamurthi, S. (2018). How to design programs: an introduction to programming and computing. MIT Press.
- Osvaldo, C. (2002). Metodología de la programación.
03 Encuadre
Puntos a tomar en cuenta durante las clases
Asistencia
Camara
Dudas y comentarios
Puntosextra
Entrega de trabajos
04 Consenso: Criterios de evaluación
Criterios de evaluación
Particiáción
Actividades sincrónicas
Evaluación
Actividades asincrónicas
Criterios de evaluación
05 Examen diagnóstico
Liga para examen diagnóstico
https://forms.gle/nMfrgm9TENS5Bjx57
Análisis de resultados
Unidad I Lenguaje de programación
1.1 Importancia de los lenguajes de programación.
1.2 Definición de lenguaje de programación.
1.3 Lenguajes de bajo y alto nivel.
1.4 Compilación e Interpretación.
1.4.1 Compilador.
1.4.2 Intérprete.
Lenguajes de programación
¿Porqué son importantes los lenguajes de programación?
¿Porqué son importantes los lenguajes de programación?
Muchas de las herramientas que utilizamos hoy en día fueron creadas a partir de un lenguaje programación. Como ejemplos de este tipo de desarrollos nos podemos encontrar desde una aplicación para móviles, páginas web, servicios en Internet, programación de gestión y un largo etcétera, podemos decir que la programación puede desarrollar casi cualquier funcionalidad.
¿Qué es un lenguaje de programación?
¿Qué es un lenguaje de programación?
Lenguaje formal que, mediante una serie de instrucciones, le permite a un programador escribir un conjunto de órdenes, acciones consecutivas, datos y algoritmos para, de esa forma, crear programas que controlen el comportamiento físico y lógico de una máquina.
Lenguaje de programación: Comunicación. (Datos, Tratamiento y Acciones).
Lenguaje máquina
Bajo nivel
Lenguaje ensamblador
Tipos de lenguajes de programación
Traductor
Alto nivel
Compilador
Actividad 1: Exposición lenguajes de programación
Busca información relevante sobre el tipo de lenguaje de programación que te toco y diseña una presentación a partir de la información que encuentres para que la presentes en clase.
- Puedes utilizar la herramienta de tu preferencia
- Incluir más imágenes que texto.
- Cargar la presentación a la plataforma.
- Presentación.
Lenguajes de programación
Historia de los lenguajes de progrmación
A) Aplicaciones de los lenguajes de programación
- Desarrollo de programas y aplicaciones.
- Desarrollo de inteligencia artificial.
- Desarrollo de bases de datos.
- Desarrollo de videojuegos.
- Desarrollo de controladores e interfaz de hardware.
- Desarrollo de internet y páginas web.
B) Características de los lenguajes de programación
Simplicidad:
La simplicidad de un lenguaje se refiere a la semántica, cantidad de estructuras o conceptos disponibles, con una sintaxis clara, limpia y organizada. Por ejemplo: evitando la declaración de variables como Python y Go.
B) Características de los lenguajes de programación
Compatibilidad:
Utilización con diferentes sistemas operativos. ¿Qué sistema operativo utiilzas?
B) Características de los lenguajes de programación
Interoperabilidad:
Propiedad que tienen los programas de interactuar entre sí.
B) Características de los lenguajes de programación
Naturalidad:
Su aplicación en el área para la que fue diseñado debe hacerse de forma natural.
B) Características de los lenguajes de programación
Precisión o Regularidad:
Los lenguajes deben ser precisos en su interpretación, es decir, se deben comportar siempre tal y como se espera que se comporten.
B) Características de los lenguajes de programación
Portabilidad:
Es la posibilidad de construir programas independientes de la máquina donde se ejecuten.
B) Características de los lenguajes de programación
Seguridad:
Se refiere a la predicción de errores en el código fuente, evitándolos.
B) Características de los lenguajes de programación
Eficiencia:
Facilidad con la que se genera el código ejecutable eficientemente. Incluyendo sus etapas de implementación, traducción, programación.
B) Características de los lenguajes de programación
Expresividad:
Cualidad de un lenguaje de programación que permite representar procesos y estructuras complejos.
B) Características de los lenguajes de programación
Extensibilidad:
Capacidad de poder añadir nuevas características .
Actividad 2: Tabla: lenguajes de programación
Investiga el nombre de al menos 10 lenguajes de programación y crea una tabla cómo la que se muestra a continuación.
- 20 minutos para investigar y crear la tabla.
- Presentación.
- Punto extra (primer alumno con más lenguajes).
- Cargar la tabla en la plataforma (Actividad2_Nombre).
Ejemplo
Unidad II Estructura de los lenguajes de programación
2.1 Entornos de programación (IDE’s).
2.2 Estructura de un programa.
2.2.1 Palabras reservadas.
2.2.2 Identificadores.
2.2.3 Tipos de datos simples.
2.2.4 Tipos de datos compuestos.
2.2.5 Variables y Constantes.
2.2.6 Operadores aritméticos.
2.2.7 Operadores lógicos
Entornos de programación (IDEs)
IDE:
Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación. Es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica. Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. El lenguaje Java, por ejemplo, puede ser usado por medio del IDE NetBeans.
Historia de los lenguajes de progrmación
https://www.youtube.com/watch?v=hPbvq7oe7dI
¿Qué es Java?
https://www.youtube.com/watch?v=hPbvq7oe7dI
Algoritmos
A) ¿Qué es un algoritmo?
A) ¿Qué es un algoritmo?
Inicio
Paso 1
Paso 2
Fin
Paso ...
B) Algoritmos en el día a día
Algoritmo para asistir a clases:
- Levantarse
- Bañarse
- Vestirse
- Desayunar
- Cepillarse los dientes
- Salir de casa
- Tomar el autobús
- Llegar a la Universidad
- Buscar el aula
- Ubicarse en un asiento
Participación 1: Algoritmos en el día a día
Diseña una imagen como la presentada en la diapositiva anterior con un ejemplo diferente.
- Título de la figura.
- Nombre del algoritmo
- Cargar la imagen en la plataforma(Participación2_Nombre).
- Presentación.
D) Definición formal de algoritmo
No existe un consenso definitivo sobre la definición formal. La definición más común señala que un algoritmo es una lista de instrucciones a seguir para resolver un problema, dónde se debe especificar claramente la entrada, el proceso y la salida del problema a resolver.
No existe un consenso definitivo sobre la definición formal. La definición más común señala que un algoritmo es una lista de instrucciones a seguir para resolver un problema, dónde se debe especificar claramente la entrada, el proceso y la salida del problema a resolver.
Proceso
Entrada
Salida
Entrada
E) Ejemplo
Ingredientes
- Pan
- Mayonesa
- Jamón
- Jitomate
- Lechuga
Proceso
- Lavar y cortar el tomate y la lechuga.
- Untar la mayonesa en dos rebanadas de pan.
- Colocar rebanadas de jamón, el tomate y la lechuga en medio de las dos rebanadas de pan.
Receta para hacer un sadwich
Salida
F) Características de un algoritmo
+ info
Finito
+ info
Preciso
+ info
Definido
G) Tipos de algoritmo
Se conocen todas las entradas.
Constantes
Según el tipo de entradas
Al menos una variable es desconocida.
Variables
G) Características de un algoritmo
- Numéricos
- Alfanuméricos
- Lógicos
Simples
Según el tipo de dato
Complejos
H) Medios de expresión de un algoritmo
Lenguaje de programación
Pseudocódigo
Lenguaje natural
Diagrama de flujo
H) Medios de expresión de un algoritmo
Pseudocódigo
H) Medios de expresión de un algoritmo
Diagrama de flujo
H) Medios de expresión de un algoritmo
Lenguaje de programación(Código)
Participación 2: Formas de representar un algoritmo
Diseña una infografía sobre las formas de representar un algoritmo.
- Estructura diferente al ejemplo.
- Usar más imganes que texto.
- Cargar la infografía en la plataforma (Participación2_Nombre).
- Presentación.
Programas de computadora
¿Qué es un programa de computadora?
También conocidos como aplicaciones o software, son un conjunto de instrucciones en forma secuencial, llamado código, que a través de su interpretación por el sistema operativo o hardware, le permiten desarrollar una acción específica a una computadora.
¿Qué necesito para desarrollar un programa de computadora?
Lenguaje de programación
Problema
Algoritmo
Diagrama de flujo
Lenguaje natural
Pseudocódigo
Etapas de la programación
A) Definición del problema
Visión general y clara del problema sin ambigüedades. Ayuda a identificar los elementos claves del problema y la futura solución, así como sus límites basados en su planteamiento textual (Lenguaje natural). Un problema mal planteado, incompleto o mal comprendido es un mal inicio para la programación. Las respuestas a las siguientes preguntas son claves para la correcta definición de un problema:
A) Definición del problema
¿Qué entradas se requieren, de qué tipo, en qué orden y qué cantidad?
¿Qué salidas se desean, de qué tipo, en qué orden y qué cantidad?
¿Qué método(s) o fórmula(s) produce(n), o puede(n) producir las salidas deseadas?
A) Definición del problema
Ejemplo: Leer cuatro números enteros y calcular su promedio para luego mostrarlo en pantalla.
5, 15, .05, 100
5, 15, 5, -100
5, 1.5, 5, 100
B) Análisis del problema
- Es la comprensión a fondo del problema y sus detalles y es un requisito para lograr una solución eficaz.
- En esta fase es donde se definen formal y correctamente la Entrada que recibirá el programa, la Salida que producirá y el Proceso a seguir para su solución.
- Cada uno de estos aspectos coincide respectivamente con las preguntas planteadas en la fase de Definición del Problema.
- A este enfoque se le conoce comúnmente como E-P-S (Entrada-Proceso-Salida).
B) Análisis del problema
Ejemplo: Leer cuatro números enteros y calcular su promedio para luego mostrarlo en pantalla. Entrada: cuatro números enteros. Proceso: calcular el promecio.
Salida: mostrar el promedio.
Proceso:(5+15+5+(-100))/4
Salida:prom=-18.75
Entrada:5, 15, 5, -100
C) Diseño de la solución
- En esta fase se diseña la lógica de la solución a usar.
- Cómo hará el programa la tarea que se desea automatizar usando los datos de entrada para generar los datos de salida, enfatizándose los diseños limpios, sencillos y claros.
- Pueden plantearse diferentes alternativas de solución al problema.
- El proceso de diseño se realiza en dos pasos: Diseño del algoritmo y verificación del algoritmos.
C) Diseño de la solución
Diseño del algoritmo
Diagrama de flujo
Pseudocódigo
C) Diseño de la solución
Pseudocódigo
- Lenguaje falso.
- Lenguaje intermedio entre el lenguaje natural y el lenguaje de programación.
- Implica la utilización de una serie de normas, aunque no son tan rígidas como las de un lenguaje de programación.
Instrucciones más comunes:
- Inicio y fin
- Asignación
- Lectura
- Escritura
- Si-Entonces
C) Diseño de la solución
3. Pseudocódigo
EJEMPLO:
inicio leer (n1, n2, n3, n4). promedio = (n1+n2+n3+n4)/4 escribir (promedio) fin
C) Diseño de la solución
3. Diagrama de flujo.
Lectura o entrada
Inicio y fin
Caja de decisiones
Proceso
Salida en pantalla
Secuencia de acciones
C) Diseño de la solución
3. Diseño del algoritmo: diagrama de flujo.
Ejemplo: Leer cuatro números enteros y calcular su promedio para luego mostrarlo en pantalla.
C) Diseño de la solución
Verificación del algoritmo.
A) Etapas de la programación
3. Diseño de la solución: pseudocódigo
Instrucciones más comunes:
- Lenguaje falso.
- Lenguaje intermedio entre el lenguaje natural y lenguaje de programación.
- Implica la utilización de una serie de normas, aunque no son tan rígidas como las de un lenguaje de programación.
- Inicio y fin
- Asignación
- Lectura
- Escritura
- Si-Entonces
D) Codificación
1. En este paso se traduce el algoritmo ya estructurado, verificado y comprobado a mano, al lenguaje de programación que vaya a utilizarse. 2. Conviertir las acciones del algoritmo en instrucciones de computadora usando la sintaxis de un lenguaje particular, 3. (Se requiere de conocimientos del lenguaje y de sumo cuidado en la colocación de las instrucciones, las que deben apegarse y seguir fielmente a la lógica del algoritmo y la semántica y sintaxis del lenguaje).
D) Codificación
Digitalización: El acto de teclear el algoritmo codificado, se lleva a cabo para almacenar el programa en la memoria de la computadora (virtual o física).
D) Codificación
Compilación:
- Corrección de los errores (sintácticos y semánticos) del código.
- Eliminación de los errores "gramaticales" según las reglas de construcción de instrucciones particulares del propio lenguaje (la sintaxis).
- Puede hacerse a medida que se traduce, pero es mejor al final para no perder la secuencia de la codificación.
- Al terminar esta fase el código debe estar libre de los errores antes mencionados.
- Para realizar la compilación puede hacerse uso de un
compilador.
- Las fallas de lógica no son detectadas por un compilador.
- Los errores identificados por el compilador deben ser corregidos.
E) Prueba y Depuración (Puesta a Punto o Testing)
- Determinar si el programa resuelve o no el problema planteado en forma satisfactoria.
- Usar datos de prueba.
- El programa codificado y compilado no garantiza que funcione correctamente.
- Debe depurarse (liberarse de errores de lógica o de ejecución) verificando todas las posibles alternativas haciendo el mayor número de combinaciones.
- Durante las pruebas se utilizan datos válidos, inválidos e incongruentes para observar cómo reacciona el programa en cada situación.
E) Prueba y Depuración (Puesta a Punto o Testing)
Posibles resultados: a. La lógica del programa está bien, pero hay errores sencillos. b. Hay errores ocasionados por fallas en la lógica (regresar a fases: Diseño y Codificación). c. Hay errores muy graves y lo más aconsejable es que regresemos a la fase 2 para analizar nuevamente el problema, y repetir todo el proceso. d. No hay errores.
F) Documentación
1. Es la fase más ignorada. 2. Mal hábito en programación y un gran error. 3. Es necesario generar un manual de operaciones (o Manual de Usuario). 4. De igual forma es de gran utilidad para los programadores (mantenimiento o actualizaciones). 5. De lo contrario, puede ser difícil de entender para el mismo autor.
F) Documentación
Partes de la documentación: a) Documentación Interna: Comentarios que se añaden al código fuente. b) Documentación Externa: Material creado y empleado durante el desarrollo del programa:
- Descripción del Problema
- Narrativo con la descripción de la solución
- Autor(s)
- Algoritmo (diagrama de flujo y/o pseudocódigo)
- Código Fuente (programa)
- Relación de los elementos utilizados en el programa, cada uno con su respectiva función
- Limitaciones del programa
c) Manual del Usuario: Describe paso a paso la manera cómo funciona el programa.
F) Implementación
El programa ya probado, revisado y mejorado se considera terminado y puede utilizarse con un alto grado de confianza para resolver los problemas que dieron origen a su creación.
F) Mantenimiento
- Es posible que el programa deba revisarse cada cierto tiempo para ajustes.
- Estos cambios pueden ser por la dinámica del problema, por la naturaleza del código, las exigencias del tiempo o las nuevas necesidades que surgen frecuentemente.
- Por lo anterior, se considera que ningún programa es estático.
Dudas!
Actividad 3: Diseño y desarrollo de programas de computadora
Investigación sobre el diseño y desarrollo de programas de computadora para hacer un mapa mental, que debe partir de la idea central: “Diseño y desarrollo de programas” y con base en esta idea debes agregar imágenes y pequeñas descripciones sobre la definición de un programa y las etapas que intervienen en su diseño. Esto con el objetivo de que observes de manera gráfica todos los elementos inmersos en el diseño y desarrollo de programas de computadora.
- 20 minutos para investigar y crear la tabla.
- Presentación.
- Punto extra (mejor mapa menatal).
- Cargar la tabla en la plataforma (Actividad2_Nombre).
Palabras reservadas
Palabras reservadas
Las palabras reservadas en programación, o palabras clave, tienen un significado especial para el compilador de cualquier lenguaje de programación.
Estas palabras pueden identificar los tipos de datos que se pueden usar, además de la diferentes rutinas de programación que permite cada lenguaje.
Palabras reservadas
Para usar los tipos de datos:
- bool
- int
- char
- byte
- long
- double
Palabras reservadas
Para identificar diferentes rutinas de programación:
- if
- else
- while
- for
- switch
- case
- break
- try
- return
- void
Palabras reservadas
En lenguajes de programación orientado a objetos, puedes ver estas palabras clave:
- public
- protected
- private
- class
- abstract
- interface
- this
- friend
Palabras reservadas
Otras palabras reservadas de algunos lenguajes de programación serían
- main
- new
- operator
- sizeof
- typedef
Palabras reservadas
Las palabras reservadas dependen del lenguaje de programación. No es lo mismo programar en C++ que maneja punteros, que otro como Python, mucho más minimalista a la hora de escribir código.
Palabras reservadas
A la hora de empezar a programar, una vez elegido el lenguaje de programación, irás aprendiendo las diferentes palabras reservadas de ese lenguaje.
Palabras reservadas
Si en algún momento cambias de lenguaje, una vez ya sabes los fundamentos de la programación, es posible que tengas que aprender nuevas palabras reservadas, además del cambio de escritura en el código, pero te darás cuenta que con un poco de práctica, la curva de aprendizaje (que es cuanto tardas en aprenderlo) será mucho más fácil.
Palabras reservadas
Todas las palabras reservadas están prohibidas para usarlas con otro propósito. Por ejemplo, no podemos llamar una variable o función if o int ya que el compilador lo entendería como un error.
Actividad 4: Conceptos básicos de java
Con base en las instrucciones especificadas en clase, genera una captura de pantalla de cada código y el resultado de la ejecución de los programas que se te indiquen. Pega la captura en el editor de textos de tu preferencia y agrega una descripción que incluya los puntos más relevantes que se contemplan en el código: a) Instrucciones de java utilizadas y su función, b) Elementos que se pueden editar o cambiar por otros, c) Estructura de la sentencia.
- Cargar el docucmento en la plataforma (Particpación2_Nombre).
Participación 3: Conceptos básicos de java
Ejemplo
Identificadores
Identificadores
Nombres que se dan a las constantes simbólicas, variables, funciones, procedimientos, u otros objetos que manipula el algoritmo.
La reglas para construir un identificador son:
a) Debe ser significativo según lo que representa.
b) No usar palabras reservadas, propias del lenguaje algorítmico.
c) Se recomienda un máximo de 50 caracteres.
d) Comenzará siempre por un carácter alfabético y los siguientes podrán ser
letras, dígitos o el símbolo de subrayado.
e) Podrá ser utilizado indistintamente escrito en mayúsculas o en minúsculas.
Identificadores
Ejemplos:
a) número uno: n1, n_uno, _n1, N1, numero1, numUno, 1num
b) Nombre diez: nom_10, NomDiez, NombreDiez, nombre10%, nombre
Participación 3: Identificadores
1. Copia identificadores en un documento de Excel.
2. Indica cuáles cumplen con las reglas y cuáles no.
3. Cargar a la plataforma con el nombre Participación3_Nombre.
Tipos de datos
Tipos de datos
Un dato es la expresión general que describe los objetos con los cuales opera el algoritmo. El tipo de un dato determina su forma de almacenamiento en memoria y las operaciones que van a poder ser efectuadas con él. En principio, hay que tener en cuenta que prácticamente en cualquier lenguaje, y por tanto en cualquier algoritmo, se podrán usar datos de los siguientes tipos:
Tipos de datos
a) Entero: Subconjunto finito de los números enteros, cuyo rango o tamaño dependerá del lenguaje en el que posteriormente codifiquemos el algoritmo y de la computadora utilizada (-infinito a +infinito).
b) Real: Subconjunto de los números reales limitado no sólo en cuanto al tamaño, sino también en cuanto a la precisión 0.0000000....1.
c) Lógico: Conjunto formado por los valores verdadero y falso.
d) Carácter. Conjunto finito y ordenado de los caracteres que la computadora reconoce.
e) Cadena: Los datos (objetos) de este tipo contendrán una serie finita de caracteres, que podrán ser directamente traídos o enviados a/desde la consola.
f) Arreglos: conjunto de datos del mismo tipo (númericos, lógicos o alfanuméricos).
g) Estructuras: conjunto de datos de diferentes tipos (númericos, lógicos o alfanuméricos).
Constantes
Constantes
Son datos cuyo valor no cambia durante todo el desarrollo del algoritmo. Las constantes podrán ser literales o con nombres, también denominadas simbólicas. - Las constantes simbólicas o con nombre se identifican por su nombre y el valor asignado.
- Una constante literal es un valor de cualquier tipo que se utiliza como tal. Tendremos pues constantes:
Constantes
Plantilla para psuedocódigo:
Con <tipo_de_dato> : <identificadores_de_constantes1 = valor, identificadores_de_constantes2 = valor, ...>
donde:
<tipo_de_dato> representa un tipo de dato
y
<identificadores_de_constante> deberá ser sustituido por una lista con los
nombres de las constantes de dicho tipo separados por comas
y valor representa el valor asignado a dicha variable Ejemplos: Entero: n1=-1, n2=100, n3=10000, n4=150
Cadena: nombre="Octavio Ramos Figueroa", ciudad = "Xalapa", sexo="Masculino"
Constantes
Ejemplos en java
Variables
Variables
Una variable es un objeto cuyo valor puede cambiar durante el desarrollo del algoritmo. Se identifica por su nombre y por su tipo, que podrá ser cualquiera, y es el que determina el conjunto de valores que podrá tomar la variable. En los algoritmos se deben declarar las variables que se van a usar, especificando su tipo. Según la forma para la representación del algoritmo elegida la declaración se hará con una simple tabla de variables o de una forma algo más rígida, especificando:
Constantes
Plantilla pseudocódigo:
var
<tipo_de_dato> : <lista_identificadores_de_variable>
donde:
<tipo_de_dato> representa un tipo de dato
y
<lista_identificadores_de_variable> deberá ser sustituido por una lista con los
nombres de las variables de dicho tipo separados por comas
Ejemplos: Entero: n1, n2, n3, n4 Cadena: nombre, ciudad, sexo
Constantes
Ejemplos en java
Operadores
Operadores
Aritméticos
Comparación
Lógicos
Operadores
Expresiones:
- Numéricas
- Alfanuméricas
- Booleanas o lógicas
Operadores
Expresiones: NuméricasLos operandos que intervienen en ellas son numéricos, el resultado es también de tipo numérico y se construyen mediante los operadores aritméticos. Se pueden considerar análogas a las fórmulas matemáticas. Debido a que son los que se encuentran en la mayor parte de los lenguajes de programación, los algoritmos utilizarán los siguientes operadores aritméticos: menos unario (–), multiplicación (*), división real (/), exponenciación (**), adición (+), resta (–), módulo de la división entera (mod) y cociente de la división entera (div). Tenga en cuenta que la división real siempre dará un resultado real y que los operadores mod y div sólo operan con enteros y el resultado es entero.
Operadores
Plantilla pseudocódigo Expresiones: Numéricas:
<variable> = <operaciones>
donde:
<variable> representa el nombre de la variable que va a guardar el resultado de una o más operaciones y
<operaciones> deberá ser sustituido por las operaciones matemáticas a realizar Ejemplos: suma= n1+n2; Suma=5+10
Operadores
Expresiones: NuméricasEjemplos....
Operadores
Expresiones: AlfanuméricasLos operandos son de tipo alfanumérico y producen resultados también de dicho tipo. Se construyen mediante el operador de concatenación, representado por el operador ampersand (&) o con el mismo símbolo utilizado en las expresiones aritméticas para la suma.
Operadores
Expresiones: AlfanuméricasEjemplos....
Operadores
Ejemplo 1: Diseña un programa que lea 3 números enteros para calcular su promedio y mostrar el resultado en pantalla
Operadores
Ejercicio 1: Diseña un programa que lea 3 números decimales para calcular su promedio y mostrar el resultado en pantalla
Operadores
Ejercicio 2: Diseña un programa que calcule el área y el perímetro de un rectángulo que mide: 10 cm de alto por 20 cm de largo, para luego mostrar los resultados en pantalla.
1. Definición del problema. 2. E-P-S.
3. Pseudocódigo. 4. Diagrama de flujo.
5. 10 Corridas (Validar). 6. Programación (Código y Salida)
Operadores
Ejercicio 3: Diseña un algoritmo que lea dos número para calcular dos potencias. En la primera operación, el número que fue introducido primero es utilizado como la base y el segunco como el exponenete. Por otro lado, en la segunda operación se intercambia el rol de los números. Es decir, el segundo número se utiliza como la base y el primero como el exponenete. Después de calcular las dos potencias, motrar los resultados en pantalla. 1. Definición del problema. 2. E-P-S. 3. Pseudocódigo. 4. Diagrama de flujo. 5. 10 Corridas (Validar). 6. Programación (Código y Salida)
Operadores
Ejercicio 4: Diseña un programa que lea dos números por teclado para determinar cuál es el máximo y cuál es el mínimo y mostrar el resultado en pantalla. 1. Definición del problema. 2. E-P-S.
3. Pseudocódigo. 4. Diagrama de flujo.
5. 10 Corridas (Validar). 6. Programación (Código y Salida)
Operadores
Aritméticos
Comparación
Lógicos
Operadores
Expresiones: Booleanas o lógicasSu resultado podrá ser verdad o falso. Se construyen mediante los operadores relacionales y lógicos. Los operadores de relación son: igual (=), distinto (<>), menor que (<), mayor que (>), mayor o igual (>=), menor o igual (<=). Actúan sobre operandos del mismo tipo y siempre devuelven un resultado de tipo lógico. Los operadores lógicos básicos son: negación lógica (no), multiplicación lógica (y), suma lógica (o). Actúan sobre operandos de tipo lógico y devuelven resultados del mismo tipo, determinados por las tablas de verdad correspondientes a cada uno de ellos.
Operadores
Expresiones: Booleanas o lógicasEjemplo 2: Diseñe un programa que lea dos números por teclado, para determinar si el primero es menor que el segundo y mostrar el resultado en pantalla.
Operadores
Expresiones: Booleanas o lógicasEjercicio 5: Diseñe un programa que lea tres números por teclado, para calcular su promedio y determinar si el promedio es menor a 20. Mostrar el resultado en pantalla.
1. Definición del problema. 2. E-P-S.
3. Pseudocódigo. 4. Diagrama de flujo.
5. 10 Corridas (Validar). 6. Programación (Código y Salida)
Operadores
Aritméticos
Comparación
Lógicos
Operadores
Expresiones: Booleanas o lógicasLos operadores lógicos pueden crear condiciones compuestas en una fórmula. Por ejemplo, para especificar que se deben cumplir dos o más condiciones para elegir un determinado método de cálculo. Con los operadores lógicos, puede describir estas combinaciones de condiciones.
Operadores
Expresiones: Booleanas o lógicas
Expresiones: Booleanas o lógicas
Objetivo o meta
o o o
Inicio
Operadores
Ejemplo: Promoción en el cine cuando vas tú con tres amigos.
¿Si tu amigo 1 tiene membresía?
¿Si tú tienes tarjeta de membresía del cine?
¿Si tu amigo 2 tiene membresía?
¿Si tu amigo 3 tiene membresía?
OR
Promoción
Expresiones: Booleanas o lógicas
Objetivo o meta
inicio
Operadores
Ejemplo: Promoción de cumpleañero en restaurantes
¿Son seis o más comensales?
¿Es cumpleaños de uno de los comensales?
Descuento
AND
Operadores
Expresiones: Booleanas o lógicasEjemplo 3: Diseñe un programa que indique si la siguiente expresión es verdadera o falsa: 3 > 2 && 4 < 5 Mostrar el resultado en pantalla.
Operadores
Expresiones: Booleanas o lógicasEjercicio 6: Diseñe un programa que indique si la siguiente expresión es verdadera o falsa: 3 > 2 || 4 < 3 Mostrar el resultado en pantalla.
Unidad III Programación estructurada
3.1 Definición de estructura.
3.2 Estructuras de programación.
3.3 Estructuras de algoritmos y de programas.
3.4 Estructuras de control secuencial.
3.5 Estructuras de control selectiva: if/else.
3.6 Estructuras de control repetitiva: while, do/while, for.
¿Qué es una estructura?
¿Qué es una estructura?
- Se refiere a la disposición y distribución de las partes de un todo, cuyo orden y relación entre sí permiten el funcionamiento de un determinado sistema.
- Proviene del latín structus, que quiere decir 'construido', y la partícula ura, que quiere decir 'resultado' o 'actividad'.
- En una estructura, cada elemento tiene una función específica y una correlación con los demás elementos que componen la estructura.
¿Qué es una estructura?
- Una estructura está diseñada para cumplir una función.
- El término "estructura" puede aplicarse tanto a sistemas materiales como a sistemas inmateriales.
- Estructuras materiales: se refieren a objetos concretos que tienen una entidad física. Todo objeto, sea natural o construido por el hombre, tiene una estructura y esta estructura garantiza el orden y funcionamiento de las partes del todo: edificios, animales, plantas, etc.
- En cuanto a las estructuras inmateriales, estas suelen estar referidas a procesos, relaciones o flujo de información.
Estructuras de algoritmos y de programas.
Estructuras de programación.
Elementos (Variables y Operaciones) Función Resolver un problema Conexiones (Pseudocódigo-orden) (Diagrama-Flechas)
Estructuras de algoritmos y de programas.
Estructuras de algoritmos y de programas.
- Seceunciales:
- Selectiva: If, If/Else
- Repetitivas: While, Do/While, For
Estructuras de control secuencial
Paso 1 Paso 3 Paso 5
Paso 2 Paso 4
Estructuras de control secuencial
secuencia: ejecución de una sentencia tras otra.
Paso 1 Paso 3 Paso 5
Paso 2 Paso 4
Estructuras de control selectiva
Estructuras de control selectiva
Selección o condicional: ejecución de una sentencia o conjunto de sentencias, según el valor de una variable booleana. - Condición If (si la condición booleana se cumple, realizar ciertas instrucciones) - Condición If/Else (si la condición booleana se cumple, realizar ciertas instrucciones, si no, realizar un conjunto de instrucciones diferentes).
Estructura selectiva if
Pseudocódigo: Si <condición> entonces
<acciones1>
FinSi
Estructura selectiva if/else
Pseudocódigo: Si <condición> entonces
<acciones1>
SiNo
<acciones2>
FinSi
Ejemplo 4: Diseñe un programa que lea dos números, para luego dividir el primer número entre el segundo y mostrar el resultado en pantalla. Validar que el segundo número no sea 0.
Ejercicio 7: Diseñe un programa que lea 5 calificaciones de un alumno entre 2 y 10, para luego calcular su promedio e indicar si el alumno aprobó o reprobó. La calificación mínima probatoria es 6.
Ejercicio 8: Diseñe un programa que lea un número, para luego indicar en pantalla si el número es par o impar.
Ejercicio 9: Genere el código de un programa que lea un número entero positivo, calcule su raíz cuadrada y muestre el resultado en pantalla.
Actividad asincrónica 6: Ejercicio de estructuras selectivas II
Ejercicio 10: Diseñe un programa que lea un número, para posteriormente, si el número es par, calcular la raíz cuadrada del número leído, y si el número es impar, elevar el número al cuadro. Mostrar en pantalla el resultado de la operación realizada.
Actividad asincrónica 6: Ejercicio de estructuras selectivas II
Ejercicio 11: Diseñe un programa que lea 3 números, para posteriormente ordenarlos y mostrar en pantalla los números ordenados.
Estructura selectiva switch
Según (selector) hacer caso 1: Acción 1
Acción 2 case 2: Acción 3 Acción 4 case n: ...Acción n default: Excepción;FinSegún
Estructura selectiva switch
Ejemplo: Genera el código de un algoritmo que lea un número entre 1 y 5, para luego mostrar en pantalla en que caso se encuentra según la estructura switch.Actividad sincrónica 7: Bitácora de ejemplos de estructuras de control selectivas
Participación 4: Estructuras de control selectivas
Investiga sobre las estructuras de control selectivas (if, if/else y switch) y crea una tabla comparativa. Crea la tabla con la herramienta de tu preferencia y cárgalo a la plataforma con le nombre Participación4_Nombre(s)Apellido1Apellido2. - Tienes 20 minutos para generar tu tabla . - Guardar el documento como: EstructuraDeControlSelectivas_Nombre(S)Apellido1Apellido2 en la sección Participación a: Estructuras de control selectivas.
Actividad asincrónica 6: Ejercicio de estructuras selectivas III
Ejercicio 12: Diseñe un programa que muestre un menú con cuatro opciones para realizar operaciones matemáticas básicas con dos números enteros introducidos por el usuario. Utiliza el siguiente orden: Opción a: suma, Opción b: resta, Opción c: multiplicación, Opción d: división. Mostrar el resultado en pantalla.
Actividad asincrónica 6: Ejercicio de estructuras selectivas III
Ejercicio 13: Diseñe un programa que muestre un menú con tres opciones para realizar las siguientes operaciones matemáticas: Opción a: raíz cuadrada, Opción b: el cuadrado de un número, Opción c: mod 2 de un número. El programa debe leer la opción seleccionada y un número entero para aplicarle la operación elegida y mostrar el resultado en pantalla.
Actividad asincrónica 6: Ejercicio de estructuras selectivas III
Ejercicio 14: Diseña un programa que muestre un menú con cuatro opciones para realizar operaciones matemáticas básicas con dos números enteros introducidos por el usuario. Utiliza el siguiente orden: Opción a: suma, Opción b: resta, Opción c: multiplicación, Opción d: división. Mostrar el resultado en pantalla (utiliza la sentencia If).
Actividad asincrónica 6: Ejercicio de estructuras selectivas III
Ejercicio 15: Diseñe un programa que muestre un menú con tres opciones para realizar las siguientes operaciones matemáticas: Opción a: raíz cuadrada, Opción b: el cuadrado de un número, Opción c: mod 2 de un número. El programa debe leer la opción seleccionada y un número entero para aplicarle la operación elegida y mostrar el resultado en pantalla (utiliza la sentencia If).
Participación 5: Estructuras de control repetitivas
En clase, busca información relacionada con el tema Estructura de control repetitiva: while, do/while, y for. Una vez analizada toda la información, deberás generar una infografía, para posteriormente presentarla en clase.
- Tienes 20 minutos para generar tu infografía en la herramienta de su elección: Power
Point, Canvas, Geneally, Paint, etc.
- Guardar el documento en formato .pdf para cargarlo en la plataforma con el nombre
Participación5_Nombre(S)Apellido1Apellido2 en la sección
Participación 5: Estructuras de control repetitivas.
Estructuras de control repetitivas
Conceptos básicos:
Definición de bucle (lazo): El bucle, ciclo o lazo, es un segmento de un algoritmo o programa cuyas instrucciones se repiten un número determinado de veces, mientras se cumple una determinada condición específica (existe o es verdadera la condición).
Estructuras de control repetitivas
Conceptos básicos:
Características Características de un bucle (lazo): a. Conjunto de instrucciones finito b. Número de ciclos finito (basado en condiciones implicitas y explicitas). - Condición explícita: Depende solamente del algoritmo. - Condición implícita: Depende solamente del usuario. c. Deben estar claramente marcado el inicio y fin del ciclo (si solo es una instrucción no es necesario).
d. Dentro de un ciclo podrá ir cualquiera de las otras estructuras que se han estudiado incluyendo otros ciclos.
Estructuras de control repetitivas
Conceptos básicos:
Características Iteración: - Es cada una de las diferentes pasadas o ejecuciones de todas las instrucciones contenidas en el bucle.
Estructuras de control repetitivas
Conceptos básicos:
Características Contadores: Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad fija en cada iteración. Se utilizan en los siguientes casos: - Para contabilizar el número de veces que es necesario repetir una acción (variable de control de un bucle)
- Para contar un suceso particular solicitado por el enunciado del problema (asociado a un bucle independiente)
- Representa la variable de control del ciclo.
- Toma un valor inicial (generalmente 0 ó 1) y se incrementa en la mayoría de los casos. - Toma un valor inicial y se compara con el valor final.
Estructuras de control repetitivas
Conceptos básicos:
Acumulador o totalizador: Un acumulador es un campo de memoria que suma sobre sí misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable. Se utiliza en aquellos casos en que se desea obtener el total acumulado de un conjunto de cantidades, siendo preciso inicializarlo con el valor cero.
Además en las situaciones en que hay que obtener un total como producto de distintas cantidades se utiliza un acumulador, debiéndose inicializar con el valor..
Estructuras de control repetitivas
Tipos de ciclos:
- For (desde). - While (mientras). - Repeat (repetir).
Estructuras de control repetitivas
Ciclo For:
-La estructura repetitiva For (desde) es aquella en la que el número de iteraciones se conoce por anticipado, y por ello no se precisa poner ninguna condición de salida para detener el bucle. En su lugar un contador cuenta el número de iteraciones fijas y se termina cuando llega al valor final previamente definido.
Quiere decir que esta estructura se usa frecuentemente cuando se conoce de antemano el número de veces que se ejecutarán las acciones de un bucle. Esta es una de sus características.
Estructuras de control repetitivas
Ciclo For (diagrama de flujo):
PARA i DESDE valor inicial HASTA valor final HACER Instrucciones FIN PARA
Actividad sincrónica 8: Estructuras repetitivas
Ejemplo 1: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Ejemplo 1: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
2. E-P-S Entrada: ---- Proceso: calcular el cuadrado de los primeros 100 enteros y sumarlos. Salida: la suma de los cuadrados de los primeros 100 enteros
Ejemplo 1: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
3. Pseudocódigo //Var Entero: suma, contador Inicio suma=0; Para contador Desde 1 Hasta 100
suma=suma+contador*contador;
FinPara Escribir(suma) Fin
Ejemplo 1: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
4. Diagrama de flujo
Ejemplo 1: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
Proceso Salida
5. Tabla de ejecuciones
Ejemplo 1: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
6. Código
Actividad sincrónica 9: Bitácora de ejercicios de estructuras de control repetitivas
Ejercicio 1: Calcular la multiplicación de las raíces cuadradas de los primeros 1000 enteros y escribir el resultado.
1. Lenguaje Natural 2. Identifica el E-P-S 3. Diseña el pseudocódigo 4. Diseña el diagrama de flujo 5. Genera la tabla de pruebas de escritorio 6. Código.
Ejercicio 2: Escriba un programa que pida dos números enteros y escriba qué números son pares y cuáles impares desde el primero hasta el segundo.
1. Lenguaje Natural
2. Identifica el E-P-S
3. Diseña el pseudocódigo
4. Diseña el diagrama de flujo
5. Genera la tabla de pruebas de escritorio
6. Código.
Ejercicio 3: Escriba un programa que pida un número entero mayor que cero y que escriba sus divisores.
1. Lenguaje Natural
2. Identifica el E-P-S
3. Diseña el pseudocódigo
4. Diseña el diagrama de flujo
5. Genera la tabla de pruebas de escritorio
6. Código.
Ejemplo 2: Escribe en pantalla los primeros 100 números enteros en orden decreciente (del 100 al 1).
1. Lenguaje Natural
2. Identifica el E-P-S
3. Diseña el pseudocódigo
4. Diseña el diagrama de flujo
5. Genera la tabla de pruebas de escritorio
6. Código.
Ejemplo 2: Escribe en pantalla los primeros 100 números enteros en orden decreciente (del 100 al 1).
2. E-P-S Entrada: ---- Proceso: recorrer los primeros 100 enteros. Salida: mostrar los primeros 100 números en orden decreicente.
Ejemplo 2: Escribe en pantalla los primeros 100 números enteros en orden decreciente (del 100 al 1).
3. Pseudocódigo //VAR Entero: contador Inicio Para contador Desde 100 Hasta 1 escribir("No: ", contador) FinPara Fin
Ejemplo 2: Escribe en pantalla los primeros 100 números enteros en orden decreciente (del 100 al 1).
4. Diagrama de flujo
Ejemplo 2: Escribe en pantalla los primeros 100 números enteros en orden decreciente (del 100 al 1).
Proceso Salida
5. Tabla de ejecuciones
Ejemplo 2: Escribe en pantalla los primeros 100 números enteros en orden decreciente (del 100 al 1).
6. Código
Actividad asincrónica 7: Estructuras repetitivas II
Ejercicio 4: Crea un programa que muestra el cubo de los primeros 10 números enteros negativos (-1, -2, ..., -10) en orden decreciente.
1. Lenguaje Natural 2. Identifica el E-P-S 3. Diseña el pseudocódigo 4. Diseña el diagrama de flujo 5. Genera la tabla de pruebas de escritorio 6. Código.
Estructuras de control repetitivas
Ciclo while:
-Con esta sentencia se controla la condición antes de entrar en el bucle (ciclo). Si ésta no se cumple, el programa no entrará en el bucle.
Naturalmente, si en el interior del bucle hay más de una sentencia, éstas deberán ir entre llaves para que se ejecuten como un bloque (esto para el caso de java).
Estructuras de control repetitivas
Ciclo while: Diagrama de flujo y pseudocódigo
MIENTRAS condición HACER Instrucciones FIN MIENTRAS
Ejemplo 3: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
1. Lenguaje natural 2. Identifica el E-P-S
3. Diseña el pseudocódigo
4. Diseña el diagrama de flujo
5. Genera la tabla de pruebas de escritorio
6. Código.
Ejemplo 3: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado (while).
2. E-P-S Entrada: ---- Proceso: calcular el cuadrado de los primeros 100 enteros y sumarlos. Salida: la suma de los cuadrados de los primeros 100 enteros
Ejemplo 3: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
2. Pseudocódigo //VAR Entero: suma, contador; Inicio suma=0; contador=1; Mientras contador<= 100 Hacer suma=suma+contador*contador;
contador ++; FinMientras Escribir(suma) Fin
Ejemplo 3: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
3. Diagrama de flujo
Ejemplo 3: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
Proceso Salida
4. Tabla de ejecuciones
Ejemplo 3: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
5. código
Actividad sincrónica 11: Estructuras repetitivas II
Ejercicio 1: Calcular la multiplicación de las raíces cuadradas de los primeros 1000 enteros y escribir el resultado (while).
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Estructuras de control repetitivas
Ciclo do...while:
-Con esta sentencia se controla la condición al final del bucle. Si ésta se cumple, el programa vuelve a ejecutar las sentencias del bucle.
La única diferencia entre las sentencias while y do...while es que con la segunda el cuerpo del bucle se ejecutará por lo menos una vez.
Estructuras de control repetitivas
Ciclo do...while: Diagrama de flujo y pseudocódigo
HACER Instrucciones MIENTRAS condición
Ejemplo 4: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado (do...while).
1. Lenguaje natural 2. Identifica el E-P-S
2. Diseña el pseudocódigo
3. Diseña el diagrama de flujo
4. Genera la tabla de pruebas de escritorio
5. Código.
Ejemplo 4: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
2. E-P-S Entrada: ---- Proceso: calcular el cuadrado de los primeros 100 enteros y sumarlos. Salida: la suma de los cuadrados de los primeros 100 enteros
Ejemplo 4: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
3. Pseudocódigo //Var Entero: suma, contador; Inicio suma=0; contador=1; Hacer suma=suma+contador*contador;
contador ++; Mientras contador<= 100 Escribir(suma) Fin
Ejemplo 4: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
3. Diagrama de flujo
Ejemplo 4: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
Proceso Salida
4. Tabla de ejecuciones
Ejercicio 2: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
4. Código
Actividad sincrónica 8: Estructuras repetitivas II
Ejercicio 3: Calcular la multiplicación de las raíces cuadradas de los primeros 1000 enteros y escribir el resultado (do...while).
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Actividad asincrónica 7: Estructuras de control repetitivas III
Resuelve los siguientes ejercicios con utilizando alguna de las 3 estructuras de control repetitivas(for, while y do-while). Utilizada cada estructura para resolver al menos uno de los ejercicios: 1. Crea una aplicación que pida un número y calcule su factorial (el factorial de un número es el producto de todos los enteros entre 1 y el propio número y se representa por el número seguido de un signo de exclamación. Por ejemplo 5! = 1x2x3x4x5=120)
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Actividad asincrónica 7: Estructuras de control repetitivas III
Resuelve los siguientes ejercicios con utilizando alguna de las 3 estructuras de control repetitivas(for, while y do-while). Utilizada cada estructura para resolver al menos uno de los ejercicios:: 2. Algoritmo que pida caracteres e imprima ‘VOCAL’ si son vocales y ‘NO VOCAL’ en caso contrario, el programa termina cuando se introduce un espacio.
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Actividad asincrónica 7: Estructuras de control repetitivas III
Resuelve los siguientes ejercicios con utilizando alguna de las 3 estructuras de control repetitivas(for, while y do-while). Utilizada cada estructura para resolver al menos uno de los ejercicios:: 3. Algoritmo que pida números hasta que se introduzca un cero. Debe imprimir la suma y la media de todos los números introducidos.
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Actividad asincrónica 7: Estructuras de control repetitivas III
Resuelve los siguientes ejercicios con utilizando alguna de las 3 estructuras de control repetitivas(for, while y do-while). Utilizada cada estructura para resolver al menos uno de los ejercicios: 4. Realizar un algoritmo que muestre la tabla de multiplicar de un número introducido por teclado.
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Pseudocódigo
C1 - Programación Estructurada
Octavio Ramos
Created on February 18, 2021
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Visual Presentation
View
Terrazzo Presentation
View
Colorful Presentation
View
Modular Structure Presentation
View
Chromatic Presentation
View
City Presentation
View
News Presentation
Explore all templates
Transcript
Programación Estructurada
M.I.A. Octavio Ramos FigueroaE-mail: UX99979776@UX.EDU.MX WhatsApp: 2281124551
Enfoque híbrido Modelo constructivista
01 Dinámica de presentación
Dinámica de presentación
1. Nombre. 2. Lugar de nacimiento. 3. Edad. 4. Preparatoria dónde estudié. 5. ¿Por qué elegí esta carrera? 6. ¿Qué espero de esta materia? 7. ¿Cuándo estudio prefiero leer, escuchar o escribir? 8. Pasatiempo preferido. 9. ¿En dónde me veo en 10 años?
01 Generalidades del curso
Objetivo del curso
Comunicación
Esquema de evaluación
Bibliografía
03 Encuadre
Puntos a tomar en cuenta durante las clases
Asistencia
Camara
Dudas y comentarios
Puntosextra
Entrega de trabajos
04 Consenso: Criterios de evaluación
Criterios de evaluación
Particiáción
Actividades sincrónicas
Evaluación
Actividades asincrónicas
Criterios de evaluación
05 Examen diagnóstico
Liga para examen diagnóstico
https://forms.gle/nMfrgm9TENS5Bjx57
Análisis de resultados
Unidad I Lenguaje de programación
1.1 Importancia de los lenguajes de programación. 1.2 Definición de lenguaje de programación. 1.3 Lenguajes de bajo y alto nivel. 1.4 Compilación e Interpretación. 1.4.1 Compilador. 1.4.2 Intérprete.
Lenguajes de programación
¿Porqué son importantes los lenguajes de programación?
¿Porqué son importantes los lenguajes de programación?
Muchas de las herramientas que utilizamos hoy en día fueron creadas a partir de un lenguaje programación. Como ejemplos de este tipo de desarrollos nos podemos encontrar desde una aplicación para móviles, páginas web, servicios en Internet, programación de gestión y un largo etcétera, podemos decir que la programación puede desarrollar casi cualquier funcionalidad.
¿Qué es un lenguaje de programación?
¿Qué es un lenguaje de programación?
Lenguaje formal que, mediante una serie de instrucciones, le permite a un programador escribir un conjunto de órdenes, acciones consecutivas, datos y algoritmos para, de esa forma, crear programas que controlen el comportamiento físico y lógico de una máquina.
Lenguaje de programación: Comunicación. (Datos, Tratamiento y Acciones).
Lenguaje máquina
Bajo nivel
Lenguaje ensamblador
Tipos de lenguajes de programación
Traductor
Alto nivel
Compilador
Actividad 1: Exposición lenguajes de programación
Busca información relevante sobre el tipo de lenguaje de programación que te toco y diseña una presentación a partir de la información que encuentres para que la presentes en clase.
Lenguajes de programación
Historia de los lenguajes de progrmación
A) Aplicaciones de los lenguajes de programación
B) Características de los lenguajes de programación
Simplicidad:
La simplicidad de un lenguaje se refiere a la semántica, cantidad de estructuras o conceptos disponibles, con una sintaxis clara, limpia y organizada. Por ejemplo: evitando la declaración de variables como Python y Go.
B) Características de los lenguajes de programación
Compatibilidad:
Utilización con diferentes sistemas operativos. ¿Qué sistema operativo utiilzas?
B) Características de los lenguajes de programación
Interoperabilidad:
Propiedad que tienen los programas de interactuar entre sí.
B) Características de los lenguajes de programación
Naturalidad:
Su aplicación en el área para la que fue diseñado debe hacerse de forma natural.
B) Características de los lenguajes de programación
Precisión o Regularidad:
Los lenguajes deben ser precisos en su interpretación, es decir, se deben comportar siempre tal y como se espera que se comporten.
B) Características de los lenguajes de programación
Portabilidad:
Es la posibilidad de construir programas independientes de la máquina donde se ejecuten.
B) Características de los lenguajes de programación
Seguridad:
Se refiere a la predicción de errores en el código fuente, evitándolos.
B) Características de los lenguajes de programación
Eficiencia:
Facilidad con la que se genera el código ejecutable eficientemente. Incluyendo sus etapas de implementación, traducción, programación.
B) Características de los lenguajes de programación
Expresividad:
Cualidad de un lenguaje de programación que permite representar procesos y estructuras complejos.
B) Características de los lenguajes de programación
Extensibilidad:
Capacidad de poder añadir nuevas características .
Actividad 2: Tabla: lenguajes de programación
Investiga el nombre de al menos 10 lenguajes de programación y crea una tabla cómo la que se muestra a continuación.
Ejemplo
Unidad II Estructura de los lenguajes de programación
2.1 Entornos de programación (IDE’s). 2.2 Estructura de un programa. 2.2.1 Palabras reservadas. 2.2.2 Identificadores. 2.2.3 Tipos de datos simples. 2.2.4 Tipos de datos compuestos. 2.2.5 Variables y Constantes. 2.2.6 Operadores aritméticos. 2.2.7 Operadores lógicos
Entornos de programación (IDEs)
IDE:
Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación. Es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica. Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. El lenguaje Java, por ejemplo, puede ser usado por medio del IDE NetBeans.
Historia de los lenguajes de progrmación
https://www.youtube.com/watch?v=hPbvq7oe7dI
¿Qué es Java?
https://www.youtube.com/watch?v=hPbvq7oe7dI
Algoritmos
A) ¿Qué es un algoritmo?
A) ¿Qué es un algoritmo?
Inicio
Paso 1
Paso 2
Fin
Paso ...
B) Algoritmos en el día a día
Algoritmo para asistir a clases:
Participación 1: Algoritmos en el día a día
Diseña una imagen como la presentada en la diapositiva anterior con un ejemplo diferente.
D) Definición formal de algoritmo
No existe un consenso definitivo sobre la definición formal. La definición más común señala que un algoritmo es una lista de instrucciones a seguir para resolver un problema, dónde se debe especificar claramente la entrada, el proceso y la salida del problema a resolver.
No existe un consenso definitivo sobre la definición formal. La definición más común señala que un algoritmo es una lista de instrucciones a seguir para resolver un problema, dónde se debe especificar claramente la entrada, el proceso y la salida del problema a resolver.
Proceso
Entrada
Salida
Entrada
E) Ejemplo
Ingredientes
Proceso
Receta para hacer un sadwich
Salida
F) Características de un algoritmo
+ info
Finito
+ info
Preciso
+ info
Definido
G) Tipos de algoritmo
Se conocen todas las entradas.
Constantes
Según el tipo de entradas
Al menos una variable es desconocida.
Variables
G) Características de un algoritmo
Simples
Según el tipo de dato
Complejos
H) Medios de expresión de un algoritmo
Lenguaje de programación
Pseudocódigo
Lenguaje natural
Diagrama de flujo
H) Medios de expresión de un algoritmo
Pseudocódigo
H) Medios de expresión de un algoritmo
Diagrama de flujo
H) Medios de expresión de un algoritmo
Lenguaje de programación(Código)
Participación 2: Formas de representar un algoritmo
Diseña una infografía sobre las formas de representar un algoritmo.
Programas de computadora
¿Qué es un programa de computadora?
También conocidos como aplicaciones o software, son un conjunto de instrucciones en forma secuencial, llamado código, que a través de su interpretación por el sistema operativo o hardware, le permiten desarrollar una acción específica a una computadora.
¿Qué necesito para desarrollar un programa de computadora?
Lenguaje de programación
Problema
Algoritmo
Diagrama de flujo
Lenguaje natural
Pseudocódigo
Etapas de la programación
A) Definición del problema
Visión general y clara del problema sin ambigüedades. Ayuda a identificar los elementos claves del problema y la futura solución, así como sus límites basados en su planteamiento textual (Lenguaje natural). Un problema mal planteado, incompleto o mal comprendido es un mal inicio para la programación. Las respuestas a las siguientes preguntas son claves para la correcta definición de un problema:
A) Definición del problema
¿Qué entradas se requieren, de qué tipo, en qué orden y qué cantidad? ¿Qué salidas se desean, de qué tipo, en qué orden y qué cantidad? ¿Qué método(s) o fórmula(s) produce(n), o puede(n) producir las salidas deseadas?
A) Definición del problema
Ejemplo: Leer cuatro números enteros y calcular su promedio para luego mostrarlo en pantalla.
5, 15, .05, 100
5, 15, 5, -100
5, 1.5, 5, 100
B) Análisis del problema
B) Análisis del problema
Ejemplo: Leer cuatro números enteros y calcular su promedio para luego mostrarlo en pantalla. Entrada: cuatro números enteros. Proceso: calcular el promecio. Salida: mostrar el promedio.
Proceso:(5+15+5+(-100))/4
Salida:prom=-18.75
Entrada:5, 15, 5, -100
C) Diseño de la solución
C) Diseño de la solución
Diseño del algoritmo
Diagrama de flujo
Pseudocódigo
C) Diseño de la solución
Pseudocódigo
Instrucciones más comunes:
C) Diseño de la solución
3. Pseudocódigo
EJEMPLO:
inicio leer (n1, n2, n3, n4). promedio = (n1+n2+n3+n4)/4 escribir (promedio) fin
C) Diseño de la solución
3. Diagrama de flujo.
Lectura o entrada
Inicio y fin
Caja de decisiones
Proceso
Salida en pantalla
Secuencia de acciones
C) Diseño de la solución
3. Diseño del algoritmo: diagrama de flujo.
Ejemplo: Leer cuatro números enteros y calcular su promedio para luego mostrarlo en pantalla.
C) Diseño de la solución
Verificación del algoritmo.
A) Etapas de la programación
3. Diseño de la solución: pseudocódigo
Instrucciones más comunes:
D) Codificación
1. En este paso se traduce el algoritmo ya estructurado, verificado y comprobado a mano, al lenguaje de programación que vaya a utilizarse. 2. Conviertir las acciones del algoritmo en instrucciones de computadora usando la sintaxis de un lenguaje particular, 3. (Se requiere de conocimientos del lenguaje y de sumo cuidado en la colocación de las instrucciones, las que deben apegarse y seguir fielmente a la lógica del algoritmo y la semántica y sintaxis del lenguaje).
D) Codificación
Digitalización: El acto de teclear el algoritmo codificado, se lleva a cabo para almacenar el programa en la memoria de la computadora (virtual o física).
D) Codificación
Compilación:
E) Prueba y Depuración (Puesta a Punto o Testing)
E) Prueba y Depuración (Puesta a Punto o Testing)
Posibles resultados: a. La lógica del programa está bien, pero hay errores sencillos. b. Hay errores ocasionados por fallas en la lógica (regresar a fases: Diseño y Codificación). c. Hay errores muy graves y lo más aconsejable es que regresemos a la fase 2 para analizar nuevamente el problema, y repetir todo el proceso. d. No hay errores.
F) Documentación
1. Es la fase más ignorada. 2. Mal hábito en programación y un gran error. 3. Es necesario generar un manual de operaciones (o Manual de Usuario). 4. De igual forma es de gran utilidad para los programadores (mantenimiento o actualizaciones). 5. De lo contrario, puede ser difícil de entender para el mismo autor.
F) Documentación
Partes de la documentación: a) Documentación Interna: Comentarios que se añaden al código fuente. b) Documentación Externa: Material creado y empleado durante el desarrollo del programa:
- Descripción del Problema
- Narrativo con la descripción de la solución
- Autor(s)
- Algoritmo (diagrama de flujo y/o pseudocódigo)
- Código Fuente (programa)
- Relación de los elementos utilizados en el programa, cada uno con su respectiva función
- Limitaciones del programa
c) Manual del Usuario: Describe paso a paso la manera cómo funciona el programa.F) Implementación
El programa ya probado, revisado y mejorado se considera terminado y puede utilizarse con un alto grado de confianza para resolver los problemas que dieron origen a su creación.
F) Mantenimiento
Dudas!
Actividad 3: Diseño y desarrollo de programas de computadora
Investigación sobre el diseño y desarrollo de programas de computadora para hacer un mapa mental, que debe partir de la idea central: “Diseño y desarrollo de programas” y con base en esta idea debes agregar imágenes y pequeñas descripciones sobre la definición de un programa y las etapas que intervienen en su diseño. Esto con el objetivo de que observes de manera gráfica todos los elementos inmersos en el diseño y desarrollo de programas de computadora.
Palabras reservadas
Palabras reservadas
Las palabras reservadas en programación, o palabras clave, tienen un significado especial para el compilador de cualquier lenguaje de programación. Estas palabras pueden identificar los tipos de datos que se pueden usar, además de la diferentes rutinas de programación que permite cada lenguaje.
Palabras reservadas
Para usar los tipos de datos: - bool - int - char - byte - long - double
Palabras reservadas
Para identificar diferentes rutinas de programación: - if - else - while - for - switch - case - break - try - return - void
Palabras reservadas
En lenguajes de programación orientado a objetos, puedes ver estas palabras clave: - public - protected - private - class - abstract - interface - this - friend
Palabras reservadas
Otras palabras reservadas de algunos lenguajes de programación serían - main - new - operator - sizeof - typedef
Palabras reservadas
Las palabras reservadas dependen del lenguaje de programación. No es lo mismo programar en C++ que maneja punteros, que otro como Python, mucho más minimalista a la hora de escribir código.
Palabras reservadas
A la hora de empezar a programar, una vez elegido el lenguaje de programación, irás aprendiendo las diferentes palabras reservadas de ese lenguaje.
Palabras reservadas
Si en algún momento cambias de lenguaje, una vez ya sabes los fundamentos de la programación, es posible que tengas que aprender nuevas palabras reservadas, además del cambio de escritura en el código, pero te darás cuenta que con un poco de práctica, la curva de aprendizaje (que es cuanto tardas en aprenderlo) será mucho más fácil.
Palabras reservadas
Todas las palabras reservadas están prohibidas para usarlas con otro propósito. Por ejemplo, no podemos llamar una variable o función if o int ya que el compilador lo entendería como un error.
Actividad 4: Conceptos básicos de java
Con base en las instrucciones especificadas en clase, genera una captura de pantalla de cada código y el resultado de la ejecución de los programas que se te indiquen. Pega la captura en el editor de textos de tu preferencia y agrega una descripción que incluya los puntos más relevantes que se contemplan en el código: a) Instrucciones de java utilizadas y su función, b) Elementos que se pueden editar o cambiar por otros, c) Estructura de la sentencia.
Participación 3: Conceptos básicos de java
Ejemplo
Identificadores
Identificadores
Nombres que se dan a las constantes simbólicas, variables, funciones, procedimientos, u otros objetos que manipula el algoritmo. La reglas para construir un identificador son: a) Debe ser significativo según lo que representa. b) No usar palabras reservadas, propias del lenguaje algorítmico. c) Se recomienda un máximo de 50 caracteres. d) Comenzará siempre por un carácter alfabético y los siguientes podrán ser letras, dígitos o el símbolo de subrayado. e) Podrá ser utilizado indistintamente escrito en mayúsculas o en minúsculas.
Identificadores
Ejemplos: a) número uno: n1, n_uno, _n1, N1, numero1, numUno, 1num b) Nombre diez: nom_10, NomDiez, NombreDiez, nombre10%, nombre
Participación 3: Identificadores
1. Copia identificadores en un documento de Excel. 2. Indica cuáles cumplen con las reglas y cuáles no. 3. Cargar a la plataforma con el nombre Participación3_Nombre.
Tipos de datos
Tipos de datos
Un dato es la expresión general que describe los objetos con los cuales opera el algoritmo. El tipo de un dato determina su forma de almacenamiento en memoria y las operaciones que van a poder ser efectuadas con él. En principio, hay que tener en cuenta que prácticamente en cualquier lenguaje, y por tanto en cualquier algoritmo, se podrán usar datos de los siguientes tipos:
Tipos de datos
a) Entero: Subconjunto finito de los números enteros, cuyo rango o tamaño dependerá del lenguaje en el que posteriormente codifiquemos el algoritmo y de la computadora utilizada (-infinito a +infinito). b) Real: Subconjunto de los números reales limitado no sólo en cuanto al tamaño, sino también en cuanto a la precisión 0.0000000....1. c) Lógico: Conjunto formado por los valores verdadero y falso. d) Carácter. Conjunto finito y ordenado de los caracteres que la computadora reconoce. e) Cadena: Los datos (objetos) de este tipo contendrán una serie finita de caracteres, que podrán ser directamente traídos o enviados a/desde la consola. f) Arreglos: conjunto de datos del mismo tipo (númericos, lógicos o alfanuméricos). g) Estructuras: conjunto de datos de diferentes tipos (númericos, lógicos o alfanuméricos).
Constantes
Constantes
Son datos cuyo valor no cambia durante todo el desarrollo del algoritmo. Las constantes podrán ser literales o con nombres, también denominadas simbólicas. - Las constantes simbólicas o con nombre se identifican por su nombre y el valor asignado. - Una constante literal es un valor de cualquier tipo que se utiliza como tal. Tendremos pues constantes:
Constantes
Plantilla para psuedocódigo: Con <tipo_de_dato> : <identificadores_de_constantes1 = valor, identificadores_de_constantes2 = valor, ...> donde: <tipo_de_dato> representa un tipo de dato y <identificadores_de_constante> deberá ser sustituido por una lista con los nombres de las constantes de dicho tipo separados por comas y valor representa el valor asignado a dicha variable Ejemplos: Entero: n1=-1, n2=100, n3=10000, n4=150 Cadena: nombre="Octavio Ramos Figueroa", ciudad = "Xalapa", sexo="Masculino"
Constantes
Ejemplos en java
Variables
Variables
Una variable es un objeto cuyo valor puede cambiar durante el desarrollo del algoritmo. Se identifica por su nombre y por su tipo, que podrá ser cualquiera, y es el que determina el conjunto de valores que podrá tomar la variable. En los algoritmos se deben declarar las variables que se van a usar, especificando su tipo. Según la forma para la representación del algoritmo elegida la declaración se hará con una simple tabla de variables o de una forma algo más rígida, especificando:
Constantes
Plantilla pseudocódigo: var <tipo_de_dato> : <lista_identificadores_de_variable> donde: <tipo_de_dato> representa un tipo de dato y <lista_identificadores_de_variable> deberá ser sustituido por una lista con los nombres de las variables de dicho tipo separados por comas Ejemplos: Entero: n1, n2, n3, n4 Cadena: nombre, ciudad, sexo
Constantes
Ejemplos en java
Operadores
Operadores
Aritméticos
Comparación
Lógicos
Operadores
Expresiones: - Numéricas - Alfanuméricas - Booleanas o lógicas
Operadores
Expresiones: NuméricasLos operandos que intervienen en ellas son numéricos, el resultado es también de tipo numérico y se construyen mediante los operadores aritméticos. Se pueden considerar análogas a las fórmulas matemáticas. Debido a que son los que se encuentran en la mayor parte de los lenguajes de programación, los algoritmos utilizarán los siguientes operadores aritméticos: menos unario (–), multiplicación (*), división real (/), exponenciación (**), adición (+), resta (–), módulo de la división entera (mod) y cociente de la división entera (div). Tenga en cuenta que la división real siempre dará un resultado real y que los operadores mod y div sólo operan con enteros y el resultado es entero.
Operadores
Plantilla pseudocódigo Expresiones: Numéricas: <variable> = <operaciones> donde: <variable> representa el nombre de la variable que va a guardar el resultado de una o más operaciones y <operaciones> deberá ser sustituido por las operaciones matemáticas a realizar Ejemplos: suma= n1+n2; Suma=5+10
Operadores
Expresiones: NuméricasEjemplos....
Operadores
Expresiones: AlfanuméricasLos operandos son de tipo alfanumérico y producen resultados también de dicho tipo. Se construyen mediante el operador de concatenación, representado por el operador ampersand (&) o con el mismo símbolo utilizado en las expresiones aritméticas para la suma.
Operadores
Expresiones: AlfanuméricasEjemplos....
Operadores
Ejemplo 1: Diseña un programa que lea 3 números enteros para calcular su promedio y mostrar el resultado en pantalla
Operadores
Ejercicio 1: Diseña un programa que lea 3 números decimales para calcular su promedio y mostrar el resultado en pantalla
Operadores
Ejercicio 2: Diseña un programa que calcule el área y el perímetro de un rectángulo que mide: 10 cm de alto por 20 cm de largo, para luego mostrar los resultados en pantalla. 1. Definición del problema. 2. E-P-S. 3. Pseudocódigo. 4. Diagrama de flujo. 5. 10 Corridas (Validar). 6. Programación (Código y Salida)
Operadores
Ejercicio 3: Diseña un algoritmo que lea dos número para calcular dos potencias. En la primera operación, el número que fue introducido primero es utilizado como la base y el segunco como el exponenete. Por otro lado, en la segunda operación se intercambia el rol de los números. Es decir, el segundo número se utiliza como la base y el primero como el exponenete. Después de calcular las dos potencias, motrar los resultados en pantalla. 1. Definición del problema. 2. E-P-S. 3. Pseudocódigo. 4. Diagrama de flujo. 5. 10 Corridas (Validar). 6. Programación (Código y Salida)
Operadores
Ejercicio 4: Diseña un programa que lea dos números por teclado para determinar cuál es el máximo y cuál es el mínimo y mostrar el resultado en pantalla. 1. Definición del problema. 2. E-P-S. 3. Pseudocódigo. 4. Diagrama de flujo. 5. 10 Corridas (Validar). 6. Programación (Código y Salida)
Operadores
Aritméticos
Comparación
Lógicos
Operadores
Expresiones: Booleanas o lógicasSu resultado podrá ser verdad o falso. Se construyen mediante los operadores relacionales y lógicos. Los operadores de relación son: igual (=), distinto (<>), menor que (<), mayor que (>), mayor o igual (>=), menor o igual (<=). Actúan sobre operandos del mismo tipo y siempre devuelven un resultado de tipo lógico. Los operadores lógicos básicos son: negación lógica (no), multiplicación lógica (y), suma lógica (o). Actúan sobre operandos de tipo lógico y devuelven resultados del mismo tipo, determinados por las tablas de verdad correspondientes a cada uno de ellos.
Operadores
Expresiones: Booleanas o lógicasEjemplo 2: Diseñe un programa que lea dos números por teclado, para determinar si el primero es menor que el segundo y mostrar el resultado en pantalla.
Operadores
Expresiones: Booleanas o lógicasEjercicio 5: Diseñe un programa que lea tres números por teclado, para calcular su promedio y determinar si el promedio es menor a 20. Mostrar el resultado en pantalla. 1. Definición del problema. 2. E-P-S. 3. Pseudocódigo. 4. Diagrama de flujo. 5. 10 Corridas (Validar). 6. Programación (Código y Salida)
Operadores
Aritméticos
Comparación
Lógicos
Operadores
Expresiones: Booleanas o lógicasLos operadores lógicos pueden crear condiciones compuestas en una fórmula. Por ejemplo, para especificar que se deben cumplir dos o más condiciones para elegir un determinado método de cálculo. Con los operadores lógicos, puede describir estas combinaciones de condiciones.
Operadores
Expresiones: Booleanas o lógicas
Expresiones: Booleanas o lógicas
Objetivo o meta
o o o
Inicio
Operadores
Ejemplo: Promoción en el cine cuando vas tú con tres amigos.
¿Si tu amigo 1 tiene membresía?
¿Si tú tienes tarjeta de membresía del cine?
¿Si tu amigo 2 tiene membresía?
¿Si tu amigo 3 tiene membresía?
OR
Promoción
Expresiones: Booleanas o lógicas
Objetivo o meta
inicio
Operadores
Ejemplo: Promoción de cumpleañero en restaurantes
¿Son seis o más comensales?
¿Es cumpleaños de uno de los comensales?
Descuento
AND
Operadores
Expresiones: Booleanas o lógicasEjemplo 3: Diseñe un programa que indique si la siguiente expresión es verdadera o falsa: 3 > 2 && 4 < 5 Mostrar el resultado en pantalla.
Operadores
Expresiones: Booleanas o lógicasEjercicio 6: Diseñe un programa que indique si la siguiente expresión es verdadera o falsa: 3 > 2 || 4 < 3 Mostrar el resultado en pantalla.
Unidad III Programación estructurada
3.1 Definición de estructura. 3.2 Estructuras de programación. 3.3 Estructuras de algoritmos y de programas. 3.4 Estructuras de control secuencial. 3.5 Estructuras de control selectiva: if/else. 3.6 Estructuras de control repetitiva: while, do/while, for.
¿Qué es una estructura?
¿Qué es una estructura?
¿Qué es una estructura?
Estructuras de algoritmos y de programas.
Estructuras de programación.
Elementos (Variables y Operaciones) Función Resolver un problema Conexiones (Pseudocódigo-orden) (Diagrama-Flechas)
Estructuras de algoritmos y de programas.
Estructuras de algoritmos y de programas.
Estructuras de control secuencial
Paso 1 Paso 3 Paso 5
Paso 2 Paso 4
Estructuras de control secuencial
secuencia: ejecución de una sentencia tras otra.
Paso 1 Paso 3 Paso 5
Paso 2 Paso 4
Estructuras de control selectiva
Estructuras de control selectiva
Selección o condicional: ejecución de una sentencia o conjunto de sentencias, según el valor de una variable booleana. - Condición If (si la condición booleana se cumple, realizar ciertas instrucciones) - Condición If/Else (si la condición booleana se cumple, realizar ciertas instrucciones, si no, realizar un conjunto de instrucciones diferentes).
Estructura selectiva if
Pseudocódigo: Si <condición> entonces <acciones1> FinSi
Estructura selectiva if/else
Pseudocódigo: Si <condición> entonces <acciones1> SiNo <acciones2> FinSi
Ejemplo 4: Diseñe un programa que lea dos números, para luego dividir el primer número entre el segundo y mostrar el resultado en pantalla. Validar que el segundo número no sea 0.
Ejercicio 7: Diseñe un programa que lea 5 calificaciones de un alumno entre 2 y 10, para luego calcular su promedio e indicar si el alumno aprobó o reprobó. La calificación mínima probatoria es 6.
Ejercicio 8: Diseñe un programa que lea un número, para luego indicar en pantalla si el número es par o impar.
Ejercicio 9: Genere el código de un programa que lea un número entero positivo, calcule su raíz cuadrada y muestre el resultado en pantalla.
Actividad asincrónica 6: Ejercicio de estructuras selectivas II
Ejercicio 10: Diseñe un programa que lea un número, para posteriormente, si el número es par, calcular la raíz cuadrada del número leído, y si el número es impar, elevar el número al cuadro. Mostrar en pantalla el resultado de la operación realizada.
Actividad asincrónica 6: Ejercicio de estructuras selectivas II
Ejercicio 11: Diseñe un programa que lea 3 números, para posteriormente ordenarlos y mostrar en pantalla los números ordenados.
Estructura selectiva switch
Según (selector) hacer caso 1: Acción 1 Acción 2 case 2: Acción 3 Acción 4 case n: ...Acción n default: Excepción;FinSegún
Estructura selectiva switch
Ejemplo: Genera el código de un algoritmo que lea un número entre 1 y 5, para luego mostrar en pantalla en que caso se encuentra según la estructura switch.Actividad sincrónica 7: Bitácora de ejemplos de estructuras de control selectivas
Participación 4: Estructuras de control selectivas
Investiga sobre las estructuras de control selectivas (if, if/else y switch) y crea una tabla comparativa. Crea la tabla con la herramienta de tu preferencia y cárgalo a la plataforma con le nombre Participación4_Nombre(s)Apellido1Apellido2. - Tienes 20 minutos para generar tu tabla . - Guardar el documento como: EstructuraDeControlSelectivas_Nombre(S)Apellido1Apellido2 en la sección Participación a: Estructuras de control selectivas.
Actividad asincrónica 6: Ejercicio de estructuras selectivas III
Ejercicio 12: Diseñe un programa que muestre un menú con cuatro opciones para realizar operaciones matemáticas básicas con dos números enteros introducidos por el usuario. Utiliza el siguiente orden: Opción a: suma, Opción b: resta, Opción c: multiplicación, Opción d: división. Mostrar el resultado en pantalla.
Actividad asincrónica 6: Ejercicio de estructuras selectivas III
Ejercicio 13: Diseñe un programa que muestre un menú con tres opciones para realizar las siguientes operaciones matemáticas: Opción a: raíz cuadrada, Opción b: el cuadrado de un número, Opción c: mod 2 de un número. El programa debe leer la opción seleccionada y un número entero para aplicarle la operación elegida y mostrar el resultado en pantalla.
Actividad asincrónica 6: Ejercicio de estructuras selectivas III
Ejercicio 14: Diseña un programa que muestre un menú con cuatro opciones para realizar operaciones matemáticas básicas con dos números enteros introducidos por el usuario. Utiliza el siguiente orden: Opción a: suma, Opción b: resta, Opción c: multiplicación, Opción d: división. Mostrar el resultado en pantalla (utiliza la sentencia If).
Actividad asincrónica 6: Ejercicio de estructuras selectivas III
Ejercicio 15: Diseñe un programa que muestre un menú con tres opciones para realizar las siguientes operaciones matemáticas: Opción a: raíz cuadrada, Opción b: el cuadrado de un número, Opción c: mod 2 de un número. El programa debe leer la opción seleccionada y un número entero para aplicarle la operación elegida y mostrar el resultado en pantalla (utiliza la sentencia If).
Participación 5: Estructuras de control repetitivas
En clase, busca información relacionada con el tema Estructura de control repetitiva: while, do/while, y for. Una vez analizada toda la información, deberás generar una infografía, para posteriormente presentarla en clase. - Tienes 20 minutos para generar tu infografía en la herramienta de su elección: Power Point, Canvas, Geneally, Paint, etc. - Guardar el documento en formato .pdf para cargarlo en la plataforma con el nombre Participación5_Nombre(S)Apellido1Apellido2 en la sección Participación 5: Estructuras de control repetitivas.
Estructuras de control repetitivas
Conceptos básicos:
Definición de bucle (lazo): El bucle, ciclo o lazo, es un segmento de un algoritmo o programa cuyas instrucciones se repiten un número determinado de veces, mientras se cumple una determinada condición específica (existe o es verdadera la condición).
Estructuras de control repetitivas
Conceptos básicos:
Características Características de un bucle (lazo): a. Conjunto de instrucciones finito b. Número de ciclos finito (basado en condiciones implicitas y explicitas). - Condición explícita: Depende solamente del algoritmo. - Condición implícita: Depende solamente del usuario. c. Deben estar claramente marcado el inicio y fin del ciclo (si solo es una instrucción no es necesario). d. Dentro de un ciclo podrá ir cualquiera de las otras estructuras que se han estudiado incluyendo otros ciclos.
Estructuras de control repetitivas
Conceptos básicos:
Características Iteración: - Es cada una de las diferentes pasadas o ejecuciones de todas las instrucciones contenidas en el bucle.
Estructuras de control repetitivas
Conceptos básicos:
Características Contadores: Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad fija en cada iteración. Se utilizan en los siguientes casos: - Para contabilizar el número de veces que es necesario repetir una acción (variable de control de un bucle) - Para contar un suceso particular solicitado por el enunciado del problema (asociado a un bucle independiente) - Representa la variable de control del ciclo. - Toma un valor inicial (generalmente 0 ó 1) y se incrementa en la mayoría de los casos. - Toma un valor inicial y se compara con el valor final.
Estructuras de control repetitivas
Conceptos básicos:
Acumulador o totalizador: Un acumulador es un campo de memoria que suma sobre sí misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable. Se utiliza en aquellos casos en que se desea obtener el total acumulado de un conjunto de cantidades, siendo preciso inicializarlo con el valor cero. Además en las situaciones en que hay que obtener un total como producto de distintas cantidades se utiliza un acumulador, debiéndose inicializar con el valor..
Estructuras de control repetitivas
Tipos de ciclos:
- For (desde). - While (mientras). - Repeat (repetir).
Estructuras de control repetitivas
Ciclo For:
-La estructura repetitiva For (desde) es aquella en la que el número de iteraciones se conoce por anticipado, y por ello no se precisa poner ninguna condición de salida para detener el bucle. En su lugar un contador cuenta el número de iteraciones fijas y se termina cuando llega al valor final previamente definido. Quiere decir que esta estructura se usa frecuentemente cuando se conoce de antemano el número de veces que se ejecutarán las acciones de un bucle. Esta es una de sus características.
Estructuras de control repetitivas
Ciclo For (diagrama de flujo):
PARA i DESDE valor inicial HASTA valor final HACER Instrucciones FIN PARA
Actividad sincrónica 8: Estructuras repetitivas
Ejemplo 1: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Ejemplo 1: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
2. E-P-S Entrada: ---- Proceso: calcular el cuadrado de los primeros 100 enteros y sumarlos. Salida: la suma de los cuadrados de los primeros 100 enteros
Ejemplo 1: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
3. Pseudocódigo //Var Entero: suma, contador Inicio suma=0; Para contador Desde 1 Hasta 100 suma=suma+contador*contador; FinPara Escribir(suma) Fin
Ejemplo 1: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
4. Diagrama de flujo
Ejemplo 1: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
Proceso Salida
5. Tabla de ejecuciones
Ejemplo 1: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
6. Código
Actividad sincrónica 9: Bitácora de ejercicios de estructuras de control repetitivas
Ejercicio 1: Calcular la multiplicación de las raíces cuadradas de los primeros 1000 enteros y escribir el resultado.
1. Lenguaje Natural 2. Identifica el E-P-S 3. Diseña el pseudocódigo 4. Diseña el diagrama de flujo 5. Genera la tabla de pruebas de escritorio 6. Código.
Ejercicio 2: Escriba un programa que pida dos números enteros y escriba qué números son pares y cuáles impares desde el primero hasta el segundo.
1. Lenguaje Natural 2. Identifica el E-P-S 3. Diseña el pseudocódigo 4. Diseña el diagrama de flujo 5. Genera la tabla de pruebas de escritorio 6. Código.
Ejercicio 3: Escriba un programa que pida un número entero mayor que cero y que escriba sus divisores.
1. Lenguaje Natural 2. Identifica el E-P-S 3. Diseña el pseudocódigo 4. Diseña el diagrama de flujo 5. Genera la tabla de pruebas de escritorio 6. Código.
Ejemplo 2: Escribe en pantalla los primeros 100 números enteros en orden decreciente (del 100 al 1).
1. Lenguaje Natural 2. Identifica el E-P-S 3. Diseña el pseudocódigo 4. Diseña el diagrama de flujo 5. Genera la tabla de pruebas de escritorio 6. Código.
Ejemplo 2: Escribe en pantalla los primeros 100 números enteros en orden decreciente (del 100 al 1).
2. E-P-S Entrada: ---- Proceso: recorrer los primeros 100 enteros. Salida: mostrar los primeros 100 números en orden decreicente.
Ejemplo 2: Escribe en pantalla los primeros 100 números enteros en orden decreciente (del 100 al 1).
3. Pseudocódigo //VAR Entero: contador Inicio Para contador Desde 100 Hasta 1 escribir("No: ", contador) FinPara Fin
Ejemplo 2: Escribe en pantalla los primeros 100 números enteros en orden decreciente (del 100 al 1).
4. Diagrama de flujo
Ejemplo 2: Escribe en pantalla los primeros 100 números enteros en orden decreciente (del 100 al 1).
Proceso Salida
5. Tabla de ejecuciones
Ejemplo 2: Escribe en pantalla los primeros 100 números enteros en orden decreciente (del 100 al 1).
6. Código
Actividad asincrónica 7: Estructuras repetitivas II
Ejercicio 4: Crea un programa que muestra el cubo de los primeros 10 números enteros negativos (-1, -2, ..., -10) en orden decreciente.
1. Lenguaje Natural 2. Identifica el E-P-S 3. Diseña el pseudocódigo 4. Diseña el diagrama de flujo 5. Genera la tabla de pruebas de escritorio 6. Código.
Estructuras de control repetitivas
Ciclo while:
-Con esta sentencia se controla la condición antes de entrar en el bucle (ciclo). Si ésta no se cumple, el programa no entrará en el bucle. Naturalmente, si en el interior del bucle hay más de una sentencia, éstas deberán ir entre llaves para que se ejecuten como un bloque (esto para el caso de java).
Estructuras de control repetitivas
Ciclo while: Diagrama de flujo y pseudocódigo
MIENTRAS condición HACER Instrucciones FIN MIENTRAS
Ejemplo 3: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
1. Lenguaje natural 2. Identifica el E-P-S 3. Diseña el pseudocódigo 4. Diseña el diagrama de flujo 5. Genera la tabla de pruebas de escritorio 6. Código.
Ejemplo 3: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado (while).
2. E-P-S Entrada: ---- Proceso: calcular el cuadrado de los primeros 100 enteros y sumarlos. Salida: la suma de los cuadrados de los primeros 100 enteros
Ejemplo 3: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
2. Pseudocódigo //VAR Entero: suma, contador; Inicio suma=0; contador=1; Mientras contador<= 100 Hacer suma=suma+contador*contador; contador ++; FinMientras Escribir(suma) Fin
Ejemplo 3: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
3. Diagrama de flujo
Ejemplo 3: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
Proceso Salida
4. Tabla de ejecuciones
Ejemplo 3: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
5. código
Actividad sincrónica 11: Estructuras repetitivas II
Ejercicio 1: Calcular la multiplicación de las raíces cuadradas de los primeros 1000 enteros y escribir el resultado (while).
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Estructuras de control repetitivas
Ciclo do...while:
-Con esta sentencia se controla la condición al final del bucle. Si ésta se cumple, el programa vuelve a ejecutar las sentencias del bucle. La única diferencia entre las sentencias while y do...while es que con la segunda el cuerpo del bucle se ejecutará por lo menos una vez.
Estructuras de control repetitivas
Ciclo do...while: Diagrama de flujo y pseudocódigo
HACER Instrucciones MIENTRAS condición
Ejemplo 4: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado (do...while).
1. Lenguaje natural 2. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Ejemplo 4: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
2. E-P-S Entrada: ---- Proceso: calcular el cuadrado de los primeros 100 enteros y sumarlos. Salida: la suma de los cuadrados de los primeros 100 enteros
Ejemplo 4: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
3. Pseudocódigo //Var Entero: suma, contador; Inicio suma=0; contador=1; Hacer suma=suma+contador*contador; contador ++; Mientras contador<= 100 Escribir(suma) Fin
Ejemplo 4: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
3. Diagrama de flujo
Ejemplo 4: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
Proceso Salida
4. Tabla de ejecuciones
Ejercicio 2: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
4. Código
Actividad sincrónica 8: Estructuras repetitivas II
Ejercicio 3: Calcular la multiplicación de las raíces cuadradas de los primeros 1000 enteros y escribir el resultado (do...while).
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Actividad asincrónica 7: Estructuras de control repetitivas III
Resuelve los siguientes ejercicios con utilizando alguna de las 3 estructuras de control repetitivas(for, while y do-while). Utilizada cada estructura para resolver al menos uno de los ejercicios: 1. Crea una aplicación que pida un número y calcule su factorial (el factorial de un número es el producto de todos los enteros entre 1 y el propio número y se representa por el número seguido de un signo de exclamación. Por ejemplo 5! = 1x2x3x4x5=120)
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Actividad asincrónica 7: Estructuras de control repetitivas III
Resuelve los siguientes ejercicios con utilizando alguna de las 3 estructuras de control repetitivas(for, while y do-while). Utilizada cada estructura para resolver al menos uno de los ejercicios:: 2. Algoritmo que pida caracteres e imprima ‘VOCAL’ si son vocales y ‘NO VOCAL’ en caso contrario, el programa termina cuando se introduce un espacio.
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Actividad asincrónica 7: Estructuras de control repetitivas III
Resuelve los siguientes ejercicios con utilizando alguna de las 3 estructuras de control repetitivas(for, while y do-while). Utilizada cada estructura para resolver al menos uno de los ejercicios:: 3. Algoritmo que pida números hasta que se introduzca un cero. Debe imprimir la suma y la media de todos los números introducidos.
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Actividad asincrónica 7: Estructuras de control repetitivas III
Resuelve los siguientes ejercicios con utilizando alguna de las 3 estructuras de control repetitivas(for, while y do-while). Utilizada cada estructura para resolver al menos uno de los ejercicios: 4. Realizar un algoritmo que muestre la tabla de multiplicar de un número introducido por teclado.
1. Identifica el E-P-S 2. Diseña el pseudocódigo 3. Diseña el diagrama de flujo 4. Genera la tabla de pruebas de escritorio 5. Código.
Pseudocódigo