Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Comparación de Sintaxis entre Python y Julia: Un Análisis de Diferencias y Coincidencias, Monografías, Ensayos de Programación Lineal

Una comparación detallada de la sintaxis de los lenguajes de programación python y julia, explorando las diferencias y coincidencias en aspectos clave como tipos de datos, operadores aritméticos y lógicos, palabras reservadas, comentarios y funciones. Se analizan las características de cada lenguaje, incluyendo el tipado dinámico, la declaración de variables, la gestión de excepciones y la modularidad a través de funciones. Una herramienta útil para estudiantes y profesionales que buscan comprender las similitudes y diferencias entre estos dos lenguajes de programación populares.

Tipo: Monografías, Ensayos

2023/2024

Subido el 27/03/2025

cristian-lh.
cristian-lh. 🇵🇪

5 documentos

1 / 17

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Universidad Nacional de San Cristobal de
Huamanga
Facultad de Ingenier
´
ıa Minas, Geolog
´
ıa y Civil
Escuela de Formaci´
on Profesional de Ingeniera Civil
PROGRAMACI ´
ON DIGITAL IC-284
TRABAJO 01
Alumno:
LAMILLA HUAMAN Cristian
Semestre Acad´emico:
2024 - II
Profesor:
MSc. Ing.
CANCHARI GUTI´
ERREZ
Edmundo
Ayacucho - Per´u
2024
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Vista previa parcial del texto

¡Descarga Comparación de Sintaxis entre Python y Julia: Un Análisis de Diferencias y Coincidencias y más Monografías, Ensayos en PDF de Programación Lineal solo en Docsity!

Universidad Nacional de San Cristobal de

Huamanga

Facultad de Ingenier´ıa Minas, Geolog´ıa y Civil

Escuela de Formaci´on Profesional de Ingeniera Civil

PROGRAMACI ON DIGITAL IC-284´

TRABAJO 01

Alumno:

LAMILLA HUAMAN Cristian

Semestre Acad´emico:

2024 - II

Profesor:

MSc. Ing.

CANCHARI GUTIERREZ´

Edmundo

Ayacucho - Per´u

INTRODUCCIÓN

Python es un lenguaje de programación dinámico orientado a objetos y puede ser cla- sificado como un lenguaje interpretado, de alto nivel, multiplataforma, de tipeado di- námico y multiparadigma. También provee reglas de estilos, a fin de poder escribir código fuente más legible y de manera estandarizada. Estas reglas de estilo, son defi- nidas a través de la Python Enhancement Proposal N° 8 (PEP). Asimismo, Julia es un lenguaje de programación de alto nivel, dinámico y eficiente, diseñado por cálculos numéricos y científicos. Combina la velocidad de lenguaje como C o Fortran con la simplicidad de Python o Matlab. En el presente trabajo se realizará un análisis de las diferencias o coincidencias en la sintaxis entre los lenguajes de programación Python y Julia.

1.1.1 (^) Diferencias

En Julia, los enteros y flotantes pueden declararse con mayor precisión en términos de tamaño, y los arreglos en Julia requieren que todos los elementos sean del mismo tipo, mientras que Python es más flexible al permitir listas con elementos de diferentes tipos.

1.2 Operadores

Ün operador es un símbolo que permite relacionar dos datos en una expresión y eva- luar el resultado de la operación. Los programas de las computadoras se apoyan esen- cialmente en la realización de numerosas operaciones aritméticas y matemáticas de diferente complejidad"(Corona & Ancona, 2011).

1.2.1 (^) Operadores aritméticos

Es aquel que permite realizar operaciones aritméticas sobre las variables

Tabla 1.2: Operadores aritméticos en Python

Operador Operación Aridad Asociatividad ** Exponenciacion Binario Por la derecha

  • Identidad Unario
  • Cambio de signo Unario
  • Multiplicacion Binario Por la izquierda / Division Binario Por la izquierda // Division entera Binario Por la izquierda % Modulo oresto Binario Por la izquierda
  • Suma Binario Por la izquierda
  • Resta Binario Por la izquierda

Tabla 1.3: Operadores aritméticos en Julia

Operador Operación x + y Suma x + y Resta xy Producto x/y Division x ÷ y Cociente division x % y entera x ˆ y Resto division entera Potencia

1.2.2 (^) Operadores lógicos

Se utilizan para combinar o manipular valores booleanos (True o False). Estos ope- radores son fundamentales en la toma de decisiones y el control del flujo de un pro- grama, ya que permiten construir expresiones lógicas complejas.

Tabla 1.4: Operadores lógicos en Python

Operador Operación Aridad Asociatividad Negacion not Unario Conjuncion and Binario Por la izquierda Disyuncion or Binario Por la izquierda

1.2.3 (^) Tabla de valores de verdad Python

En Python, los valores de verdad (también conocidos como valores booleanos) son True y False. Estos valores son utilizados para evaluar expresiones lógicas y controlar el flujo del programa.

Valores Booleanos básicos:

True: Representa una condición verdadera (V).

False: Representa una condición falsa (F).

1.2.4 (^) Operadores de comparación en Julia

Tabla 1.5: Valores de verdad en Python

X Y Not(X) Not(Y) X and Y X or Y V V F F V V V F F V F V F V V F F V F F V V F F

1.2.5 (^) Operadores de comparación en Julia

En Julia, los operadores de comparación se utilizan para comparar valores y devol- ver un valor booleano (true o false). Aquí están los operadores de comparación más comunes en Julia:

1.3.2 (^) En lenguaje de programación Julia:

Sánchez (2014) expresa que çomo lenguaje de tipado dinámico, no es necesario declarar una variable antes de usarla. Su tipo se infiere directamente del valor asocia- do"(p. 19).

Figura 1.1: Tipado dinámico de variables en Julia

No obstante, para variables de ámbito local, por ejemplo en funciones, es posible fijar el tipo de una variable indicándolo detrás de su nombre con el operador ::

Las variables también se declaran sin necesidad de especificar su tipo, aunque es posible hacerlo explícitamente. Ejemplo: x = 10 o x::Int = 10.

Una vez declaradas, las variables pueden cambiar de tipo, pero con control más explícito sobre los tipos si se desea. Ejemplo: x::Int = 10, seguido de x = "Hola".

1.3.3 (^) Coincidencias

Ambos lenguajes permiten la declaración de variables sin especificar el tipo, aun- que Julia ofrece más control si se desea declarar tipos explícitos

1.4 Palabras reservadas

Es reservado por el lenguaje de programación para realizar funciones específicas. Estas palabras tienen un significado predefinido y no pueden ser utilizadas como iden- tificadores, como nombres de variables o funciones, ya que podrían interferir con la lógica del programa. Dicho de otra manera, quedan “apartadas” para una función es- pecífica e inhabilitadas para otras.

Las palabras reservadas en Python y Julia son términos que tienen un significado especial en cada lenguaje y no se pueden utilizar como nombres de variables, funcio- nes, o identificadores

Tabla 1.8: Palabras reservadas en Python y Julia

Palabras reservadas en Python Palabras reservadas en Julia False, None, True, and, as, assert, baremodule, begin, break, catch, async, await, break, class, continue, const, continue, do, else, elseif, def, del, elif, else, except, finally, for, end, export, false, finally, for, from, global, if,import, in, is, lambda, function, global, if, import, let, nonlocal, not, or local, macro, module, quote, pass, raise, return, try, while, with, yield return, struct, true, try, using, where, while

1.4.1 (^) Diferencias

Python tiene palabras reservadas para manejo de excepciones como try, except, finally, mientras que Julia utiliza try, catch, finally.

Julia tiene la palabra reservada struct para definir estructuras, mientras que en Python se usan clases (class) para propósitos similares

Ambas tienen palabras reservadas para controlar el flujo de ejecución (if, else, while, for).

Python incluye palabras relacionadas con programación asincrónica (async, await), mientras que Julia no tiene estas palabras reservadas.

Julia utiliza elseif y Python elif.

Estas palabras reservadas son fundamentales para la sintaxis de cada lenguaje y son esenciales para el funcionamiento correcto del código.

1.5 Comentarios

1.5.1 (^) En lenguaje de programación Python

En Python, hay dos tipos de comentarios, uno es un comentario de una sola línea y el otro es un comentario de varias líneas. Para un comentario de una sola línea, se utili- za #, mientras que para un comentario de varias líneas se utilizan comillas triples ”’ "(Bhaskar N. Das, 2017, p. 22).

Este es un comentario de una sola línea en Python

imprimir "Hola mundo"#Este es un comentario único en Python "Para varias líneas comentario uso tres comillas dobles ... " imprime "¡Hola mundo!"

PROGRAMACIÓN MODULAR

2.1 Definición o concepto de función (módulo):

Según Gonzáles (2011), “una función es un fragmento de código con un nombre asociado que realiza una serie de tareas y devuelve un valor”. Ambos lenguajes per- miten la creación de funciones reutilizables, admiten parámetros y tienen una sintaxis similar para devolver valores

2.1.1 (^) Python

Una función es un bloque de código reutilizable que realiza una tarea específica, ayudando a modularizar el programa para mejorar su legibilidad y mantenimiento. Se define con la palabra clave def seguida del nombre de la función y parámetros opcionales.

2.1.2 (^) Julia

Una función es un conjunto de instrucciones que realizan una tarea específica. En Julia, se define con la palabra clave function, seguida del nombre de la función y los parámetros entre paréntesis. Las funciones permiten reutilizar código y ayudan a es- tructurarlo de manera modular.

2.2 Creación de funciones

“Una función asocia un nombre a un bloque de código de manera que cada vez que se invoca a la función se ejecuta el bloque de código asociado” (Sánchez, 2014, p. 73).

2.2.1 (^) En Python

Las funciones se crean utilizando la palabra clave def, seguida del nombre de la función, paréntesis, y dos puntos. El bloque de código que compone la función se in- denta bajo la declaración def.

def saludo(): print("¡Hola!")

2.2.2 (^) En julia

En Julia, las funciones se crean utilizando la palabra clave function, seguida del nombre de la función, paréntesis, y un bloque de código que finaliza con la palabra end.

function saludo() println("¡Hola!") end

2.2.3 (^) Diferencias

Python no requiere un cierre explícito para la función, ya que se basa en la in- dentación para delimitar el bloque de código de la función.

Julia requiere el uso de end para cerrar la función, mientras que Python utiliza la indentación.

2.3 Variables locales y globales

2.3.1 (^) Python

En Python, las variables definidas dentro de una función son locales a esa función. Si una variable debe ser global (es decir, accesible fuera de la función), se debe declarar explícitamente con la palabra clave global.

x = 10 # Variable global def cambiar_valor(): global x x = 20 cambiar_valor() print(x) # Imprime 20

function modificar_lista(lista) push!(lista, 4) end mi_lista = [1, 2, 3] modificar_lista(mi_lista) println(mi_lista) # Imprime [1, 2, 3, 4]

2.4.3 (^) Diferencias

En Python, se tiene un enfoque simple y directo para pasar referencias o valores dependiendo del tipo de dato. También la sintaxis para manipular estructuras de datos como listas puede variar ligeramente (ejemplo: append en Python y push! en Julia).

2.5 Devolver información (resultados) de una función

2.5.1 (^) Python

Para devolver un valor desde una función en Python, se utiliza la palabra clave return. Si no se especifica return, la función devuelve None.

def suma(a, b): return a + b resultado = suma(5, 3) print(resultado) # Imprime 8

2.5.2 (^) Julia

Si una función necesita devolver un valor, se usa return. Si no se utiliza return, Julia devolverá automáticamente el valor de la última expresión evaluada en la función.

function suma(a, b) a + b # Retorna el resultado automáticamente end resultado = suma(5, 3) println(resultado) # Imprime 8

2.5.3 (^) Diferencias

Julia permite omitir return si la última línea de la función es la expresión a de- volver, mientras que en Python return es necesario para cualquier retorno que no sea None

2.6 Ejecutar una función (llamada a una función)

2.6.1 (^) En Python

Se escribe el nombre de la función seguido de paréntesis que pueden contener o no los argumentos necesarios

EJEMPLO

def saludo(): print("¡Bienvenido!")

Llamada a la función

saludo()

En este caso, se llama a la función saludo() sin argumentos, y se ejecuta la función, que imprime "¡Bienvenido!.en^ la consola.

Llamada con argumentos:

def suma(a, b): return a + b resultado = suma(5, 3) print(resultado) # Imprime 8

Aquí, suma(5, 3) llama a la función suma con los argumentos 5 y 3, y el resultado se almacena en la variable resultado.

2.6.2 (^) Julia

La llamada a una función también es directa y similar a Python. Se usa el nombre de la función seguido de paréntesis que contienen los argumentos.

EJEMPLO

function saludo() println("¡Bienvenido!") end

Llamada a la función

saludo()

De manera similar, saludo() llama a la función saludo sin argumentos, y se ejecuta el println, que imprime "¡Bienvenido!".

CONCLUSIONES

Python y Julia soportan tipos básicos como enteros, flotantes, cadenas y boolea- nos, pero Julia ofrece un tipado más explícito y detallado que puede optimizar el rendimiento. Ambos lenguajes usan operadores aritméticos, lógicos y de compa- ración de manera similar, aunque Julia tiene operadores adicionales y un sistema de sobrecarga más amplio. Las variables son dinámicamente tipadas en ambos, pero Julia permite anotaciones de tipo opcionales. Las palabras reservadas como if, for y while son comunes, pero Julia usa end para cerrar bloques de código. Los comentarios en Python se hacen con #, mientras que en Julia se usan # para comentarios de una línea y # = = # para multilíneas.

En Python y Julia, la función es fundamental para la programación modular, definidas con def en Python y function seguido de end en Julia, aunque Julia ofrece una sintaxis más compacta. Las variables locales y globales se manejan de manera similar en ambos lenguajes. Aunque los parámetros se pasan por valor en ambos, Julia permite el uso de referencias para tipos específicos gracias a su sistema de tipos.

Bibliografía

Bhaskar N. Das, M. (2017). Learn Python in 7 Days : Get up-and-running with Python. Copyright Packt Publishing.

Corona Nakamura, M. A., & Ancona Valdez, M. d. l. Á. (2011). Diseño de algoritmos y su codificación en lenguaje C. McGraw-Hill.

Gonzáles, D. R. (2011). Python para todos .EditorialCreativeCommonsReconocimiento. https://repositorio.uci.cu/jspui/handle/123456789/

Joyanes Aguilar, L. (2008). Fundamentos de programación Algoritmos, Estructura de Datos y Objetos (Cuarta Edición).

https://ellibrodepython.com/palabras-reservadas-python