leonardobarros837742
5 views
55 slides
Aug 27, 2025
Slide 1 of 55
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
About This Presentation
Apunte
Size: 5.28 MB
Language: es
Added: Aug 27, 2025
Slides: 55 pages
Slide Content
02: Conceptos básicos
●Subtema 1:Algoritmo
●Subtema 2: Variable
●Subtema 3: Tipo de datos
●Subtema 4: Identificadores-palabras reservadas
●Subtema 5: Funciones matemáticas-Operadores-Expresiones algebraicas
●Subtema 6: Funciones.
Conceptos básicos
Algoritmos
Conceptos básicos
●Definición de Algoritmo:
Un algoritmo es un conjunto ordenado de pasos o instrucciones que describe el proceso a seguir
para realizar una tarea o resolver un problema. Los algoritmos son esenciales en programación, ya
que proporcionan una solución clara y detallada para un problema específico.
Características de un buen algoritmo:
Precisión: Cada paso debe ser claramente definido y comprensible.
Finitud: Debe tener un número finito de pasos que eventualmente conducen a una solución.
Entrada y salida definidas: Debe recibir ciertos datos de entrada y proporcionar una salida específica.
Eficiencia: Debe resolver el problema de manera eficiente en términos de tiempo y recursos.
Algoritmos
Entendimiento del Problema:
●Define claramente cuál es el problema que estás intentando resolver.
●Desglosa el problema en partes más pequeñas y manejables si es necesario.
Supongamos que queremos diseñar un algoritmo que determina si un número es un número primo o no.
Un número primo es un número natural mayor que 1 que no tiene más divisores que 1 y él mismo. En otras palabras, un
número primo solo es divisible por 1 y por sí mismo. Por ejemplo, los primeros números primos son 2, 3, 5, 7, 11, y así
sucesivamente. Cualquier número entero positivo que no sea primo se llama número compuesto, ya que es divisible por más
de dos números (1, él mismo y posiblemente otros).
Un número primo es un número mayor que 1 que no tiene divisores más allá de 1 y él mismo. Por ejemplo, el número 7 es
primo porque solo tiene dos divisores, 1 y 7. Cuando buscas divisores de un número, solo necesitas buscar hasta la mitad del
número, ya que ningún divisor puede ser mayor que la mitad del número (excepto el propio número).
ejemplo del limite de busqueda 25/2=12.5 hay que buscar hasta 12.5
Conceptos básicos
Algoritmos/matemáticas
Conceptos básicos
Algoritmos/matemáticas
Conceptos básicos
Algoritmos
Conceptos básicos
La razón por la cual puedes limitar aún más la búsqueda a la raíz cuadrada es que si un número no es primo, debe tener
al menos un factor que sea menor o igual a su raíz cuadrada. Si tuvieras un factor mayor que la raíz cuadrada,
necesariamente tendrías otro factor que sería menor que la raíz cuadrada. Esto se debe a que si tienes dos factores, uno
necesariamente será menor o igual a la raíz cuadrada y el otro será mayor o igual a la raíz cuadrada. Entonces, para
verificar si un número no es primo, solo necesitas buscar factores hasta la raíz cuadrada.
Este enfoque reduce la cantidad de comprobaciones necesarias y mejora la eficiencia del algoritmo.
La idea es que si encuentras un divisor mayor que la raíz cuadrada del número que estás verificando, no necesitas seguir
buscando, ya que si hay algún divisor mayor, también debe haber uno más pequeño. Esto reduce la cantidad de
operaciones y mejora la eficiencia del algoritmo.
ejemplo de la reducción del límite de búsqueda 25/2=12.5 hay que buscar hasta 12.5
raiz 25 = 5
Algoritmos
Análisis de Requisitos:
●Identifica y analiza los requisitos del problema. ¿Qué es esencial para la solución? ¿Hay restricciones
específicas? LA condición para ser Número primo
Diseño de Algoritmo:
●Desarrolla un algoritmo paso a paso para resolver el problema.
●Considera diferentes enfoques y elige el más eficiente y comprensible.
Algoritmo para verificar si un número es primo:
1. Ingresar el número a verificar (llamémoslo "n").
2. Si n es igual a 1, entonces no es primo. Fin del algoritmo.
3. Inicializar una variable contador en 0.
4. Para cada número i desde 2 hasta la raíz cuadrada de n:
a. Si n es divisible por i (es decir, n % i es igual a 0), aumentar el contador en 1.
5. Si el contador es igual a 0, entonces n es primo. En caso contrario, no es primo.
Fin del algoritmo.
Representación Visual:
●Utiliza diagramas de flujo, pseudocódigo o cualquier otra representación visual para ayudar a comprender la
lógica de tu solución.
Conceptos básicos
FP-Introducción
Metodología para la resolución de problemas
Descomposición Modular:
●Divide el problema en módulos o funciones más pequeñas. Cada función debe realizar una tarea específica.
Manejo de Entradas y Salidas:
●Define cómo se recibirán los datos de entrada y cómo se presentarán los resultados
// Solicitar al usuario que ingrese un número
Escribir("Ingrese un número para verificar si es primo: ")
numero_usuario = ConvertirEntero(Leer())
// Verificar si el número es primo e imprimir el resultado
Si EsPrimo(numero_usuario):
Escribir(numero_usuario, " es un número primo.")
Sino:
Escribir(numero_usuario, " no es un número primo.")
Manejo de Entradas y Salidas:
●Define cómo se recibirán los datos de entrada y cómo se presentarán los resultados.
Manejo de Errores:
●Considera posibles errores y excepciones que puedan ocurrir durante la ejecución y planifica cómo manejarlos.
Pruebas:
●Diseña casos de prueba para verificar la corrección y eficiencia de tu solución.
●Realiza pruebas con datos de entrada diversos para asegurarte de que la solución sea robusta.
Optimización:
●Evalúa la eficiencia de tu solución y busca maneras de optimizarla si es posible.
Algoritmos
Conceptos básicos
En términos más simples, esto se utiliza para
verificar si 'número' es divisible por 2 sin dejar
ningún resto.
inicio
tomar la parte entera
de número
número <= 1
Algoritmos:Diagrama de flujo
Entrada de
número
Conceptos básicos
número = 2
numero % 2 = 0
si
pag:2
noprimo
pag:2
primo
pag:2
:i=3
fin
Número primo
Número no primo
Conceptos básicos
numero % i = 0?
i < raiz(numero)+1
i++
Algoritmos:Diagrama de flujo
pag:2
noprimo
pag:2
primo
pag:2
:i=3
Conceptos básicosElementos básicos necesarios para que un programa se ejecute
En C:
●Utilizamos #include <stdio.h> para incluir la librería estándar de entrada y salida.
●Necesitamos una función main() que sirve como punto de entrada del programa.
●Utilizamos printf() para imprimir en la consola.
●La ejecución comienza desde la función main() y sigue secuencialmente.
Conceptos básicosElementos básicos necesarios para que un programa se ejecute
En C, si no colocas return 0; al final de la función main(), el compilador asumirá implícitamente que la
función ha finalizado correctamente y retornará 0 al sistema operativo para indicar que el programa se ejecutó
sin errores.
Por lo tanto, el programa aún funcionará correctamente incluso si omites return 0; al final de main() en
muchos entornos de desarrollo.
Sin embargo, es una buena práctica incluir explícitamente return 0; para hacer el código más claro y legible,
y para evitar posibles problemas en algunos entornos o para cumplir con estándares de codificación
Conceptos básicosElementos básicos necesarios para que un programa se ejecute
En Python:
●No necesitamos importar librerías para imprimir en la consola.
●No necesitamos una función main(), la ejecución comienza desde la primera línea del archivo.
●Utilizamos print() para imprimir en la consola.
●La ejecución sigue secuencialmente desde la primera línea hasta la última.
En resumen, mientras que en C necesitamos importar librerías, definir una función main() y utilizar printf(), en
Python simplemente escribimos nuestro código secuencialmente y utilizamos print() para imprimir en la
consola. Además, en Python no necesitamos preocuparnos por la estructura de main() ya que la ejecución
comienza desde la primera línea del archivo.
Conceptos básicosElementos básicos necesarios para que un programa se ejecute
Conceptos básicosIdentificadores -palabras reservadas
En programación, un identificador es simplemente un nombre que se utiliza para identificar una variable, función, o
cualquier otro elemento programático. Algunas reglas comunes para los identificadores son:
Composición del nombre:
●Pueden contener letras, dígitos y guiones bajos.
●Deben comenzar con una letra o un guión bajo.
Mayúsculas y minúsculas:
●La mayoría de los lenguajes de programación son sensibles a mayúsculas y minúsculas, por lo que
variable y Variable se considerarán diferentes.
Longitud:
●La longitud del identificador puede variar según el lenguaje de programación.
Palabras reservadas:
●No se pueden utilizar palabras reservadas del lenguaje como identificadores. Por ejemplo, en Python,
no puedes nombrar una variable if o while.
Conceptos básicosIdentificadores -palabras reservadas
Palabras Reservadas:
Las palabras reservadas son aquellas que tienen un significado especial en un lenguaje de programación y no
pueden ser utilizadas como identificadores. Estas palabras están reservadas para funciones específicas dentro del
lenguaje y no se pueden redefinir. Algunas palabras reservadas comunes en varios lenguajes incluyen:
●if: Utilizado en estructuras de control de flujo condicionales.
●else: Parte de las estructuras de control de flujo condicionales.
●while: Utilizado para bucles.
●for: Otro keyword utilizado para bucles.
●int, float, char: Utilizados para declarar variables de diferentes tipos de datos.
●return: Utilizado para devolver un valor de una función.
●print,scanf,input
Cada lenguaje de programación tiene su propia lista de palabras reservadas, por lo que es importante revisar la
documentación específica del lenguaje que estás utilizando.
Conceptos básicosVariables y tipo de datos
Variables y constantes:
●Variables: Son espacios de almacenamiento con un nombre simbólico (identificador) y un
tipo de dato asociado. Pueden cambiar de valor durante la ejecución del programa.
●Constantes: Son valores fijos que no pueden cambiar durante la ejecución del programa.
Tipos de datos:
●Los tipos de datos definen qué tipo de valores pueden almacenarse en las variables.
Algunos ejemplos comunes incluyen enteros, decimales, caracteres y booleanos.
C
int float, char, boolean, cadena de char ,char[]
python
int float string boolean
Conceptos básicosIdentificadores -palabras reservadas
Enfoque en C:
identificadores.c
Conceptos básicosIdentificadores -palabras reservadas
Enfoque en python:
identificadores.py
Conceptos básicosVariables y tipo de datos
Enfoque en C:
Enteros (int):
●Rango: Depende de la arquitectura, pero comúnmente es de -2,147,483,648 a 2,147,483,647 para
int de 32 bits.
tipo_datos_1.c
Conceptos básicosVariables y tipo de datos
Enfoque en Python:
Enteros (int):
●Rango: No hay límite fijo en Python.
En Python, a diferencia de algunos otros lenguajes de programación como C, no hay un límite fijo para el tipo de dato
int. Esto se debe a que Python utiliza una representación dinámica y arbitrariamente precisa para sus enteros.
En Python 3, los enteros se representan internamente como objetos de tipo int. Estos objetos int son capaces de
ajustar su tamaño dinámicamente según sea necesario para acomodar números arbitrariamente grandes.
Cuando realizas operaciones aritméticas y obtienes un resultado que excede el tamaño de un int estándar, Python
automáticamente ajusta la representación interna para manejar el nuevo tamaño requerido. Esto significa que no
tienes que preocuparte por desbordamientos de enteros en Python, como podría suceder en lenguajes que tienen
límites fijos para el tamaño de sus tipos de datos enteros.
tipo_datos_1.py
Conceptos básicosVariables y tipo de datos
Enfoque en C:
Números de punto flotante (float):
●Rango: Depende de la precisión, comúnmente 6 dígitos decimales.
tipo_datos_2.c
Conceptos básicosVariables y tipo de datos
Enfoque en Python:
Números de punto flotante (float):
●Python utiliza el estándar IEEE 754
En Python, los números de punto flotante (tipo float) se representan utilizando el estándar IEEE 754 de punto flotante
de doble precisión (64 bits). La representación de 64 bits permite una precisión extremadamente alta, y los números
de punto flotante de Python pueden representar números reales con un gran número de decimales.
Sin embargo, aunque la precisión es alta, no es ilimitada. En Python, los números de punto flotante están limitados por
la cantidad de memoria disponible y las limitaciones de precisión inherentes a la representación binaria de números
racionales.
Cuando realizas operaciones aritméticas con números de punto flotante en Python, es posible que encuentres
pequeños errores de redondeo debido a la representación finita de algunos números racionales en el sistema binario.
tipo_datos_2.py
Conceptos básicosVariables y tipo de datos
Enfoque en C:
Cadenas de caracteres (char[]):
●No hay un rango específico, ya que es una secuencia de caracteres.
tipo_datos_3.c
Conceptos básicosVariables y tipo de datos
Enfoque en Python:
Cadenas de caracteres (str):
●No hay límite en la longitud de una cadena en Python.
tipo_datos_3.py
Conceptos básicosVariables y tipo de datos
Enfoque en C:
Booleanos:
●En C, los booleanos suelen representarse con 0 para false y cualquier otro valor para true.
tipo_datos_4.c
Conceptos básicosVariables y tipo de datos
Enfoque en Python:
Booleanos:
●En Python, los booleanos son True y False.
tipo_datos_4.py
Conceptos básicosVariables y tipo de datos
●Tamaño de la Palabra del Procesador:
●El tamaño de la palabra del procesador se refiere a la cantidad de bits que el procesador puede manejar en una
operación. Esto afecta directamente al rango de valores que pueden ser representados por los tipos de datos.
En C, puedes utilizar tipos de datos con tamaño fijo para garantizar que ciertos tipos tengan un tamaño específico en bytes,
independientemente de la plataforma. Para ello, puedes utilizar la biblioteca stdint.h, que proporciona tipos de datos enteros
con anchos específicos. Aquí tienes algunos ejemplos:
●uint8_t: Entero sin signo de 8 bits
●uint16_t: Entero sin signo de 16 bits
●uint32_t: Entero sin signo de 32 bits
●uint64_t: Entero sin signo de 64 bits
Adicional PA
tipo_datos_5.c
Conceptos básicosVariables y tipo de datos
Enteros con signo:
● int8_t: Entero con signo de 8 bits
● int16_t: Entero con signo de 16 bits
● int32_t: Entero con signo de 32 bits
● int64_t: Entero con signo de 64 bits
●
int8_t:
●Mínimo: -128
●Máximo: 127
int16_t:
●Mínimo: -32,768
●Máximo: 32,767
int32_t:
●Mínimo: -2,147,483,648
●Máximo: 2,147,483,647
int64_t:
●Mínimo: -9,223,372,036,854,775,808
●Máximo: 9,223,372,036,854,775,807
Adicional PA
tipo_datos_6.c
Conceptos básicosVariables y tipo de datos
Ejercicio
Dado un conjunto de variables, indica qué tipo de dato sería más apropiado para cada una (entero,
decimal, caracter, booleano).
tipo_datos_ejer.c
Conceptos básicosVariables y tipo de datos
Enfoque en C:
●int se utiliza para la variable edad, ya que es un número entero.
●float se utiliza para la variable altura, ya que es un número decimal.
●char se utiliza para la variable inicial, ya que es un carácter.
●int se utiliza para la variable es_estudiante, donde se asigna 1 para verdadero y 0 para falso. En C,
los booleanos no existen como un tipo de dato separado, pero se pueden representar con enteros
donde 0 es falso y cualquier otro valor es verdadero.
Recuerda que en C es importante definir el tipo de dato de cada variable al declararla, a diferencia de
algunos lenguajes de programación modernos donde la inferencia de tipos está más presente.
Conceptos básicosVariables y tipo de datos
Enfoque en C:
incluye printf
tipo_datos_ejer.c
Conceptos básicosVariables y tipo de datos
Enfoque en C:
●#include <stdio.h>: Esta línea incluye la biblioteca estándar de entrada y salida
(stdio.h). Proporciona funciones como printf que se utilizan para imprimir en la
consola.
●int main(): Define la función principal main, que es el punto de entrada del programa. En
C, la ejecución del programa comienza desde la función main.
●return 0;: Indica que el programa se ha ejecutado correctamente. En sistemas basados
en Unix, este valor se devuelve al sistema operativo para indicar si el programa finalizó
correctamente (0) o con algún error (otro valor).
Conceptos básicosVariables y tipo de datos
Enfoque en Python:
En Python, no es necesario declarar explícitamente
el tipo de dato de una variable; el intérprete de
Python realiza la inferencia de tipos
automáticamente. Además, en Python, los
booleanos se imprimen directamente como True o
False, en lugar de 1 o 0 como en C.
Conceptos básicos
Enfoque en python:
Estos ejemplos incluyen operaciones aritméticas básicas como suma, resta, multiplicación y
división, así como funciones matemáticas más avanzadas como la raíz cuadrada (sqrt) y la
potencia (pow). Recuerda que en C es necesario incluir la biblioteca math.h para utilizar estas
funciones matemáticas avanzadas. En Python, estas funciones están disponibles en el módulo
math y se deben importar antes de su uso.
Conceptos básicos
Funciones matemáticas-Operadores-Expresiones algebraicas
Operadores:
●Los operadores son símbolos que indican una operación a realizar entre dos o más valores. Algunos
operadores comunes son:
●Operadores aritméticos: + (suma), - (resta), * (multiplicación), / (división), % (módulo).
●Operadores de comparación: == (igual a), != (no igual a), < (menor que), > (mayor que), <= (menor o
igual a), >= (mayor o igual a).
●Operadores lógicos: && (y lógico), || (o lógico), ! (negación lógica).
Conceptos básicos
Funciones matemáticas-Operadores-Expresiones algebraicas
Orden de Evaluación de los Operadores:
●Es importante entender el orden en el que se evalúan los operadores en una expresión. Este orden está
determinado por la jerarquía de los operadores y se puede modificar usando paréntesis.
●Por ejemplo, en la expresión a + b * c, la multiplicación se realiza antes de la suma debido a la prioridad de
los operadores aritméticos.
Conceptos básicos
Funciones
Tanto en C como en Python, las funciones son bloques de código que realizan una tarea específica y pueden ser
llamadas desde otras partes del programa. Aquí te proporcionaré una introducción a las funciones en ambos lenguajes.
Funciones en C: En C, una función consta de una declaración y una definición. Aquí hay un ejemplo básico:
funciones_1.c
Conceptos básicos
Funciones
Parámetros en Funciones en C: En C, los parámetros se definen en la declaración de la función. Aquí tienes
un ejemplo:
●En la declaración void saludar(char nombre[]) , char nombre[] es el parámetro de la función. char[] indica
que la función espera un argumento que sea una cadena de caracteres.
●En la llamada saludar("Juan"), el valor "Juan" se pasa como argumento al parámetro nombre.
funciones_2.c
Conceptos básicos
Funciones
●Retorno en Funciones en C:
En C, se utiliza el tipo de retorno para indicar
qué tipo de valor devolverá la función. Aquí
tienes un ejemplo:
●En la declaración int sumar(int a, int
b), int es el tipo de retorno de la función.
Indica que la función devuelve un valor
entero.
●La función utiliza return para devolver el
resultado de la suma.
funciones_3.c
Conceptos básicos
Funciones
Funciones en Python:
En Python, la definición de funciones es más simple y flexible. Aquí tienes un ejemplo:
●No es necesario declarar el tipo de retorno ni los tipos de parámetros en Python.
●La función se define con la palabra clave def.
●La llamada a la función y la impresión del resultado son bastante directas.
En ambos ejemplos, la función realiza la operación de suma, pero ten en cuenta las diferencias de sintaxis y
características específicas de cada lenguaje
funciones_1.py
Conceptos básicos
Funciones
Parámetros en Funciones en
En Python, la sintaxis para definir parámetros es más simple:
●En la definición def saludar(nombre):, nombre es el parámetro de la función.
●En la llamada saludar("Juan"), el valor "Juan" se pasa como argumento al parámetro nombre.
funciones_2.py
Conceptos básicos
Funciones
●Retorno en Funciones en Python
En Python, la palabra clave return se utiliza para
devolver un valor desde la función:
●En la definición def sumar(a, b):, no es
necesario especificar el tipo de retorno.
Python es dinámicamente tipado y puede
devolver cualquier tipo de valor.
●La función utiliza return para devolver el
resultado de la suma.
En resumen, los parámetros son los valores que se
pasan a una función cuando es llamada, y la
devolución es el valor que una función puede
devolver al lugar desde donde fue llamada. Estos
conceptos son fundamentales para el diseño y uso
de funciones en programación.
funciones_3.py
Actividades a realizar
●Codificar en C o en Python Ejercicio de 1 a 10