Вы находитесь на странице: 1из 11

Asignatura: Introducción al algoritmo y lógica Nombre: Odalys Ochoa Borbor Fecha: 28-mayo-2019

de programación Curso: N306

CUADRO COMPARATIVO DE LAS GENERACIONES DEL COMPUTADOR


1° GENERACIÓN 2° GENERACIÓN 3° GENERACIÓN 4° GENERACIÓN 5° GENERACIÓN 6° GENERACIÓN

(2000- A LA
PERÍODO (1946-1958) (1958-1964) (1964-1971) (1971-1983) (1984-1999)
ACTUALIDAD)
Estaban construidas con Reemplazó las válvulas Se utilizan los La integración se Se crea el Las computadoras de
electrónicas de válvulas, de vacío por los circuitos integrados realiza sobre los multiprocesador esta generación
usaban tarjetas perforadoras transistores (más abaratando costos y componentes (Procesadores cuentan con
para entrar los datos y los rápidos, más pequeños aumentado la electrónicos, lo que interconectados). arquitecturas
FUNCIONAMIENTO Y

programas. y más confiables) para capacidad de propicio la aparición combinadas


TECNOLOGÍA

procesar información. procesamiento. del microprocesador. paralelo/vectorial,


con cientos de
microprocesadores
La tecnología electrónica era a Los equipos estaban Desarrollo de circuitos Esta generación es el La Inteligencia vectoriales
base de bulbos o tubos de construidos con la integrados (pastillas producto del micro Artificial (los sistemas trabajando al mismo
vacío. electrónica de de silicio) en los que miniaturización de los expertos, el lenguaje tiempo.
transistores. se colocaban miles de circuitos electrónicos. natural, la robótica y
componentes el reconocimiento de
electrónicos en una la voz).
integración en
miniatura.
Asignatura: Introducción al algoritmo y lógica Nombre: Odalys Ochoa Borbor Fecha: 28-mayo-2019
de programación Curso: N306

Utilizaban cilindros Usaban pequeños Se desarrolló la Se reemplaza la Se aumenta la La capacidad de


ALMACENA

magnéticos para almacenar anillos magnéticos para memoria virtual. memoria de anillos capacidad de memoria es superior
MIENTO

información e instrucciones almacenar información magnéticos por la memoria. a la generación


internas. e instrucciones. memoria de chips de anterior.
silicio.

Eran utilizadas exclusivamente Se utilizaban para El campo de Su uso fue creciendo Se utiliza en todos los Se utiliza en todo
en el ámbito científico o sistemas de aplicaciones era muy y se utilizan en otros campos y a nivel ámbito.
UTILIDAD

militar. reservaciones de líneas amplio. sistemas informáticos personal.


aéreas, control del avanzados, como
tráfico aéreo y impresoras,
simulaciones de automóviles o
propósito general. aviones.
Eran sumamente grandes, Son más pequeñas y Gracias a los circuitos Se desarrollan las Las computadoras Las computadoras
utilizaban gran cantidad de consumen menos integrados se reducía microcomputadoras disminuyen su son más pequeñas y
electricidad, generaban gran electricidad que las el tamaño de las (computadoras tamaño de manera versátiles.
TAMAÑO

cantidad de calor y eran anteriores. Producían máquinas. personales o PC). Se significativa


sumamente lentas. gran cantidad de calor desarrollan las (miniaturización de
y eran sumamente supercomputadoras. los elementos).
lentas.

Se programaban en lenguaje Se utilizaban “lenguajes Se utiliza la Se incluyen los Comienza a Las redes de área
COMUNICACIÓN

de la máquina. de alto nivel" o multiprogramación. lenguajes de trabajarse con redes mundial crecen
"lenguajes de programación lógica de comunicación. desorbitadamente
programación". (PROLOG) y lenguajes utilizando medios de
de programación comunicación a
dirigida a objetos través de fibras
(SMALTALK, C++, ópticas y satélites,
etc.). con anchos de banda
impresionantes.
Asignatura: Introducción al algoritmo y lógica Nombre: Odalys Ochoa Borbor Fecha: 28-mayo-2019
de programación Curso: N306

CUADRO COMPARATIVO DE LENGUAJES DE PROGRAMACIÓN


SISTEMA
LOGO/SÍMBOLO LENGUAJES CARACTERÍSTICAS VENTAJAS DESVENTAJAS
OPERATIVO
-Programación estructurada. Rápido y eficiente. No es popular para la S.O: Android
-Abundancia en operadores creación de aplicación,
y tipos de datos. El código producido por el sintaxis compleja.
-Codificación de alto y bajo compilador C está muy
C nivel simultáneamente. optimizado en tamaño para
-No está orientado a ninguna una mayor ejecución.
área especial.
-Facilidad del aprendizaje.
-Tiene un conjunto completo Es potente en cuanto a lo No es atractivo Sirve para todos los
de instrucciones de control. que se refiere a creación de visualmente. sistemas operativos
-Permite la agrupación de sistemas complejos un pero cada uno con su
instrucciones. lenguaje muy robusto. No soporta para creación respectiva versión
-Incluye el concepto de de páginas web. para dicho sistema.
C++ puntero (variable que
contiene la dirección de otra
variable).
-Los argumentos de las
funciones se transfieren por
su valor.
-Sencillez de uso. -Declaraciones en el Se tiene que conseguir una La plataforma .Net
espacio de nombres: al versión reciente de visual sirve para hacer
-Compatible. empezar a programar algo, studio.net, por otra parte aplicaciones de
se puede definir una o más se tiene que tener algunos escritorio, aplicaciones
C# -Moderno. clases dentro de un mismo requerimientos mínimos web y móviles.
espacio de nombres. del sistema para poder
-Recolección de basura. -En C# existe un rango más trabajar adecuadamente S.O: Windows.
amplio y definido de tipos tales como contar con
Asignatura: Introducción al algoritmo y lógica Nombre: Odalys Ochoa Borbor Fecha: 28-mayo-2019
de programación Curso: N306

-Es considerado como el de datos que se Windows nt 4 o superior,


primo hermano de JAVA. encuentran en C, C++ O tener alrededor de 4 GB
JAVA. para su libre instalación.
-Cada miembro de una
clase tiene un atributo de
acceso del tipo público,
protegido interno y
privado.
-Simple -Al ser orientado a objetos Es un lenguaje interpretado Sirve para todos los
-Orientado a Objetos permite su modularización. así que es relativamente sistemas operativos y
-Tipado estáticamente lento en comparación con si no es la versión
-Distribuido -Permite la creación de otros lenguajes. adecuada para dicho
-Interpretado aplicaciones de escritorio. sistema, la misma
-Robusto aplicación JAVA se
-Seguro -Tiene soporte a desarrollo encarga de descargar
Java -De Arquitectura Neutral de aplicaciones móviles y o actualizar versión
-Multihilo web. para un excelente
-Con Recolector de basura desempeño en el PC.
(Garbage Collector)
-Portable S.O: Unix, Linux,
-De Alto Rendimiento Solaris, Windows,
-Dinámico Mac.
Permite la creación de todo -Libre y código fuente Los lenguajes interpretados S.O: Linux
tipos de programas incluso abierto. pueden ser relativamente
sitios web, no requiere de lentos.
compilación es un código -Lenguaje de propósito
Python interpretado. general, portátil.
Asignatura: Introducción al algoritmo y lógica Nombre: Odalys Ochoa Borbor Fecha: 28-mayo-2019
de programación Curso: N306

Se caracteriza por -Diferencia entre -Es relativamente nuevo y Toda clase de sistemas
preocuparse más por el mayúscula y minúscula. no cuenta con mucha Linux/Unix, Windows,
desarrollador que por la Maneja excepciones. documentación en OS/2, dos, etc.
máquina esto se traduce en comparación con otros
dos cosas: -Puede descargar librerías lenguajes de
1.- La sintaxis es muy si el sistema operativo lo programación.
Ruby amigable y se lee casi como permite.
lenguaje natural- -No es muy difundido en
2.- El performance no es -Portátil. relación a otros lenguajes.
igual que en lenguajes de
más bajo nivel. -Desarrollo de bajo costo.
Software libre.
Utilizado para generar Su sintaxis es muy similar a Como es un lenguaje que Se usa principalmente
páginas web dinámicas, se otros lenguajes, fácil, es un se interpreta en ejecución, para la interpretación
ejecuta en el servidor, no se lenguaje muy popular tiene para ciertos usos puede del lado del servidor,
necesita la instalación de una comunidad muy resultar un inconveniente páginas web y CMS.
PHP en el lado del cliente, grande, rápido, bastante que el código fuente no
versiones resientes permiten documentado, libre y puede ser ocultado. La Se usa en todos los
PHP la POO, lenguaje de alto gratuito, no requiere ofuscación es una técnica sistemas operativos.
nivel. definición de variables que puede dificultar la
puede ser combinado junto lectura del código pero no
a HTML. la impide y, en ciertos
casos, representa un costo
en tiempos de ejecución.
Asignatura: Introducción al algoritmo y lógica Nombre: Odalys Ochoa Borbor Fecha: 28-mayo-2019
de programación Curso: N306

-Es Liviano. Los script tienen capacidad No soporta herencias, Se puede crear todo
-Es Imperativo y limitada por razones de código visible por cualquier tipo de programa que
estructurado, mediante un seguridad, se ejecuta del usuario, el código debe ser puede ser ejecutado
conjunto de instrucciones lado del cliente, lenguaje descargado en cualquier
indica al computador qué de scripting seguro y fiable. completamente. ordenador del
tarea debe realizar. mercado: Linux,
-Prototipado, debido a que Windows, Apple, etc.
JavaScript usa prototipos en vez de
clases para el uso de
herencia.
-Orientado a objetos y
eventos.
-Es Interpretado, no se
compila para poder
ejecutarse.
El un lenguaje de hipertexto, -Sencillo que permite -Lenguaje estático. Se pueden ver en
es decir, un leguaje que describir hipertexto. -La interpretación de cada todos los sistemas
permite escribir texto de -Archivos pequeños. navegador puede ser operativos, pero la
forma estructurada, y que -Lenguaje de fácil diferente. interpretación varía
está compuesto por aprendizaje. -Guarda muchas etiquetas según el navegador
HTML etiquetas, que marcan el -Lo admiten todos los que pueden convertirse en que esté utilizando.
inicio y el fin de cada exploradores. “basura” y dificultan la
elemento del documento, corrección
además puede ser creado y -Lento para ejecutar
editado con cualquier editor archivos pesados.
de texto básico.
Asignatura: Introducción al algoritmo y lógica Nombre: Odalys Ochoa Borbor Fecha: 28-mayo-2019
de programación Curso: N306

Es un lenguaje de -Posee una curva de -Problema de versionado Sirve para hacer


programación dirigido por aprendizaje muy rápida. asociado con varias aplicaciones de
eventos, posee un manejo -Integra el diseño e librerías DLL, conocido escritorio.
muy sencillo de cadenas de implementación de como DLL HELL.
caracteres, posee varias formularios de Windows.
bibliotecas para manejo de -Permite usar con facilidad -Pobre soporte para
bases de datos. la plataforma de los programación orientada a
sistemas de Windows, objetos.
dado que tiene acceso
prácticamente total al api -Incapacidad para crear
de Windows, incluidas aplicaciones Multihilo, sin
Visual Basic librerías actuales. tener que recurrir a
-Es uno de los lenguajes de llamadas del api de
uso más extendido, por lo Windows.
que resulta fácil encontrar
información,
documentación y fuentes
para los proyectos.
-Fácilmente extensible
mediante librerías DLL y
componentes ActiveX de
otros lenguajes.
Asignatura: Introducción al algoritmo y lógica Nombre: Odalys Ochoa Borbor
de programación

Resolver problemas
propuestos de algoritmia
PROBLEMA 1:
Diseñe un algoritmo que, dado un número real que entra como dato, nos indique si está
contenido dentro de los límites predeterminados. El límite inferior es de 100 y el superior de
200.

ALGORITMO

Datos de Entrada:
Número de tipo real

Datos de Salida:
Mensaje de que está dentro de los límites, mensaje de que está fuera de rango o no
alcanza

INICIO
Limite_Inferior = 100
Limite_Superior = 200
Solicitar número al usuario.
Almaceno en mi variable Número
Si Número es mayor o igual que Limite_Inferior entonces
Si Número es menor o igual que Limite_Superior entonces
Imprimo en pantalla que está dentro de los límites
Sino
Imprimo en pantalla que supera al límite máximo
Sino
Imprimo en pantalla que no alcanza el límite mínimo
FIN

PROBLEMA 2:
Programe un algoritmo que, dados dos números enteros que entran como datos, indique si
uno es divisor del otro.

ALGORITMO

Datos de Entrada:
Número1 y Número2 de tipo entero
Asignatura: Introducción al algoritmo y lógica Nombre: Odalys Ochoa Borbor
de programación

Datos de Salida:
Mensaje de que Número1 es divisor de Número2 o que Número2 es divisor de Número1

INICIO
Solicitar el primer número al usuario.
Almaceno en el Número1
Solicitar el segundo número al usuario.
Almaceno en el Número2
Si Número1 es mayor que Número2 entonces
Si Número1 módulo Número2 es igual a 0 entonces
Imprimo en pantalla Número2 es divisor de Número1
Sino
Imprimo en pantalla Número2 no es divisor de Número1
Sino
Imprimo en pantalla no es divisor porque Número2 es mayor que Número1
FIN

PROBLEMA 3:
Un triángulo rectángulo puede tener lados que sean todos enteros. El conjunto de tres valores
enteros para los lados de un triángulo rectángulo se conoce como una terna pitagórica. Estos
tres lados deben satisfacer la relación de que la suma de los cuadrados de dos lados es igual al
cuadrado de la hipotenusa. Encuentre todas las ternas de Pitágoras para el cateto opuesto,
cateto adyacente e hipotenusa, todos ellos no mayores de 500.

ALGORITMO

Datos de Entrada:
Los valores del 1 al 500 de tipo entero.
Datos de Salida:
Mensaje con los valores de las ternas pitagóricas.
Mensaje con los valores de hipotenusa, opuesto y adyacente elevados al cuadrado, como
comprobación.

INICIO
Imprimo mensaje Ternas Pitagóricas
Para i=1, hasta i menor o igual a 500, incrementa i en uno
Hipotenusa=i*i
j=1
Para j=1, hasta j menor o igual a 500, incrementa i en uno
Opuesto= j*j
Para k=1, hasta k menor o igual a 500, incrementa i en uno
Asignatura: Introducción al algoritmo y lógica Nombre: Odalys Ochoa Borbor
de programación

Adyacente=k*k
Suma de Cuadrados = opuesto + adyacente
Si Suma de Cuadrados es igual a hipotenusa entonces
Imprimo mensaje con los valores i, j y k
Imprimo mensaje con los valores de opuesto, adyacente e hipotenusa
Fin de ciclo k
Fin de ciclo j
Fin de ciclo i

FIN

PROBLEMA 4
Desarrolle un algoritmo que permita leer dos valores distintos, determinar cuál de los dos
valores es el mayor y escribirlo.

ALGORITMO

INICIO

Inicializar variables: A = 0, B = 0
Solicitar la introducción de dos valores distintos
Leer los dos valores
Asignarlos a las variables A y B
Si A = B Entonces vuelve a 3 porque los valores deben ser distintos
Si A>B Entonces Escribir A, “Es el mayor”
De lo contrario: Escribir B, “Es el mayor”
Fin_Si
FIN

PROBLEMA 5
Desarrolle un algoritmo que permita convertir calificaciones numéricas, según la siguiente
tabla: A = 19 y 20, B =16, 17 y 18, C = 13, 14 y 15, D = 10, 11 y 12, E = 1 hasta el 9. Se asume
que la nota está comprendida entre 1 y 20.

ALGORITMO

Inicio

Declaración de variables: Nueva Nota = Carácter


Leer registros hasta fin de archivo
Si Nota>=19 OR Nota<=20 Entonces
Asignatura: Introducción al algoritmo y lógica Nombre: Odalys Ochoa Borbor
de programación

NuevaNota= “A”
Si no (De lo contrario)
Si Nota>=16 OR Nota<=18 Entonces
NuevaNota= “B”
Si no (De lo contrario)
Si Nota>=13 OR Nota<=15 Entonces
NuevaNota= “C”
Si no (De lo contrario)
Si Nota>=10 OR Nota<=12 Entonces
NuevaNota= “D”
Si no (De lo contrario)
Si Nota>=1 OR Nota<=9 Entonces
NuevaNota= “E”
Si no (De lo contrario)
Fin_Si

FIN

Оценить