Software">
Prog1 01
Prog1 01
Prog1 01
ESTADO DE MÉXICO
FACULTAD DE GEOGRAFÍA
LICENCIATURA EN GEOINFORMÁTICA (2023-B) 1-I
PROGRAMACIÓN I
M. en C.A JOSAFAT MONDRAGÓN MACEDO
prog1.geoinfo@gmail.com
WhatsApp: 7225123045 Horarios
Martes: 10 – 13
Jueves: 10 - 12
• 1I_NOMBRE_COMPLETO_ALUMNO_PROGRAMA01
• 1I_JUAN_DAMIAN_GOMEZ_VILCHIS_PROGRAMA01
Evaluación: Cel: 7225123045
• Pseint: pseudocódigo
• Python: Programas de escritorio
Entrega de trabajos:
1I_NOMBRE_APELLIDO1_APELLIDO2
1I_ALBERTO_HERNÁNDEZ_HERNÁNDEZ
Unidad 1. Fundamentos de la programación de
computadoras.
Objetivo: Distinguir los conceptos relacionados con la programación de
computadoras, los lenguajes de programación y el diseño de programas, a
través de casos prácticos.
Temas:
1.1 Definiciones básicas
1.2 Forma de trabajo del software
1.3 Proceso de ejecución de los programas de computadora
1.4 Herramientas para el diseño y construcción de programas
1.4.1 Diseño de algoritmos
1.4.2 Estructura de un programa de computadora
1.4.3 Construcción de un pseudocódigo
Preguntas
Tipos de datos y variables: Los programas manejan Programación orientada a objetos: La programación
diferentes tipos de datos, como números enteros, orientada a objetos (POO) es un paradigma que se basa
decimales, cadenas de texto, booleanos, entre otros. en la creación de objetos que encapsulan datos y
Las variables se utilizan para almacenar y manipular funciones relacionadas. La POO se centra en la
estos datos en la memoria de la computadora. reutilización de código, la abstracción y la organización
estructurada del software.
Estructuras de datos: Las estructuras de datos son
formas de organizar y almacenar datos en la memoria Depuración y manejo de errores: La depuración es el
de una computadora. Algunos ejemplos comunes son proceso de identificar y corregir errores en un
arreglos, listas enlazadas, pilas y colas. Estas programa. Aprender a manejar y solucionar los errores
estructuras son fundamentales para la eficiencia y es fundamental para mejorar la calidad y la
organización de los programas. confiabilidad del software.
Compilador Condicionales
Interfaz de Programación de
Variables
Aplicaciones
Lenguaje Máquina
• Cualquier computadora puede entender de manera directa
sólo su propio lenguaje máquina, el cual se define según su
diseño de hardware. Por lo general, los lenguajes máquina
consisten en cadenas de números (1 y 0) que instruyen a las
computadoras para realizar sus operaciones más elementales,
una a la vez. Los lenguajes máquina son dependientes de la
máquina (es decir, un lenguaje máquina en particular puede
usarse sólo en un tipo de computadora). Dichos lenguajes son
difíciles de comprender para los humanos. Por ejemplo, he
aquí la sección de uno de los primeros programas en lenguaje
máquina, el cual suma el pago de las horas extras al sueldo
base y almacena el resultado en el sueldo bruto:
• +1300042774
• +1400593419
• +1200274027
Fundamentos de la
Lenguaje de Bajo Nivel (Ensamblador) programación de
computadoras
programas
Entrada salida Conjunto de
Hardware Software instrucciones
Programas de computadora
traductores compiladores
System.out.println(“HOLA, BIENVENIDO A TÚ CLASE DE PROGRAMACIÓN I”);
Algoritmo programación de
computadoras
• Beber agua
• “formalmente definimos un algoritmo como un conjunto de 1.Sacar vaso del mueble
pasos ordenados de forma lógica, procedimientos o acciones 2.Buscar recipiente
que nos permiten alcanzar un resultado o resolver un
problema” donde se tiene el agua
3.Lleno el vaso
• Es una secuencia ordenada y cronológica de pasos que llevan 4.Llevar el vaso a mi
a la solución de un problema o a la ejecución de una tarea.
Los pasos deben ser simples, claros y exactos seguir un orden boca
lógico y, además, tener un principio y un fin.
5.Trago el líquido
Fundamentos de la
Codificación Ejecución,
Análisis del Diseño del
- verificación y Mantenimiento Documentación
problema algoritmo
implementación depuración
Fundamentos de la
Características de los algoritmos programación de
computadoras
Fundamentos de la
Secciones que debe cumplir un algoritmo programación de
computadoras
Algoritmo
ENTRADA PROCESO
Conocer el problema (instrucciones) SALIDA – FIN
Variables Procesos involucrados Resultados esperados
Datos que se necesitan restricciones
Palabras
Lenguaje natural
Pseudocódigo Gráficos
Diagramas de
flujo
Fundamentos de la
Palabras o Lenguaje Natural programación de
computadoras
SEMAFORO
1.INICIO
2.Paro frente al semáforo
3.Identifico en que color está
4.Si se encuentra en color rojo
4.1 ALTO
5 SI ESTA EN COLOR VERDE
5.1 VOLTEO A LOS LADOS
5.1.1 SI NO VIENE CARRO,
CRUZO
6 HE CRUZADO
7. FIN
Fundamentos de la
Diagrama de Flujo programación de
computadoras
N1, N2
Resultado N1 + N2
“Imprime” + Resultado
inicio
Etapas para la construcción de un
diagrama de flujo
Fundamentos de la
Pseudocódigo programación de
computadoras
• Inicio
• Declaración de variables(tipo de dato);
• Expresiones y operaciones;
• REULTADO
• Fin
Fundamentos de la
Variables programación de
computadoras
• Las variables son objetos que pueden cambiar su valor durante la ejecución de
un programa. Dicha variable, cuenta con un nombre, tipo de dato y una
ubicación en memoria.
• Características para definir una variable
• Ejemplos para declarar variables
SUMA ACUM
Memoria
AUX NUM_1
Constantes
Variables
X7
nroEstudiantes
40
N Son un subconjunto finito de los números enteros. No
2015
u Enteros tienen componentes fraccionarios. Pueden ser positivos anio
3
m o negativos.
é nroLados
r
i sueldo 354,25
Variables cuyos VALORES TIENEN PARTE DECIMAL, aunque
c
al mismo tiempo puede contener valores enteros. Así el
o Reales lado de un triángulo puede ser 3,5 (0,5 es la parte
area 12,56
s decimal).
valorRadio 3,0
Tipo de Subtipo Descripción Variables Valores
dato
Fundamentos de la
En este tipo de dato se encuentran todos programación de
los caracteres conocidos, una letra, un computadoras
número, un símbolo especial. Por lo
tanto, está conformado por los
T
DÍGITOS:'0', '1', '2', ... , '9'; LETRAS: 'a', 'b',
’40’
'c', ... , 'z'; MAYÚSCULAS: 'A', 'B', 'C', ... , paralelo
‘2015’
Caracteres 'Z'; y CARACTERES ESPECIALES: '%', '*', '?',
‘3’
e
... , '/'. En algunos lenguajes de opcion
programación como Java y C#, se utiliza
la comilla simple (' ') para identificar un
x
caracter, sin embargo esto puede cambiar
dependiendo del lenguaje de
programación
aritméticos y programación de
computadoras
relacionales
div
10 Div 3 = 3 16
10 / 3 = 3.3333 6 97
- 96
LÓGICOS
1
RELACIONALES
ARITMÉTICOS
mod
DE INCREMENTO
DECREMENTO
Fundamentos de la
Jerarquía de Operadores aritméticos programación de
computadoras
Jerarquía de operadores
• ()
• Potencias
-Productos y Divisiones
-Sumas y restas
-Concatenación
-Relacionales
-Negación
-Conjunción
-Disyunción
Impresión en Fundamentos de la
programación de
pantalla “Introduzca la base y la computadoras
altura
Ejemplo: Realizar el pseudocódigo de un programa que permita calcular el área de un
rectángulo. Se debe introducir la base y la altura para poder realizar“Introduzca
el cálculo..
la
Programa; Area base y la altura”
• 8. Llegar a la Universidad
• 9. Buscar el aula
• 10. Ubicarse en un asiento
CONCATENACIÓN
Inicio
Fundamentos de la
programación de
computadoras
“Ingresar valor a
sumar 1 y 2”
A, b. c
C a+b
fin
Fundamentos de la
programación de
computadoras
• Dadas dos vriables numéricas A y B, que el usuario debe teclear, se pide realizar un programa que intercambie
los valores de ambas variables y muestre cuanto valen al final las dos variables (recordar la asignación)
1. Inicio
2. Escribir (“introduce el valor de A”)
3. Leer A
4. Escribir (“Introduce el valor de B”)
5. Leer B
6. C A
7. A B
8. B C
9. Escribir (“valor de A: ”, A “ valor de B”, B )
10. FIN
Construya un algoritmo, pseudocódigo y diagrama de flujo INICIO
tal que dado los datos enteros A y B, escriba el resultado
de la siguiente expresión: Fundamentos de la
programación de
A, B, RES computadoras
CORRIDA DE ESCRITORIO
3 9 7 85.3
4 12 9 147
FIN
inicio
Matricula 123
Cal19
Identificar el problema Cal27
Cal35
Identificar variables Cal410
Analizo el problema Cal58
Corrida de escritorio Prom (cal1+cal2+cal3+cal4+cal5)/5
Mostrar “Tú matricula es: ”, Matricula, “ y tu promedio es: ”, Prom
Ejecuto en raptor mi diagrama de flujo fin
inicio
16/08/2022
Fundamentos de la
Base, altura,
programación de
superficie computadoras
“La superficie es: ” + Superficie + “ Y el perímetro es: ” + 3 6.2 5.4 33.48 23.2
perimetro 4 16.9 24.5 414.05 82.8
fin
Repaso…
Operadores y expresiones
▪ + Suma
▪ - Resta
▪ * Multiplicación
▪ / División real o entera
▪ % Módulo o Resto de la división entera Aclaración:
▪ ** Potencia Cuando se use el operador / o %, el operando de la
derecha, no debería tener el valor de 0, ya que
generaría un error, debido a que la división entre
cero, matemáticamente, no está definida.
Operadores Relacionales
▪ Y Conjunción
▪ O Disyunción
▪ NO Negación
Jerarquía de operadores
inicio
Fundamentos de la
No. precio pago cambio programación de
computadoras
corrida
Precio, pago, cambio 1 30 200 170
2 150 500 350
3 45 100 55
Cambio Pago - precio
fin
inicio
Fundamentos de la
programación de
computadoras
Galones, total
fin
• Realizar un programa que solicite que se ingresen 5 calificaciones y que genere
el promedio de las mismas Fundamentos de la
programación de
• Algoritmo que lea dos números, calculando y escribiendo el valor de su suma, computadoras
resta, producto y división.
Fundamentos de la
programación de
computadoras
DIAGRAMAS DE FLUJO
Y PSEUDOCÓDIGO
Etapas de la construcción de un diagrama de Fundamentos de la
programación de
flujo Inicio
computadoras
Lectura de datos
Impresión de resultados
fin
Ejemplos de diagrama de flujo Fundamentos de la
programación de
computadoras
1. Construya un Inicio
diagrama de flujo
tal que dado los DATOS: A,B,C,D (Variables de tipo
datos A, B, C y D entero) A,B,C,D
que representan los
números enteros,
escriba los mismos 1. Leer A,B,C,D D,C,B,A
en orden inverso. 2. Escribir D,C,B,A
fin
2. Construya un diagrama de flujo tal que dado los
datos enteros A y B, escriba el resultado de la siguiente Inicio Fundamentos de la
expresión: programación de
computadoras
(A + B) ** 2 / 3
A=5,B=3
Datos: A,B (variables de tipo entero)
recordar lo siguiente:
• para realizar un proceso se utiliza el símbolo RES = (A + B) ** 2 / 3
RES
DE O
CORRIDA A B RES
1 5 6 40.33
2 7 10 96.33
3 0 3 3.00
4 12 2 65.33
5 14 -5 27.00
3. Dada la matrícula y 5 calificaciones de un alumno obtenidas a lo
largo del semestre, construya un diagrama de flujo que imprima la
matrícula del alumno y el promedio de sus calificaciones. Fundamentos de la
programación de
computadoras
Hacer Pseudocódigo
“Calcula”
4. Escriba un diagrama de flujo que permita calcular e imprimir el Fundamentos de la
programación de
Inicio
cuadrado y el cubo de un número entero positivo. computadoras
Cua,cub
Hacer Pseudocódigo
“Cuadrado_Cubo” fin
5.Construya un diagrama de flujo tal que dado como datos Fundamentos de la
la base y la altura de un rectángulo, calcule el perímetro y programación de
la superficie del mismo. Inicio computadoras
Base, Altu
Sup, Per
Hacer Pseudocódigo
“Perimetro_Superficie_Rectangulo” fin
Fundamentos de la
programación de
computadoras
Vuelto_de_un_pago
ejercicios
1. Construya un diagrama de flujo (y su respectivo pseudocódigo) que Fundamentos de la
Fundamentos de la
X1, x2, y1, y2, distancia programación de
computadoras
((x1-x2)**2 +(y1-y2)**2)**0.5
fin
Implementación de
Programas de
Computadora
Temas:
2.1 Sintaxis de programación
2.2 Tipos de datos, identificadores, variables y constantes
2.3 Expresiones y operadores
2.4 Lógica de programación y control de flujo
2.4.1 Estructuras algorítmicas de control
2.4.2 Manipulación de cadenas
2.4.3 Procedimientos y funciones
2.5 Rastreo, depuración y validación de instrucciones en un programa de computadora
Estructuras de Control
Las estructuras lógicas selectivas se les encuentra en la solución algorítmica de todo tipo de
problema. Las utilizamos cuando en el desarrollo de la solución de un problema, debemos de tomar una
decisión, para establecer un proceso o señalar un camino alternativo a seguir.
Esta toma de decisión (expresada en el diagrama de flujo como rombo) se basa en la evaluación de una o
más condiciones que nos señalaran como alternativa o consecuencia, la rama o camino a seguir.
Hay situaciones en que la toma de decisiones se toma en cascada. Es decir se toma una decisión, se marca
la rama correspondiente a seguir, se vuelve a tomar otra decisión y así sucesivamente. Por lo que para
alcanzar la solución de un problema o subprograma, debemos aplicar prácticamente un árbol de decisión.
• La estructura selectiva si entonces permite que el flujo del diagrama siga por
un camino específico si se cumple una condición o conjunto de condiciones. Si
al evaluar la condición, el resultado es verdadero, entonces se ejecutan ciertas
operación (es). Luego continua la secuencia normal del diagrama.
.
.
.
CONDICION
CONDICION: expresa la
FALSA
NO condición o conjunto de SI condición entonces
VERDADERA condiciones a evaluar.
SI OPERACIÓN: expresa la
Hacer operación
operación o conjunto de Fin del condicional
OPERACION operaciones a realizar si la .
condición resulta verdadera. .
.
• Construya un diagrama de flujo y pseudocódigo tal que dado como dato la
calificación de un alumno de programación I, escriba “APROBASTE
PROGRAMACIÓN I” en caso de que esa calificación sea mayor a 8 y la palabra Implementación de
Programas de
reprobaste, si la calificación es menor 8. Computadora
SI
2. Dado como dato el sueldo de un trabajador, aplíquele un aumento del 15% si
su sueldo es inferior a $1000. Imprima en este caso el nuevo sueldo del
trabajador.
Estructura selectiva doble “si entonces / sino”
• Hacer un programa para calcular las raíces reales, de ser posible, de una
ecuación de segundo grado.
Un programa que dado como datos la matrícula y 5 calificaciones de un alumno;
imprima la matrícula, el promedio y la palabra “aprobado” si el alumno tiene un
promedio mayor o igual a 6, y la palabra “no aprobado” en caso contrario.
Crear un programa que dado como dato un número entero, determine e imprima si el mismo es
positivo, negativo o nulo.
Dado un número entero A, hacer un programa para determinar si el mismo es par, impar
o nulo.
Crear un programa, que dado como datos de entrada tres números enteros, determine si los
mismos están en orden creciente.
• En una tienda efectúan un descuento a los clientes dependiendo del monto de
la compra. El descuento se efectúa con base al siguiente criterio:
• Si el monto es menor que $5000 → no hay descuento
• Si el monto está comprendido entre $500 y $1000 → 5% de descuento
• Si el monto está comprendido entre $1000 y $7000 → 11% de descuento
• Si el monto está comprendido entre $7000 y $15000 → 18% de descuento
• Si el monto es mayor a $15000 → 25% de descuento
• Crear un programa, que dado el monto de la compra de un cliente, determine lo que el
mismo debe pagar
Ciclos (para, mientras)
• Escribir”Hola”
• Escribir”Hola”
• Escribir”Hola” Repetir instrucciones N
veces
• Escribir”Hola”
• Escribir”Hola”
¿Cuándo utilizar un ciclo? inicio
inicio
Tipos de ciclos
• Mientras (while)
• Repetir hasta (do while)
• Para – hasta (for)
Repetir hasta
inicio
condición
verdadero
Sentencias a repetir
inicio
REPETIR HASTA (DO WHILE)
ARREGLOS
edades 17 25 16 18 20
0 1 2 3 4
Edad[2]