Teoría Flashcards
Beneficios de saber programar
Mayor capacidad de atención y concentración, comprensión, capacidad de cálculo y lógica, solución de problemas lógicos
Algoritmo
Conjunto de pasos, acciones o instrucciones necesarios para lograr un resultado o resolver un problema
Características de un algoritmo
Finito: tiene inicio y fin
Preciso: los mismos datos de entrada serán los de salida
Ordenado: las instrucciones se ejecutan una después de otra en un orden específico
Definido: no ambigüedades, cada instrucción atiende a un solo problema del algoritmo
Programa
Algoritmo escrito en lenguaje máquina
Instrucciones que una computadora ejecuta para realizar una tarea
Código fuente
Conjunto de instrucciones o algoritmo escrito en lenguaje de programación
Lenguaje máquina
Conjunto de instrucciones ejecutadas directamente por un CPU
Compilador
Programa que lee código fuente escrito en un lenguaje (lenguaje fuente) y traducirlo en un equivalente en otro lenguaje (lenguaje destino)
Diagrama de flujo
Algoritmo descrito mediante formas geométricas y flechas que las unen
Alternativa al pseudo código
Lenguajes de programación
C/C++, Java, Python, Pascal, cobol, visual básico, c#, visual .net, php, ruby, javascript.
Un lenguaje de programación sin compilador
No sirve de mucho
Lenguaje humano
Pseudocodigo
- inicio
- Leer
- Blabla
Lenguaje de programación
Código fuente
Se logra pasar de código fuente a lenguaje máquina mediante el
Compilador
Lenguaje maquina
Programa (.exe)
Lenguajes de programación
Permiten a los programadores introducir órdenes a la computadora
Los lenguajes de programación se clasifican en:
Área de aplicación 📚
Nivel de abstracción 🔬
Paradigma de programacion ❓❔
El área de aplicación se divide en:
- Procesamiento de negocios 📈
- software de nómina, ventas en línea, punto de venta (cobol, clipper, visual basic, Delphi, java SE) - Científicos: 🦠
- efectuar cálculos complejos de forma rapida y precisa, análisis de datos (fortran, matlab) - De sistemas 💻
- orientados a la programación de sistemas operativos, compiladores, controladores de dispositivos, bases de datos (ASM, C y C++) - De procesos (script) 🔚🔝🔚
- generar programas que controlen la ejecución de otros programas, respuestas automáticas, respaldar archivos cada cierto tiempo (Python, TCL, pero, VBScript, PHP)
Nivel de abstracción se divide en:
- Bajo nivel
- Alto nivel
- Medio nivel
Bajo nivel de abstracción
- Bajo nivel:
- más próximos a la arquitectura de la máquina
- son más rápidos que los de nivel superior
- utilizan menos memoria y el ejecutable es más pequeño
- no son plegables, hechos para un procesador en particular
- difíciles de escribir, código fuente largor
Alto nivel de abstracción
Más próximos al programador
Ejemplos: pascal, fortran, matlab, lenguajes para web
Mayor facilidad en el desarrollo
Independientes de la arquitectura de la computadora
Necesitan un traductor (compilador) que convierta de código fuente a lenguaje máquina
Medio nivel de abstracción
Son más fáciles de comprender que los de bajo nivel y genera programas más eficientes que los de alto nivel
Necesitan traductor
Lenguajes C, C++
Facilita el manejo de memoria y el control de los distintivos
Paradigma de programación se divide en:
Imperativos (procedimiental) 📶
- el programa es una serie de pasos para realizar una operación, recibir una entrada de datos, desplegar una salida
Implementaciones de algoritmos
La funcion es la unidad fundamental de la prog
C/C++, fortran, cobol, pascal, basic.
Funcionales 🔢
El programa es una colección de funciones matemáticas con entrada y resultado
Examina el resultado que debe arrojar una función
Lisp, haskell, logo.
Lógicos 💱
Colección de reglas en forma de proposiciones lógicas
Prolog, mercury, alf
Área de aplicación de:
Windows, solaris, linux, mySQL
De sistemas
Área de aplicación de:
Amazon
Procesamiento de negocios
Área de aplicación de:
Fortran, matlab
Científicos
Área de aplicación de:
Php, visual basic, perl, C++, python, ruby, java, JavaScript
De procesos o script
Estructura de un algoritmo
Entrada
Proceso/ algoritmo
Salida
Comentarios en un programa
Con # en pyhton
Reglas de codificación
Los comentarios de varias líneas inician con comillas y terminan con ellas
La sangría/indentacion
No ignora de puntuación a final
Sensible a mayúsculas
Errores de programación
Sintaxis
Ejecución
Lógicos
Pseudocodigo
Algoritmo escrito en propias palabras
Lenguaje humano
Programador
Quien desarrolla programas computacionales
Lenguaje humano es igual a _____ que mediante el _____ pasa a código fuente que es igual a ____ que mediante un ____ pasa al programa que es igual a ____
Lenguaje humano, programador, lenguaje de programación, compilador y lenguaje máquina
Lenguaje humano
Pseudocodigo
Se usa para pasar del pseudocodigo al código fuente
Programador