El documento describe los diferentes tipos de lenguajes de programación y cómo se comunican con las computadoras. Explica que los lenguajes de bajo nivel como el lenguaje de máquina y ensamblador dependen de la arquitectura específica de la computadora, mientras que los lenguajes de alto nivel como C, Java y Python son independientes de la máquina y portables. También describe las diferentes fases del proceso de programación como la definición del problema, el diseño de la solución, la codificación, compilación y pruebas.
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
Los desafíos de calidad de software que nos trae la IA y los LLMsFederico Toledo
En esta charla, nos sumergiremos en los desafíos emergentes que la inteligencia artificial (IA) y los Large Language Models (LLMs) traen al mundo de la calidad del software y el testing. Exploraremos cómo la integración, uso o diseño de modelos de IA plantean nuevos retos, incluyendo la calidad de datos y detección de sesgos, sumando la complejidad de probar algo no determinístico. Revisaremos algunas propuestas que se están llevando adelante para ajustar nuestras tareas de testing al desarrollo de este tipo de sistemas, incluyendo enfoques de pruebas automatizadas y observabilidad.
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
2. ¿Cómo nos comunicamos con una máquina?
¿Qué es capaz de “entender” una maquina?
En el mundo de las computadoras, la información es digital.
3. ¿Qué es capaz de “entender” una maquina?
En una computadora, toda la información es representada por patrones de conmutadores
microscópicos. Acá tenemos el lenguaje que entiende la computadora.
Posiciones posibles del conmutador: ON – OFF → 0 – 1 : BIT
Pero las maquinas y los programas
entiendes mas que ON/OFF y números.
Para decirles mas cosas necesitamos un
CÓDIGO, por ejemplo ASCII.
¿Qué otros
códigos hay?
4. Ir a la página
dela UNaB. 01011010010110
10100010001010
01101011101101
01010110010101
Lenguaje Máquina
Lenguaje Humano
6. Un lenguaje de programación es un lenguaje formal
diseñado para comunicarle instrucciones a una
computadora.
7. Un lenguaje de programación, es un lenguaje que puede ser utilizado para
controlar el comportamiento de una máquina.
Consiste en un conjunto de reglas sintácticas y semánticas que definen su
estructura y el significado de sus elementos.
El lenguaje proporciona una serie de instrucciones que permiten a un
programador escribir secuencias de órdenes para controlar el comportamiento
físico y lógico de una computadora con el objetivo de que produzca diversas
clases de datos.
Al conjunto de órdenes y datos escritos mediante un lenguaje de programación se
le conoce como programa.
Las instrucciones escritas que forman un programa son denominadas código
fuente.
8. ¿Qué es un PROGRAMA?
Un grupo de instrucciones que le indican a la computadora que hacer para llegar
a una solución de un problema en particular.
Escritas en un lenguaje
de programación
9. LENGUAJE DE PROGRAMACIÓN: Niveles
LENGUAJES DE BAJO NIVEL
•Ensamblador
•Lenguaje Maquina
LENGUAJES DE ALTO NIVEL
• C
• C++
• Basic
• Fortran
• Cobol
• Pascal
• JAVA
• Ruby
• Phyton
• php
• …
• …
• …
TRADUCTOR
• Ensamblador
• Compilador
• Interprete
10. Lenguajes de alto nivel: aspiran a ser un lenguaje más
universal, por lo que pueden emplearse
indistintamente de la arquitectura del hardware, es
decir, en diversos tipos de sistemas. Los hay de
propósito general y de propósito específico.
Lenguajes de nivel medio: propone lenguajes de
programación que se ubican en un punto medio entre
los dos anteriores: pues permite operaciones de alto
nivel y a la vez la gestión local de la arquitectura del
sistema.
Lenguajes de bajo nivel: están diseñados para un
hardware específico y que por lo tanto no pueden
migrar o exportarse a otros computadores. Sacan el
mayor provecho posible al sistema para el que fueron
diseñados, pero no aplican para ningún otro.
11. Lenguajes de bajo nivel
Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se
realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas.
Son únicos para cada arquitectura de procesadores.
Lenguaje maquina: Este lenguaje ordena a la máquina las operaciones fundamentales para su
funcionamiento. Este lenguaje es mucho más rápido que los lenguajes de alto nivel.
Lenguaje propio de cada computadora, ya que está relacionado con el diseño del hardware de
la misma (dependiente de la computadora).
Consiste en cadenas de ceros y unos (sistema numérico binario).
El programador debe conocer la arquitectura de la computadora.
10101010110101010101010101010001001010110
12. Lenguaje maquina
• Operaciones básicas:
• Cargar datos desde la memoria
• Almacenar datos en memoria
• Operaciones aritméticas
• Operaciones de comparación
Ejemplo: C = A + B
0001010110000001
0001011110000010
0001011010000011
0001011010000111
Segmento de programa en
lenguaje de máquina
13. Lenguaje ensamblador
• Consiste en abreviaturas similares al inglés, llamadas instrucciones mnemotécnicas,
que permiten representar las operaciones elementales de la computadora
Ejemplo: C = A + B
LOAD A
ADD B
STORE C
Segmento de programa en
lenguaje ensamblador
14. Lenguaje ensamblador
• Consiste en abreviaturas similares al inglés, llamadas instrucciones mnemotécnicas,
que permiten representar las operaciones elementales de la computadora.
• La computadora no entiende directamente lenguaje ensamblador por lo que un
programa escrito en este lenguaje tiene que ser traducido a lenguaje de máquina
por un programa llamado un ensamblador para que pueda ser ejecutado por la
computadora.
Programa escrito en
lenguaje
ensamblador
(código fuente)
LOAD A
ADD B
STORE C
Programa escrito en
lenguaje de
máquina (código
objeto)
0001010110000001
0001011110000010
0001011010000011
0001011010000111
Ensamblador
15. Lenguaje ensamblador
• Consiste en abreviaturas similares al inglés, llamadas instrucciones mnemotécnicas,
que permiten representar las operaciones elementales de la computadora.
• La computadora no entiende directamente lenguaje ensamblador por lo que un
programa escrito en este lenguaje tiene que ser traducido a lenguaje de máquina
por un programa llamado un ensamblador para que pueda ser ejecutado por la
computadora.
• Son dependientes de la arquitectura de la computadora (dependientes de la
máquina), todo programa escrito en un lenguaje ensamblador particular tendrá que
ser reescrito si se va a ejecutar en otro tipo de computadora.
16. Lenguaje ensamblador
Tienen pocas instrucciones como:
ADD, MOVE, SUB, END, JMP…
Los primeros programas se
escribían directamente con este
lenguaje.
Actualmente se usan en los SO de
en pequeños aparatos y máquinas
industriales.
Es complicado… Por eso se
desarrollaron los lenguajes de alto
nivel.
17. Lenguaje de Alto Nivel
• Permite a los programadores escribir programas en un lenguaje más familiar para
ellos y que contiene notaciones matemáticas comúnmente utilizadas (independiente
de la máquina)
• La programación es más fácil para los programadores ya que no necesitan conocer la
arquitectura de la computadora
• Son independientes de la máquina, cualquier programa escrito en un lenguaje de
alto nivel particular (que tiene una versión estandarizada) puede ser ejecutado en
cualquier computadora.
Programa escrito en
lenguaje de alto
nivel (código fuente)
Programa escrito en
lenguaje de
máquina (código
objeto)
Compilador
19. Resumen:
• Cada CPU tiene su propio lenguaje de máquina
interno. La programación a este nivel se realiza
generalmente en el lenguaje ensamblador
específico de la computadora
• Cada instrucción en lenguaje
traductor/ensamblador corresponde a una
instrucción en lenguaje de máquina
• Cualquier programa escrito usando un estándar
de un lenguaje de programación debe poder
ejecutarse en cualquier computadora después
de compilarlo. Esto se le conoce como
portabilidad de programas
20.
21. Elementos de un Lenguaje de Programación
• Operadores
• Variables
• Condicionantes
• Bucles
• Funciones
• Sintaxis
22. EL LENGUAJE C
El lenguaje C es uno de los lenguajes de programación más ampliamente utilizados en el
mundo, ejecutándose en la mayoría de los sistemas operativos y pueden ser usados en
casi todas las plataformas informáticas.
Recordemos:
- La unidad de memoria mas pequeña en un ordenador se denomina bit. Puede tomar
únicamente dos posibles valores: 0 o 1. Como puede verse, no es posible almacenar
mucha información en un solo bit.
- El byte, compuesto por ocho bits, es una unidad de memoria más útil. Puesto que
cada bit puede tomar el valor 0 o 1, en un byte pueden representarse hasta 28 = 256
combinaciones de ceros y unos.
23. Fases del proceso de programación
1. Definición del problema: Requiere que el problema sea definido y comprendido claramente para
que pueda ser analizado con todo detalle.
2. Análisis del problema: El propósito del análisis de un problema es ayudar al programador para
llegar a una cierta comprensión de la naturaleza del problema. El problema debe estar bien
definido si se desea llegar a una solución satisfactoria. Para poder definir con precisión el
problema se requiere que las especificaciones de entrada, proceso y salida sean descritas con
detalles.
Entrada: son todos los datos que hay que ingresar para la resolución del problema.
Proceso: son los diferentes procedimientos en los cuales se usaran los datos
proporcionados por el usuario en el paso anterior para resolver el problema.
Salida: la resolución del problema.
3. Diseño de la solución: Una computadora no tiene la capacidad para solucionar mas que cuanto
se le proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos que indican las
instrucciones a ejecutar por la maquina constituyen, como ya sabemos el algoritmo. Es presiso
representar el algoritmo mediante una determinada herramienta de programación: diagramas
de flujo, pseudocódigo
24. 4. Codificación: Es el algoritmo traspasado a la computadora a través de un lenguaje de
programación, debe ser escrito de acuerdo a las reglas gramaticales o sintaxis del
mismo. Generamos un algoritmo el cual se denomina código, y al pasarlo a un lenguaje
de programación se le llama código fuente.
5. Compilación y ejecución: Compilación, el lenguaje de programación seleccionado
revisa que no halla errores en el código fuente. Ejecución, ejecutar el programa
después del ser compilado.
6. Verificación y pruebas: Revisar que el programa de los resultados que el usuario
quiere, hay que revisar si hay algún error el cual puede ser de tipo lógico, de semántica
o ejecución.
7. Depuración: Corregir los errores encontrados en la etapa anterior, si hubiese algún
error se tiene que regresar hasta la etapa que sea necesaria para que la solución sea la
que el usuario requiere.
8. Documentación: Son todos los comentarios, referencias desde que se dio el problema
hasta que se encontró la solución.
9. Capacitación: Una ves que tenemos lo manuales viene la capacitación de usuarios,
como no a todos les interesa los mismo porque hay diferentes tipos de usuarios, se
tienen que dividir de acuerdo a sus conveniencias.
25. 10. Implantación o implementación del sistema: actividades tendientes a que el programa entre
en funcionamiento.
11. Mantenimiento: El mantenimiento preventivo es que hagamos lo posible por no caer en
errores, la actualización si el usuario tiene la necesidad de quitar o poner algo; téngase en
cuenta que cuando surge mantenimiento tenemos que volver a hacer todos los pasos
anteriores revisando que todas la condiciones sean favorables alrededor del sistema.