Instituto Politécnico Nacional
“Unidad Profesional
Interdisciplinaria de Ciencia y
Tecnologías Avanzadas”
Unidad de Aprendizaje: Introducción a la Programación
Tareas Primer parcial
Grupo: 1MM1
Especialidad: Ingeniería Mecatrónica
Maestro: Serrano Fragoso Maricela
Fecha: 18/03/2024
Nombres:
Guerrero Figueroa Juan Pablo
2024-2
Índice
• Tarea 1
o Tipos de Variables
o Tipos de Datos
o Tipos de Formatos
o Tipos de Funciones, entrada y salida
o Algoritmo
o Seudocódigo
• Tarea 2
o Línea del tiempo sobre los lenguajes de programación
• Tarea 3
o Código que realiza las operaciones básicas utilizando funciones
• Tarea 4
o Jerarquía de operaciones
o Operadores relacionales
o Operadores Lógicos
• Tarea 5
o Compuertas lógicas
Instituto Politécnico Nacional
“Unidad Profesional
Interdisciplinaria de Ciencia y
Tecnologías Avanzadas”
Unidad de Aprendizaje: Introducción a la Programación
Tarea 1
Grupo: 1MM1
Especialidad: Ingeniería Mecatrónica
Maestro: Serrano Fragoso Maricela
Fecha: 16/02/2024
Nombres:
Guerrero Figueroa Juan Pablo
2024-2
Las variables son elementos fundamentales en la programación que se utilizan para
almacenar y manipular datos en un programa. Básicamente, una variable es un
espacio en la memoria de la computadora que tiene un nombre único y que puede
contener un valor de un cierto tipo de dato. Estos valores pueden ser números,
caracteres, cadenas de texto, booleanos, objetos, entre otros, dependiendo del
lenguaje de programación que estés utilizando. Algunos tipos de variable son:
Variable local: Es una variable que se declara dentro de una función o un bloque de
código, y que solo existe y es accesible dentro de ese ámbito
Variable global: Es una variable que se declara fuera de cualquier función o bloque
de código, y que puede ser usada por cualquier parte del programa
Tipos de datos: Son las categorías que definen el tipo, el tamaño y el rango de
valores que puede almacenar una variable, así como las operaciones que se pueden
realizar con ella345. Algunos tipos de datos básicos en el lenguaje C son:
int: Es un tipo de dato entero, que ocupa 2 bytes y puede almacenar valores
entre -32768 y 3276734.
float: Es un tipo de dato de punto flotante, que ocupa 4 bytes y puede almacenar
valores entre 3.4E-38 y 3.4E+3834.
char: Es un tipo de dato de carácter, que ocupa 1 byte y puede almacenar valores
entre -128 y 127, o entre 0 y 255 si es sin signo
Los tipos de formato son utilizados en varios lenguajes de programación para definir
cómo se deben interpretar los datos al imprimirlos o leerlos. Los tipos de formato son:
%d: Este formato se utiliza para imprimir o leer números enteros en base 10 (decimal).
Por ejemplo, si tienes un entero int num = 10; se puede imprimir en pantalla utilizando
printf("%d", num); lo cual mostraría 10 en la salida.
%i: Este formato es similar a %d y se usa para imprimir o leer enteros, pero permite
interpretar números en diferentes bases (como octal o hexadecimal) si se especifican.
Si no se especifica ninguna base, se asume la base 10 por defecto.
%f: Este formato se utiliza para imprimir o leer números de punto flotante (números
reales) en notación decimal. Por ejemplo, si tienes un número flotante float num =
3.14;, puedes imprimirlo utilizando printf("%f", num);, lo cual mostraría 3.140000 en la
salida.
%c: Este formato se utiliza para imprimir o leer caracteres. Por ejemplo, si tienes un
carácter char letra = 'A';, puedes imprimirlo utilizando printf("%c", letra);, lo cual
mostraría A en la salida.
Seudocódigo: El pseudocódigo es un método utilizado en programación y diseño de
algoritmos que permite describir un algoritmo de manera informal utilizando un
lenguaje estructurado que se asemeja al lenguaje de programación real, pero que no
sigue una sintaxis específica de ningún lenguaje en particular.
Ejemplo 1: Seudocódigo que sume 2 números ingresados por el usuario
Inicio
Definir número1, número2, suma Como Entero
Leer número1
Leer número2
suma = número1 + número2
Escribir "La suma es: ", suma
Fin
Ejemplo 2:
Inicio
Definir radio, pi, área Como Flotante
Leer radio
pi = 3.1416 // Valor aproximado de pi
area = pi * radio * radio
Escribir "El área del círculo es: ", area
Fin
Instituto Politécnico Nacional
“Unidad Profesional
Interdisciplinaria de Ciencia y
Tecnologías Avanzadas”
Unidad de Aprendizaje: Introducción a la Programación
Tarea 2
Grupo: 1MM1
Especialidad: Ingeniería Mecatrónica
Maestro: Serrano Fragoso Maricela
Fecha: 21/02/2024
Nombres:
Guerrero Figueroa Juan Pablo
2024-2
1943: Se desarrolla Colossus, uno de los primeros computadores electrónicos
programables, utilizado por los británicos durante la Segunda Guerra Mundial para
descifrar códigos alemanes.
1946: Se crea ENIAC (Electronic Numerical Integrator and Computer), la primera
computadora electrónica de propósito general, diseñada para calcular trayectorias
balísticas.
1952: Aparece Autocode, uno de los primeros lenguajes de programación de alto nivel,
utilizado para programar computadoras como el Ferranti Mark 1.
1957: IBM lanza Fortran (Formula Translation), el primer lenguaje de programación de
alto nivel ampliamente utilizado, diseñado para cálculos científicos y de ingeniería.
1960: Se desarrolla ALGOL (Algorithmic Language), uno de los primeros lenguajes de
programación de alto nivel, que influyó en el diseño de muchos otros lenguajes.
1964: BASIC (Beginner's All-purpose Symbolic Instruction Code) es creado en el
Dartmouth College por John Kemeny y Thomas Kurtz, con el objetivo de hacer la
programación más accesible.
1969: Dennis Ritchie y Ken Thompson desarrollan UNIX y el lenguaje de programación
C en los laboratorios Bell, lo que lleva a la popularización de UNIX y C en el ámbito de
la informática.
1972: Aparece el lenguaje de programación Prolog, diseñado para la programación
lógica y el procesamiento de lenguaje natural.
1972: Pascal, diseñado por Niklaus Wirth, es lanzado como un lenguaje de
programación estructurado utilizado en la enseñanza y el desarrollo de software.
1978: Se lanza el lenguaje de programación Scheme, un dialecto de Lisp conocido por
su simplicidad y elegancia en el diseño de lenguajes.
1983: Ada es lanzado por el Departamento de Defensa de los Estados Unidos, diseñado
para aplicaciones militares y de sistemas embebidos críticos.
1984: Objective-C, una extensión del lenguaje C, es desarrollado por Brad Cox y Tom
Love en StepStone Corporation, y más tarde adoptado por Apple para el desarrollo de
aplicaciones para Macintosh.
1986: Perl, diseñado por Larry Wall, es lanzado como un lenguaje de programación
práctico y potente para el procesamiento de texto y la generación de informes.
1990: Se lanza Haskell, un lenguaje de programación funcional puro, conocido por su
énfasis en la programación declarativa y el uso extensivo de funciones de orden
superior.
1991: Se lanza Python, un lenguaje de programación de alto nivel diseñado por Guido
van Rossum, con un énfasis en la legibilidad del código y la productividad del
programador.
1993: Se desarrolla Ruby, un lenguaje de programación interpretado, diseñado para ser
simple y productivo, con un enfoque en la simplicidad y la elegancia del código.
1995: JavaScript es introducido por Netscape, utilizado principalmente para
programación en el lado del cliente en aplicaciones web para crear interactividad y
dinamismo en las páginas web.
1996: Java es lanzado por Sun Microsystems, diseñado para ser portátil, orientado a
objetos y seguro, con el lema "write once, run anywhere".
2007: Apple lanza Swift, un lenguaje de programación de propósito general para
desarrollar aplicaciones en plataformas de Apple, diseñado para ser más seguro, más
rápido y fácil de usar que Objective-C.
2009: Google desarrolla Go, un lenguaje de programación diseñado para la eficiencia y
la concurrencia, con una sintaxis similar a la de C pero con características modernas
como recolección de basura y tipado estático.
2014: Microsoft lanza TypeScript, un superset de JavaScript que agrega tipado estático
opcional y otras características para mejorar la escalabilidad y la mantenibilidad de
grandes proyectos de JavaScript.
Instituto Politécnico Nacional
“Unidad Profesional
Interdisciplinaria de Ciencia y
Tecnologías Avanzadas”
Unidad de Aprendizaje: Introducción a la Programación
Tarea 3
Grupo: 1MM1
Especialidad: Ingeniería Mecatrónica
Maestro: Serrano Fragoso Maricela
Fecha: 23/02/2024
Nombres:
Guerrero Figueroa Juan Pablo
2024-2
#include <stdio.h>
// Prototipos de las funciones
float suma(float a, float b);
float resta(float a, float b);
float multiplicacion(float a, float b);
float division(float a, float b);
int main() {
float num1, num2;
// Solicitar al usuario que ingrese los números
printf("Ingrese el primer numero: ");
scanf("%f", &num1);
printf("Ingrese el segundo numero: ");
scanf("%f", &num2);
// Mostrar todas las operaciones realizadas
printf("El resultado de la suma es: %.2f\n", suma(num1, num2));
printf("El resultado de la resta es: %.2f\n", resta(num1, num2));
printf("El resultado de la multiplicacion es: %.2f\n", multiplicacion(num1, num2));
printf("El resultado de la division es: %.2f\n", division(num1, num2));
return 0;
// Función para realizar la suma
float suma(float a, float b) { return a + b;}
// Función para realizar la resta
float resta(float a, float b) {return a - b;}
// Función para realizar la multiplicación
float multiplicacion(float a, float b) {return a * b;}
// Función para realizar la división
float division(float a, float b) {return a / b;}
Instituto Politécnico Nacional
“Unidad Profesional
Interdisciplinaria de Ciencia y
Tecnologías Avanzadas”
Unidad de Aprendizaje: Introducción a la Programación
Tarea 4
Grupo: 1MM1
Especialidad: Ingeniería Mecatrónica
Maestro: Serrano Fragoso Maricela
Fecha: 26/02/2024
Nombres:
Guerrero Figueroa Juan Pablo
2024-2
Paréntesis ( ):
Las expresiones dentro de paréntesis se evalúan primero, independientemente de la
precedencia de otros operadores. Esto permite establecer un orden específico de
evaluación en una expresión.
Exponente (**):
En C, el operador de exponente no es nativo, pero puedes calcular potencias usando
la función pow() de la biblioteca math.h.
Multiplicación (*) y División (/):
La multiplicación y la división tienen la misma precedencia y se evalúan de izquierda a
derecha. Estas operaciones se realizan después de cualquier operación en paréntesis
y antes de la suma, resta, módulo y cociente.
Suma (+) y Resta (-):
La suma y la resta también tienen la misma precedencia y se evalúan de izquierda a
derecha. Estas operaciones se realizan después de la multiplicación, división, y
cualquier operación en paréntesis.
Módulo (%) y Cociente (/):
El operador de módulo (%) devuelve el resto de la división entera entre dos números.
El operador de cociente (/) realiza una división entera y devuelve el cociente
resultante, truncando cualquier parte decimal.
Tienen la misma precedencia que la multiplicación y la división, y se evalúan de
izquierda a derecha.
Operadores relacionales (<, <=, >, >=, ==, !=):
Estos operadores se utilizan para comparar dos valores y devolver un resultado
booleano (verdadero o falso) dependiendo de si la relación es verdadera o falsa.
Tienen menor precedencia que las operaciones aritméticas y lógicas.
Operadores lógicos (Not, And, Or):
Los operadores lógicos se utilizan para combinar expresiones booleanas y devolver un
resultado booleano basado en las condiciones lógicas. Tienen menor precedencia que
las operaciones aritméticas y de comparación.
Instituto Politécnico Nacional
“Unidad Profesional
Interdisciplinaria de Ciencia y
Tecnologías Avanzadas”
Unidad de Aprendizaje: Introducción a la Programación
Tarea 5
Grupo: 1MM1
Especialidad: Ingeniería Mecatrónica
Maestro: Serrano Fragoso Maricela
Fecha: 26/02/2024
Nombres:
Guerrero Figueroa Juan Pablo
2024-2
Tablas de verdad
A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1
A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1
A NOT A
0 1
1 0
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0
A B A XAND B
0 0 1
0 1 0
1 0 0
1 1 1
A XNOT A
0 1
1 0
Conclusión
Estos trabajos demuestran la amplitud y profundidad de la programación y la
informática, y la importancia de entender tanto los conceptos básicos como la historia y
evolución de este campo. Estos trabajos serían útiles tanto para principiantes que están
aprendiendo a programar, como para programadores más experimentados que buscan
repasar o ampliar sus conocimientos. Cada uno de estos trabajos proporciona
información valiosa y detallada sobre su respectivo tema, y juntos ofrecen una visión
integral de la programación y la informática. La programación y la informática son
campos en constante evolución, y entender su historia y fundamentos es esencial para
mantenerse al día con las últimas tendencias y avances. Estos trabajos son un
testimonio de la rica historia y la diversidad de conceptos y técnicas en la programación
y la informática, y son un recurso valioso para cualquier persona interesada en estos
campos.
Referencias
Wexelblat, R. L. (Ed.). (2014). History of programming languages. Academic Press.
Bergin, T. J., & Gibson, R. G. (Eds.). (1996). History of programming languages II. New
York: Acm Press.
Bergin, T. J., & Gibson, R. G. (Eds.). (1996). History of programming languages II. New
York: Acm Press.
McGee, V. (1996). Logical operations. Journal of Philosophical Logic, 25, 567-580.
Bloch, I. (1996). Information combination operators for data fusion: A comparative review
with classification. IEEE Transactions on systems, man, and cybernetics-Part A: systems and
humans, 26(1), 52-67.