IS110

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/141

flashcard set

Earn XP

Description and Tags

ASDFASDF

Last updated 4:00 AM on 10/30/25
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

142 Terms

1
New cards

Algoritmo

Una secuencia de pasos lógicos y ordenados con las cuales le damos solución a un problema determinado.

2
New cards

Características de los algoritmos

Un algoritmo debe ser preciso e indicar el orden de realización de cada paso, debe estar definido, debe ser finito con un número determinado de pasos.

3
New cards

Etapas de un algoritmo

Entrada, proceso y salida.

4
New cards

Ejemplo de algoritmo cotidiano

Preparar maicena: entrada (ingredientes), proceso (pasos para preparar), salida (atole listo).

5
New cards

Pasos para resolución de problemas con computadoras

  1. Definición o análisis del problema, 2. Diseño del algoritmo, 3. Transformación del algoritmo en un programa, 4. Ejecución y validación del programa.


6
New cards

Análisis del problema

Preguntas clave: ¿Qué entradas se requieren? (tipo y cantidad de datos), ¿Cuál es la salida deseada? (tipo y cantidad de resultados), ¿Qué método produce la salida deseada?, Requisitos adicionales y restricciones.

7
New cards

Desglose y Pruebas de Escritorio

Proceso de refinamiento de la solución de elementos generales a particulares en distintos niveles, conocido como diseño descendente.

8
New cards

Ejemplo de problema para desglose

Calcular el sueldo neto de un obrero que trabaja por horas, con horas extras pagadas al doble, deducción por Seguro Social y pago de vivienda.

9
New cards

Estrategia de solución para desglose

Salidas: Ingreso bruto, deducción del seguro social, sueldo neto. Entradas: Pago por hora, horas trabajadas, horas extras, pago de vivienda.

10
New cards

Pasos principales en desglose

  1. Lectura de datos, 2. Cálculos, 3. Impresión de resultados.


11
New cards

Fórmulas para cálculos en desglose

INGBRUTO = HTRABAJ * PHORA + HEXTRAS * PHORA * 2, DIHSS = INGBRUTO * 0.035, TDEDUC = DIHSS + VIVIENDA, SNETO = INGBRUTO - TDEDUC.

12
New cards

Diccionario de variables

PHORA (Pago base por hora), HTRABAJ (Horas ordinarias trabajadas), HEXTRAS (Horas extras trabajadas), DIHSS (Deducción para el IHSS), VIVIENDA (Pago de vivienda), INGBRUTO (Ingreso total bruto), TDEDUC (Total de deducciones), SNETO (Sueldo Neto).

13
New cards

Prueba de escritorio

Componentes: Datos (entrada como 2.50, 147, 25, 190), Memoria (variables y valores), Salida (resultados impresos como ingreso bruto, total deducciones, sueldo neto).

14
New cards

Bibliografía para desglose

Joyanes, Luis. Fundamentos Generales de Programación. Mc Graw Hill, 2012; Pacheco, Rosbinda; Tábora, Alex. Metodología de la Programación. Segunda Edición. Honduras, 2007.

15
New cards

Software

Conjunto de programas, instrucciones y reglas informáticas que permiten ejecutar distintas tareas en una computadora; es el equipamiento lógico intangible de un ordenador.

16
New cards

Concepto de software

Abarca todas las aplicaciones informáticas como procesadores de textos, planillas de cálculo y editores de imágenes; desarrollado mediante lenguajes de programación.

17
New cards

Clasificación del software

Software de sistema o de base (control sobre hardware y soporte a programas), software de aplicación (tareas específicas).

18
New cards

Software de sistema

Permite al usuario control sobre el hardware y da soporte a otros programas; incluye sistemas operativos que comienzan al encender la computadora.

19
New cards

Sistemas operativos más usados

Windows (creado por Microsoft en 1982, versiones como NT, 95, 98, 2000, XP, Vista, 7, 8; domina >90% del mercado), Unix (portable, multitarea, multiusuario, desarrollado en 1969), Linux (similar a Unix, multitarea, multiusuario), Ubuntu (basado en Linux, software libre), Mac OS X (basado en Unix, para computadoras Macintosh desde 2002).

20
New cards

Sistemas operativos para móviles

Android (basado en kernel Linux, para dispositivos táctiles), iOS (para iPhone, iPod Touch, iPad, Apple TV), Windows Phone (para smartphones).

21
New cards

Software de aplicación

Encargado de tareas específicas como procesadores de textos, hojas de cálculo, reproductores multimedia; diseñado para simplificar trabajos, automatizar tareas como contabilidad o redacción.

22
New cards

Ejemplos de software de aplicación

Microsoft Word (procesador de textos para creación, diseño e impresión de documentos), Microsoft Excel (hojas de cálculo para labores contables y financieras), Access (bases de datos para tablas, consultas, formularios, informes).

23
New cards

Rivales de Microsoft Office

OpenOffice (suite libre): Writer (procesador de textos), Calc (hojas de cálculo), Base (bases de datos).

24
New cards

Paquetes integrados de software

Paquetes que solucionan problemas generales e incluyen múltiples aplicaciones, e.g. paquete de oficina como Microsoft Office.

25
New cards

Lenguaje de programación

Estructura con base sintáctica y semántica que imparte instrucciones a un programa de computadora; permite especificar datos, cómo conservarlos/transferirlos y acciones ante circunstancias.

26
New cards

Origen de lenguajes de programación

Referencia a Ada Lovelace como la primera programadora conocida.

27
New cards

Clasificación de lenguajes de programación

Según nivel de abstracción: lenguaje de máquina (cadenas binarias legibles por computadora), bajo nivel (cercano al funcionamiento de la computadora, e.g. ensamblador), medio nivel (comparte características de bajo y alto), alto nivel (elementos del lenguaje humano).

28
New cards

Herramientas para lenguajes

Intérpretes (adaptan instrucciones de otro lenguaje), compiladores (traducen de un lenguaje a otro).

29
New cards

Ejemplos de lenguajes de programación

Pascal, Visual Basic, SQL, Delphi, Lingo, Cobol, HTML (para páginas web), Java.

30
New cards

Algoritmo

Serie de pasos o instrucciones finitas y ordenadas que sirven para darle solución a una situación; creado antes de programar para pensar en pasos.

31
New cards

Características de un algoritmo

Preciso, sin ambigüedades, congruente, funciona ante cualquier situación.

32
New cards

Estructura de un algoritmo

Inicio, instrucciones/pasos, fin.

33
New cards

Tipos de algoritmos

Cualitativo (describe situaciones de la vida cotidiana), cuantitativo (hace operaciones matemáticas, con entrada, proceso y salida).

34
New cards

Ejemplo de algoritmo cualitativo

Pasos para hacer un emparedado: buscar ingredientes, untar panes, poner jamón y queso, tapar.

35
New cards

Ejemplo de algoritmo cuantitativo

Promedio de tres números: leer n1, n2, n3 (entrada), sumar y dividir entre 3 (proceso), mostrar resultado (salida).

36
New cards

Importancia de algoritmos

Desarrolla capacidad lógica, análisis previo al código; no olvidar al programar para facilitar comprensión y mantenimiento.

37
New cards

Ejercicio propuesto

Pensar en pasos para ir a dormir y crear algoritmo.

38
New cards

Programación

Proceso de planeación y creación de un programa; secuencia de sentencias para ejecutar una tarea.

39
New cards

Lenguajes de programación

Conjunto de reglas, instrucciones y normas para transmitir órdenes a la computadora.

40
New cards

Proceso de transformación de algoritmo

De problema a algoritmo en pseudocódigo o diagrama de flujo, a código fuente (e.g. C++), edición, traducción/ejecución a código máquina.

41
New cards

Clasificación de instrucciones en lenguajes

Entrada/salida (transferencia de info), cálculo (operaciones aritméticas), control (modifican secuencia de ejecución).

42
New cards

Lenguaje máquina

Instrucciones en cadenas binarias que especifican operación y direcciones de memoria; desventajas: dificultad en codificación, poca fiabilidad, solo ejecutable en mismo procesador.

43
New cards

Lenguaje de bajo nivel

E.g. ensamblador; usa nemotécnicos como ADD, SUB; más fácil que máquina pero depende de la máquina.

44
New cards

Lenguaje de alto nivel

Utilizados por programadores; fáciles de escribir/entender; ventajas: corto tiempo de formación, sintaxis similar a lenguajes humanos, fáciles modificaciones, reducción de costes, transportabilidad.

45
New cards

Traductores de lenguaje

Interprete (traduce y ejecuta en línea), compilador (traduce a código máquina, genera programa objeto).

46
New cards

Fases de compilación

Traducción de programa fuente a objeto (código máquina), ejecución.

47
New cards

Historia de lenguajes de programación

Década 1950: Fortran, ALGOL 58, LISP, COBOL; 1960: BASIC, LOGO, Simula 67, Smalltalk; 1970: PASCAL, C, Modula 2; 1980: C++, Eiffel, Ada, Perl; 1990: JAVA, JavaScript; 2000: C#, XML.

48
New cards

Bibliografía para lenguajes

Joyanes, Luis. Fundamentos Generales Programación. Mc Graw Hill, 2013 (páginas 25-40).

49
New cards

Programación

Proceso de creación de un programa de computadora mediante aplicación de procedimiento lógico; construye sistemas como conjunto de objetos relacionados.

50
New cards

Algoritmo

Conjunto de pasos o reglas lógicas para resolver problema determinado, finito, sin confusión; expresado en lenguaje natural, técnico o diagramas.

51
New cards

Herramientas gráficas para algoritmos

Diagramas de flujo.

52
New cards

Lenguaje natural para algoritmos

Desgloses.

53
New cards

Lenguaje técnico para algoritmos

Pseudocódigo o Nolae.

54
New cards

Desglose

Desarrolla lógica del algoritmo de manera descendente, de general a particular hasta instrucciones atómicas; usa lenguaje natural.

55
New cards

Ventajas y desventajas del desglose

Ventaja: expresión personal; desventaja: no siempre preciso, traducción no inmediata, flujo no evidente.

56
New cards

Pseudocódigo

Preciso, cada palabra/instrucción con significado específico; asemeja código de programación.

57
New cards

Ventajas y desventajas del pseudocódigo

Ventaja: traducción casi directa, revisión lógica por pruebas de escritorio; desventaja: flujo no evidente, no siempre simplificaciones.

58
New cards

Diagramas de flujo

Representación gráfica para visualización completa de estructuración; flujo indicado por flechas.

59
New cards

Ventajas y desventajas de diagramas de flujo

Ventaja: fácil seguimiento; desventaja: no práctico para muchos detalles o diseño descendente, puede fomentar mala estructuración.

60
New cards

Simbología de diagramas de flujo

Símbolo para operación (rectángulo), flujo (flecha), decisión (rombo), inicio/fin (óvalo).

61
New cards

Clasificación de aplicaciones

Científicas (cálculos matemáticos), procesamiento de datos (creación/mantenimiento de datos), procesamiento de texto (manipulación de lenguaje natural), inteligencia artificial, programación de sistemas.

62
New cards

Clasificación de lenguajes según estilo

Imperativos, declarativos (lógicos como Prolog, algebraicos como Maude/SQL, funcionales como Haskell).

63
New cards

Clasificación según paradigma

Procedural, orientada a objetos, funcional, lógica.

64
New cards

Clasificación según generación

1GL (código máquina), 2GL (ensamblador), 3GL (e.g. C/C++, Java), 4GL (e.g. NATURAL, Mathematica), 5GL (e.g. Prolog).

65
New cards

Constantes

Espacios de memoria con valores no cambiables durante ejecución.

66
New cards

Palabras reservadas

Palabras con significado especial en el lenguaje, no usables como identificadores.

67
New cards

Comentarios

Texto ignorado en compilación, útil para explicar elementos o lógica.

68
New cards

Ciclo de vida del software

Marco con actividades para desarrollo, explotación y mantenimiento (ISO 12207); etapas: análisis, diseño, implementación, pruebas, validación, evolución y mantenimiento.

69
New cards

Análisis en ciclo de vida

Expresión de necesidades, especificaciones; determina elementos, estructura, funcionalidades.

70
New cards

Diseño en ciclo de vida

Establece bases de construcción: lenguaje programación, modelo BD, SGBD, plataforma; elaboración de modelos.

71
New cards

Implementación en ciclo de vida

Codificación, construcción BD, codificación objetos/estructuras; revisiones periódicas.

72
New cards

Pruebas en ciclo de vida

Garantiza calidad: validación entradas/salidas, conectividad BD, tiempos respuesta, rendimiento.

73
New cards

Validación en ciclo de vida

Verifica cumplimiento de requerimientos iniciales; a menudo en paralelo con pruebas.

74
New cards

Evolución y mantenimiento en ciclo de vida

Agregado de funcionalidades y corrección de errores; errores pueden filtrarse pese a pruebas.

75
New cards

Lenguajes interpretados

Conversión a lenguaje máquina línea por línea, ejecuta inmediatamente; e.g. Matlab, Python, Javascript.

76
New cards

Lenguajes compilados

Conversión de todo el código a máquina, genera archivo binario ejecutable; e.g. C++, Pascal, Fortran, BASIC.

77
New cards

Lenguajes compilados e interpretados

Técnica mixta: compilador a lenguaje intermedio, interpretado por máquina virtual; e.g. Java, familia .NET.

78
New cards

Editor de texto para codificación

Notepad (básico), Notepad++ (amigable, potente, gratuito).

79
New cards

Convertidor a lenguaje máquina

Compilador, intérprete o técnica mixta para generar programa ejecutable.

80
New cards

IDEs o EDIs

Entornos de desarrollo integrado; facilitan codificación y compilación; e.g. Codeblocks (C++), Netbeans (Java), Xcode (Mac C++), Visual Studio (.NET).

81
New cards

Diagrama de flujo

Diagrama que utiliza símbolos estándar con pasos de algoritmo en cajas unidas por flechas que indican secuencia.

82
New cards

Símbolos principales de diagrama de flujo

Terminal (inicio/fin), entrada/salida, proceso, decisión, decisión múltiple, conector, línea de flujo, línea conectora, llamada a subrutina, pantalla, teclado.

83
New cards

Ejemplo de diagrama de flujo

Calcular salario neto: leer nombre/horas/precio, calcular bruto/impuestos/neto, escribir resultados.

84
New cards

Características de diagramas de flujo

Caja "inicio" y "fin" elípticas, otras cajas rectangulares/rombo/paralelogramo; más de un paso por caja posible, pero abusar complica.

85
New cards

Ejemplo problema en diagrama

Tres números, determinar si suma de pareja igual al tercero, escribir "iguales" o "distintas".

86
New cards

Diagramas Nassi-Schneiderman (N-S)

Como diagrama de flujo sin flechas, cajas contiguas; acciones sucesivas en cajas sucesivas.

87
New cards

Bibliografía para diagramas de flujo

Luis Joyanes Aguilar, Fundamentos Generales de Programación, Mc Graw Hill, 2013.

88
New cards

Software

Parte lógica de una computadora, comprende componentes lógicos para realizar tareas; conjunto de programas, procedimientos, reglas, documentación y datos.

89
New cards

Clasificación del software

Software de sistema (maneja hardware, plataforma para aplicaciones), software de programación (herramientas para desarrollar), software de aplicación (ayuda tareas específicas).

90
New cards

Software de sistema

Diseñado para manejar hardware y proveer/mantener plataforma; desvincula usuario de detalles internos como memoria, discos, puertos.

91
New cards

Ejemplos de software de sistema

Sistemas operativos, cargadores de programas, controladores de dispositivos (drivers), programas utilitarios, entornos de escritorio, firmware (e.g. BIOS), terminales, gestores de arranque (bootloaders).

92
New cards

Sistemas operativos

Actúa como interfaz entre hardware y programas usuario; gestiona actividades, intercambio de recursos.

93
New cards

Cargadores de programas

Parte del SO responsable de cargar programas en memoria desde disco; cargado al inicio, permanece en memoria.

94
New cards

Controladores de dispositivos (drivers)

Permiten SO interactuar con dispositivo, abstracción de hardware, interfaz para usarlo; como manual de instrucciones.

95
New cards

Programas utilitarios

Herramientas para mantenimiento, soporte ejecución, tareas sistema; e.g. bibliotecas, limpiadores registro, compresión archivos, defragmentadores, respaldos, utilidades red.

96
New cards

Software de programación

Conjunto de herramientas para desarrollar programas usando alternativas y lenguajes de manera práctica.

97
New cards

Ejemplos de software de programación

Compiladores, ensambladores, enlazadores, intérpretes, depuradores, entornos integrados de desarrollo (IDEs).

98
New cards

Compiladores

Traducen programa en lenguaje alto nivel a otro (usualmente máquina); proceso llamado compilación.

99
New cards

Ensambladores

Traducen programa en lenguaje ensamblador a código máquina.

100
New cards

Enlazadores

Toman código objeto, bibliotecas, quitan innecesarios, enlazan para generar ejecutable o biblioteca.