República Bolivariana De Venezuela
Ministerio del Poder Popular Para La Defensa
Universidad Nacional Experimental Politécnica
De Las Fuerza Armada Nacional Bolivariana
Núcleo Cojedes Tinaquillo
Computador, algoritmo y estructura de datos.
Integrantes:
Profesor:
Hechos Sequera
Ing. Jesús Méndez
CI:30.844.471
Asignatura:
Carrera:
Programación.
03S-1611-D1
Tinaquillo 19/03/2024
COMPUTADOR:
Computadora, computador u ordenador es una máquina
electrónica digital programable que ejecuta una serie de comandos para
procesar los datos de entrada, obteniendo convenientemente información
que posteriormente se envía a las unidades de salida. Una computadora
está compuesta por numerosos y diversos circuitos integrados y varios
elementos de apoyo, extensión y accesorios, que en conjunto pueden
ejecutar tareas diversas con suma rapidez y bajo el control de
un programa (software).
Desde el punto de vista funcional es una máquina que posee, al menos,
una unidad central de procesamiento (CPU), una unidad de memoria y otra
de entrada/salida (periférico). Los periféricos de entrada permiten el
ingreso de datos, la CPU se encarga de su procesamiento (operaciones
aritmético-lógicas) y los dispositivos de salida los comunican a los medios
externos. Es así, que la computadora recibe datos, los procesa y emite la
información resultante, la que luego puede ser interpretada, almacenada,
transmitida a otra máquina o dispositivo o sencillamente impresa; todo ello
a criterio de un operador o usuario y bajo el control de un programa de
computación.
ARQUITECTURA DEL ORDENADOR.
Computadora personal, vista del hardware típico:
1. Monitor
2. Placa base
3. Microprocesador o CPU
4. Puertos SATA
5. Memoria RAM
6. Placas de expansión
7. Fuente de alimentación
8. Unidad de estado sólido
9. Unidad de disco duro
10. Teclado
11. Ratón
La constituyen dos partes esenciales, el hardware, que es su estructura
física (circuitos electrónicos, cables, gabinete, teclado, ratón, etc.), y el
software, que es su parte intangible (programas, datos, información,
documentación, etc).
[Link] de entrada: dispositivos por donde se introducen los datos e
instrucciones.
• Teclado: es un periférico de entrada al computador, junto al mouse es el
periférico más usado del computador.
Los teclados pueden ser físicos o digitales. Los teclados físicos pueden
venir en diferentes presentaciones, tamaños y colores, pero cumplen una
misma función en común que es permitirnos introducir datos e interactuar y
comunicarnos con el computador. Pueden estar integrados al computador
como el caso de los computadores portátiles o pueden estar conectados
por medio de cable como las computadoras de escritorio, y también se
pueden encontrar teclados inalámbricos que se conectan por Bluetooth.
Los teclados se dividen en 5 partes (escritorio):
- Teclas de función.
- Teclas espaciales.
- Teclas de control.
- Teclas alfanumérica.
- Teclas de desplazamiento.
• Mouse: es un periférico de entrada que nos permite ingresar información
a la computadora y también órdenes, por ejemplo: mover, abrir, cerrar…
Partes del mouse:
- Botón derecho.
- Botón izquierdo.
- Cable de conexión.
- Rueda.
- Carcasa.
Tipos de mouse:
- Mouse inalámbrico.
- Mouse trackball.
- Mouse óptico.
- Mouse de cables ps2.
- Mouse cable USB.
- Mouse con bolita.
• Micrófono: que nos permite ingresar audios.
• Cámaras web: que nos permite capturar video.
• Escáner: permite capturar imágenes.
2 Unidad de sólidos: dispositivos por dónde se obtienen los resultados.
• Monitores: son las pantallas que nos permite ver lo que está dentro del
computador.
La función principal del monitor es permitir al usuario interactuar con la
computadora.
Es monitor de salida porque no va a mostrar toda la información que hay en
la computadora.
Partes del monitor:
- Monitor LSD.
- Monitor CRT.
- Monitor LED
- Monitor táctil.
• Impresoras
• Paneles de información de tráfico.
• Plotter.
Unidad central de procesos: Es la encargada de administrar y coordinar los
recursos y actividades del ordenador:
- Interpretar el código y generar las señales de control que lo ejecutan.
- Controlar la secuencia en que se ejecutan las operaciones.
- Controlar el acceso a memoria.
- Evitar y recibir señales de control relacionadas con las operaciones
que se ejecutan en la A.L.U.
- Regular la entrada de la salida.
Unidad lógica aritmética (A.L.U): Unidad que contiene los registros básicos
para realizar las operaciones aritméticas y lógicas.
• Memoria: encargada de almacenar de forma eficiente tanto los datos
como los programas.
Memoria principal (RAM/ROM):
• RAM (Ramdon Accesos Memory): Memoria de acceso aleatorio, se trata
de una memoria donde se puede leer y escribir datos sin necesidad de
respetar un orden secuencial para su acceso.
• ROM: la memoria ron es un componente electrónico que se puede
encontrar en computadoras y dispositivos portátiles como celulares y tablet.
Cumpliendo la función de almacenar los datos e instrucciones necesarias
para que el dispositivo pueda arrancar. Almacenar información e
instrucciones que solo pueden ser leídas, es decir que no se pueden escribir
nuevos datos en este tipo de memorias.
• Memorias secundarias (discos, cintas, CD ROM): una de las características
de la máquina de Von N es que tanto los datos como las instrucciones se
deben guardar dentro de la memoria (en la memoria), esto es forma de
sucesiones de uno y cero que deben ser interpretados de una forma
determinada.
Un programa es una ejecución de órdenes que la CPU, va leyendo de la
memoria y ejecutando de forma consecutiva.
LENGUAJE DE PROGRAMACIÓN.
Un programa es una sucesión de pasos que debe seguir el ordenador para
llevar a términos un trabajo o proceso de información.
Un usuario que desea que un ordenador realice un cierto proceso de
información deberá escribir un programa en un lenguaje que pueda entender
el ordenador.
El único lenguaje que realmente entiende los ordenadores es el lenguaje
binario (qué es el único que puede estar guardado en la memoria del
ordenador). El lenguaje binario tienen como característica que solo contiene
dos símbolos.
Cómo es difícil escribir programa en ese lenguaje binario se han
desarrollado otro tipo de lenguaje que deben ser fácilmente traducidos al
lenguaje binario.
• Lenguaje de bajo nivel (ensamblador): lenguaje en los que las
instrucciones son directamente traducibles, una por una coma al lenguaje
binario.
• Lenguaje de alto nivel: lenguaje más elaborados, fáciles de leer y entender
por humanos, y que deben de ser fácilmente traducibles al lenguaje
máquina.
Para qué es el lenguaje sea traducible se tiene que cumplir las siguientes
características:
- Un vocabulario limitado.
- Sintaxis rígidas y sin excepciones y con poca variaciones.
- Semántica estricta y sin ambigüedades.
Elementos básicos de un lenguaje de alto nivel:
- Palabras reservadas.
- Constante y variables.
- Expresiones aritméticas: +/-/*/… devuelven valores aritméticos.
- Expresiones relacionadas: >/</=/… devuelven valores booleanos
( TRUE / FALSE)
- Expresiones lógicas: AND/OR/… devuelven valores booleanos ( TRUE
/ FALSE).
- Etiquetas.
- Comentarios.
- Entradas.
- Sólida.
Tipos de lenguaje de alto nivel
1) Por la forma en que se traducen:
• Lenguajes copilados—› C, Pascal, C+T…:
Los programas, una vez escritos de forma completa se traducen
completamente (se compilan mediante la utilización de un compilador) y
se tienen preparado para poder ser ejecutados, de manera que la
ejecución, una vez el programa esté traducido es mucho más rápido.
• Lenguaje —› BASIC: los problemas se analizan a medida que van siendo
escritos, y la ejecución se realiza línea a línea, de manera que es más
fácil escribir los programas y encontrar errores en ellos, aunque la
ejecución es mucho más lenta y siempre tenemos que tener disponible
el traductor (intérprete).
2) Programa escritos en el lenguaje:
• Lenguaje de propósito general—› C, BASIC, DELPHI, JAVA…
• Lenguaje para la enseñanza—› LAYIS, PASCAL…
• Lenguaje para cálculos científicos —› FORTRON, MATLAB,
MATHEMATICA, MAPLE...
ALGORITMO.
Una algoritmo no es un conjunto finito de paso y acciones que especifican
de forma clara y concisa como la secuencia de operaciones a realizar para
procesar adecuadamente unos datos en un determinado objetivo.
Ejemplo:
Receta de cocina: secuencia de pasos para realizar un
determinado plato.
Algoritmo para obtener el resultado de dividir un número por
otro.
Llamaremos programa a las plasmación de un algoritmo de
forma que pueda ser entendido por un ordenador.
En principio, el ordenador solo es capaz de entender Lenguaje
binario (lenguaje que solo contiene 2 posibles caracteres,
habitualmente 0 y 1), pero hacer más fácil la escritura de
programas, existen unos lenguajes de programación a los que
asocian traductores.
Tipos de algoritmo:
Algoritmo de búsqueda: los algoritmo de búsqueda localizan unos o
varios elementos que presente una serie de propiedades dentro de
una estructura de datos.
Algoritmo de ordenamiento: Reorganizan los elementos de un listado
según una relación de orden. Destacan el ordenamiento por inserción,
por mezcla, por selección, de burbuja y el ordenamiento rápido.
Programación dinámica: Método que reduce el tiempo de ejecución
de un algoritmo, al dividir problemas en sus problemas y almacenar
su solución, para que no haya que volver a calcularlos.
Algoritmos voraces: Los algoritmo voraces adoptan la decisión más
óptima en cada paso local con el objetivo de llegar a la mejor
solución global.
Algoritmo probabilístico: Utilizan un cierto grado de azar para
proporcionar un resultado. De media proporcionar una buena
solución al problema.
PROGRAMACIÓN DE ALGORITMO.
1. Comprender el problema:
Leer el problema varias veces.
Establecer datos del problema.
Aclarar lo que se va a resolver (¿Cuál es
pregunta?)
Determinar la incógnita del problema.
Organizar la información.
2. Elaborar una solución:
Escoger y dividir las operaciones a efectuar.
Eliminar los datos innecesarios.
Ejecutar en detalle cada operación.
Realizar un dibujo o diagrama.
3. Analizar la solución:
Verificar si la respuesta es adecuada.
Especificar claramente los resultados que
deseen obtener.
DIAGRAMA DE FLUJOS
Un diagrama de flujo de proceso es una representación gráfica que muestra
las variaciones y relaciones de una serie de acciones con un objetivo en
común. Visualmente se puede apreciar la relación secuencial con la ayuda
de descripciones, rectángulos, rombos, círculos, flechas, prismas circulares,
entre otros símbolos.
Debido a su gran rendimiento para aumentar la rentabilidad y el ahorro de
tiempo se utiliza en diferentes sectores. Ha sido adoptado para el comercio,
las comunicaciones, la administración y todo aquello que conlleve un
proceso repetitivo que necesite obtener mejores resultados.
DIAGRAMA DE BLOQUES
Es un esquema que muestra es funcionamiento de un sistema mediante
bloques que tienes relación entre sí, el primer bloque será en donde
comienza el sistema después mediante flechas o rayas mostraran el
siguiente proceso que le continúa y así sucesivamente hasta llegar al final
del procedimiento.
Este método ayuda visualizar de manera grafica todo el proceso que tiene
un método para conocer de manera fácil todo lo que tiene que hacer hasta
llegar al producto final.
El lenguaje de programación puede presentar códigos y algoritmos
complejos en los que un simple error puede causar problemas significativos.
Identificar la causa de estos errores puede resultar complicado y llevar a
tener que reiniciar el trabajo desde cero. Explicar los procesos y algoritmos
a terceros puede volverse una tarea tediosa debido a la complejidad técnica
involucrada. Es en este punto donde el pseudolenguaje se vuelve invaluable,
ya que permite expresar ideas de programación de forma más simple y
natural, sin la necesidad de seguir estrictamente las reglas del lenguaje de
programación utilizado.
EL PSEUDOLENGUAJE
En ciencias de la computación, y análisis numérico, el pseudocódigo[1] (o
lenguaje de descripción algorítmico) es una descripción de alto nivel
compacta e informal[2] del principio operativo de un programa informático u
otro algoritmo.
Utiliza las convenciones estructurales de un lenguaje de programación
real,[3] pero está diseñado para la lectura humana en lugar de la lectura
mediante máquina,[4] y con independencia de cualquier otro lenguaje de
programación.[5] Normalmente, el pseudocódigo omite detalles que no son
esenciales para la comprensión humana del algoritmo, tales como
declaraciones de variables, código específico del sistema y algunas
subrutinas. El lenguaje de programación se complementa, donde sea
conveniente, con descripciones detalladas en lenguaje natural, o con
notación matemática compacta. Se utiliza pseudocódigo pues este es más
fácil de entender para las personas que el código del lenguaje de
programación convencional, ya que es una descripción eficiente y con un
entorno independiente de los principios fundamentales de un algoritmo. Se
utiliza comúnmente en los libros de texto y publicaciones científicas que se
documentan varios algoritmos, y también en la planificación del desarrollo
de programas informáticos, para esbozar la estructura del programa antes
de realizar la efectiva codificación. Es comúnmente utilizado por los
programadores para omitir secciones de Código o para dar una explicación
del paradigma que tomó el mismo programador para hacer sus códigos,
esto quiere decir que el pseudocódigo no es programable, sino facilita la
programación.
El principal objetivo del pseudocódigo es el de representar la solución a un
algoritmo de la forma más detallada posible, y a su vez lo más parecida
posible al lenguaje que posteriormente se utilizará para la codificación del
mismo.
No existe una sintaxis estándar para el pseudocódigo, aunque los cinco
IDE’s que manejan pseudocódigo en español tengan su sintaxis propia.
Aunque sea parecido, el pseudocódigo no debe confundirse con los
programas esqueleto que incluyen código ficticio, que pueden ser
compilados sin errores. Los diagramas de flujo y UML pueden ser
considerados como una alternativa gráfica al pseudocódigo, aunque sean
más amplios.
PROGRAMA
Un programa es un conjunto de pasos lógicos escritos en un lenguaje de
programación que nos permite realizar una tarea específica. El programa
suele contar con una interfaz de usuario, es decir, un medio visual mediante
el cual interactuamos con la aplicación. Algunos ejemplos son la
calculadora, el navegador de internet, un teclado en pantalla para el celular,
etc.
Hoy encontramos programas o aplicaciones que pueden ejecutarse en una
computadora, notebooks, tablets y celulares. Estas aplicaciones pueden ser
escritas en diferentes lenguajes de programación. Como ejemplos
encontramos C, Java, PHP, Python, entre otros. Estos programas corren
sobre un sistema operativo, por ejemplo, Windows, Linux, Mac OS y Android
entre otros.