Vous êtes sur la page 1sur 10

Materia: Algoritmos y lenguajes de programación

UNIDAD 1

INTRODUCCIÓN A LA COMPUTACIÓN

1.1 Elementos de un sistema computacional

Las grandes computadoras han estado disponibles desde principio de los años 50, pero muy
pocas personas tenían oportunidad de utilizarlas, particularmente en los primeros años. Al final de los
años 60 y principio de los 70 se vio el desarrollo de minicomputadoras más pequeñas y menos costosas,
muchas de estas máquinas ofrecen el rendimiento de las primeras grandes computadoras por tan solo
una parte de su costo.
A mediados de los años 70 los avances en la tecnología de los circuitos integrados (chips,
silicio) dieron lugar al desarrollo de computadoras, aún más pequeñas y económicas llamadas
microcomputadoras o más comúnmente computadoras personales (PC, Personal Computer).

Las computadoras actuales se presentan en gran variedad de formas, tamaños y costos. Enormes
computadoras de propósito general son utilizadas por grandes sociedades, universidades, hospitales y
departamentos gubernamentales.

Las varias formas en que se usan las computadoras no muestran lo poderosas que pueden ser
estas máquinas. Independientemente del tamaño o la forma, todas las computadoras en uso tienen cinco
componentes básicos:

1.1.1 HARDWARE

1.- Procesador
2.- Memoria
3.- Dispositivos de entrada/salida
4.- Discos de almacenamiento

El complejo procedimiento que transforma datos nuevos de entrada en información útil de


salida se llama procesamiento. Para llevar a cabo esta transformación, la computadora usa dos
componentes el procesador y la memoria.

El Procesador

“El procesador es el “cerebro” de la computadora, la parte que interpreta y ejecuta las


instrucciones. Esta formado por la ALU(Aritmetic Logic Unit: Unidad Aritmética Lógica) y la Unidad
de Control; y en general se le denomina comúnmente como CPU (Central Procesing Unit: Unidad
central de procesamiento )”.

La ALU contiene los circuitos que se encargan de sumar, restar, dividir y comparar.
Profesor: Lic. Concepción Nava Arteaga 1
Materia: Algoritmos y lenguajes de programación

La Unidad de Control, mantiene el orden y dirige la operación de todo el sistema.

La Memoria

Es aquella parte de la computadora en donde se almacenan los programas y los datos, llamada
también almacenamiento primario.

Los tipos de memoria son:

♦ RAM (Random Access Memory: Memoria de Acceso Aleatorio), es la sección de almacenamiento


primario de una computadora personal, proporciona memoria volátil es decir, los datos
almacenados se pierden en caso de falla en el suministro de energía.

♦ ROM (Read Only Memory: Memoria de solo lectura), pastilla de almacenamiento no volátil de
estado sólido que se programa en el momento de su fabricación, sin que pueda volver a ser
programada por el usuario de la computadora.

Entre más RAM tenga una computadora, más cosas puede hacer, ya que la cantidad de memoria
en una computadora afecta sus capacidades, con frecuencia la gente se refiere a esa cantidad cuando
describe la computadora. La unidad más común para medir la memoria de una computadora es el byte.
Un byte se puede describir como la cantidad de memoria que se necesita para guardar un solo carácter.

Entrada/Salida

La entrada y salida (E/S, I/O por sus siglas en inglés) comprende todas las maneras en que una
computadora se comunica con los usuarios y con otras máquinas o dispositivos. Los dispositivos de
entrada aceptan datos e instrucciones del usuario. Los dispositivos de salida regresan datos procesados,
esto es información al usuario.

El dispositivo de entrada más común es el teclado, que acepta letras, números y comandos del
usuario. Además existen otras como el ratón (Mouse). Otros dispositivos de entrada son la bola del
ratón estacionario (trackball), las palancas de juegos (joysticks) y los digitalizadores (scanners).

Almacenamiento

Una computadora puede funcionar nada mas con el procesador, la memoria y los dispositivos de
E/S; sin embargo, para ser realmente útil, necesita un lugar donde guardar los datos que no está
procesando en ese momento. El propósito del almacenamiento es guardar datos que la computadora no
está usando.

El almacenamiento secundario tiene tres ventajas sobre la memoria de la computadora. Primero,


hay mucho más espacio en almacenamiento que en memoria. Segundo, el almacenamiento retiene
Profesor: Lic. Concepción Nava Arteaga 2
Materia: Algoritmos y lenguajes de programación
su contenido cuando se apaga la computadora, mientras que los datos que pones en memoria
desaparecen cuando se apaga la computadora. Tercero, el almacenamiento es mucho más barato que la
memoria. El medio de almacenamiento más común es el disco magnético.

1.1.2 SOFTWARE

El elemento que hace que una computadora realice una tarea determinada es el software, es
decir, las instrucciones electrónicas que generalmente residen en un dispositivo de almacenamiento. A
un grupo específico de estas instrucciones se le llama programa. Cuando una computadora está usando
un programa en particular, decimos que está corriendo o ejecutando ese programa. Debido a que los
programas dicen a los componentes físicos de la máquina lo que deben hacer, sin aquellos una
computadora no podría hacer nada, sería solo una caja de metal y plástico.
Otros dispositivos de almacenamiento son las cintas magnéticas y los discos ópticos.

Existen 2 tipos de software: Software de Sistema y Software de Aplicación.


El tipo principal de software de sistema, llamado software de Sistema Operativo, indica a la
computadora cómo usar sus propios componentes. El software de aplicación le dice cómo realizar
tareas específicas para el usuario.

Software de Sistema (Sistemas Operativos)

Cuando se enciende una computadora, ésta ejecuta varios pasos preparativos para ser usada. El
primer paso es una autoprueba, la computadora identifica los dispositivos que están conectados a ella,
cuenta la cantidad de memoria disponible y hace una rápida revisión para ver si la memoria está
trabajando en forma correcta.

Después, la computadora busca un programa especial llamado Sistema Operativo y lo carga en


la memoria. El Sistema operativo le indica cómo interactuar con el usuario y cómo usar los
dispositivos: disco flexibles, teclado y monitor. Debido a que el sistema Operativo es necesario para
controlar muchas de las funciones básicas de la computadora, se mantiene corriendo hasta que la
máquina es apagada.

Después que la computadora encuentra y arranca el Sistema Operativo, está lista para aceptar
comandos de un dispositivo de entrada, generalmente el teclado o el ratón. En este punto el usuario
puede dar comandos a la computadora. Un comando puede, por ejemplo hacer una lista de los
programas en el disco de la computadora o hacer que la computadora corra una de sus programas.

Software de Aplicación

Una computadora que sólo corre el Sistema Operativo tampoco es de mucha ayuda. Puesto que
el Sistema Operativo es para el beneficio de la computadora, se requieren otros programas para hacer
de la computadora algo útil para las personas. El término Software de Aplicación describe programas
que son para el usuario. El software de aplicación ha sido escrito con el fin de realizar casi cualquier

Profesor: Lic. Concepción Nava Arteaga 3


Materia: Algoritmos y lenguajes de programación
tarea imaginable. Existen literalmente miles de estos programas para ser aplicados en diferentes tareas,
desde procesamiento de palabras hasta cómo seleccionar una universidad.

Algunas de las categorías en las que se clasifica el software de aplicación son las siguientes:

• Aplicaciones de negocios
• Aplicaciones de utilería
• Aplicaciones personales
• Aplicaciones de entretenimiento

1.2 Lenguajes de Computación

Existen muchos lenguajes diferentes que pueden ser utilizados para programar una
computadora. El más elemental de ellos es el lenguaje máquina (colección de instrucciones muy
detalladas que controlan la circuitería interna de la computadora).

No obstante, muy pocos programas se escriben realmente en lenguaje máquina, y ello por dos
significativas razones: primero, porque el lenguaje máquina es muy incomodo de usar, y segundo,
porque la mayoría de las computadoras tienen sus propios conjunto de instrucciones y ello hace que un
programa escrito en lenguaje máquina para un tipo de computadora no pueda ser ejecutado en otro tipo
de computadora sin ninguna alteración.

Generalmente un programa se escribe en un lenguaje de alto nivel, cuyo conjunto de instrucciones es


más compatible con el lenguaje y los procesos humanos de pensamiento. Casi todos los lenguajes de
alto nivel son lenguajes de propósito general.

Algunos lenguajes de alto nivel existentes son:

PASCAL, APL y FORTRAN…(Para aplicaciones científicas)


CLIPPER y COBOL……………(Para aplicaciones de procesamiento de datos)
SNOBOL……………………….(Para aplicaciones de procesamiento de textos)
LISP y PROLOG……………….(Para aplicaciones de inteligencia artificial)
C y ADA……………………… (Para aplicaciones de programación de sistemas)
PL/I…………………………… (Para aplicaciones de procesamiento de textos)

Un programa escrito en lenguaje de alto nivel debe traducirse a lenguaje máquina antes de ser
ejecutado. A éste proceso se llama compilación ó interpretación, dependiendo de cómo se lleve a cabo
la traducción.

Profesor: Lic. Concepción Nava Arteaga 4


Materia: Algoritmos y lenguajes de programación
UNIDAD 2

2.1 Solución de problemas

La principal razón para que las personas aprendan lenguajes programación es utilizar la
computadora como una herramienta para la resolución de problemas. El proceso de solución de
problemas por computadora se divide en dos fases:

1.- Fase de resolución del problema.


2.- Fase de implementación (realización) en un lenguaje de programación.

1.-Fase de resolución del problema.

Esta fase incluye, a su vez, el análisis del problema así como el diseño y posterior verificación
del algoritmo.

Análisis del problema


El primer paso para encontrar la solución de un problema es el análisis del mismo. Se debe
examinar cuidadosamente el problema a fin de obtener una idea clara sobre lo que se solicita y
determinar los datos necesarios para conseguirlo.

Diseño del algoritmo

Un algoritmo puede ser definido como la secuencia ordenada de pasos, sin ambigüedades, que
conducen a la solución de un problema dado y expresado en lenguaje natural, por ejemplo el castellano.

Para diseñar un algoritmo se debe comenzar por identificar las tareas más importantes para
resolver el problema y disponerlas en el orden en el que han de ser ejecutadas. Los pasos en esta
primera descripción de actividades deberás ser refinados, añadiendo más detalles a los mismos e
incluso, algunos de ellos, pueden requerir un refinamiento adicional antes de que podamos obtener un
algoritmo claro, preciso y completo. Este método de diseño de los algoritmos en etapas, yendo de los
conceptos generales a los detalles a través de refinamientos sucesivos, se conoce como método
descendente (TOPDOWN).

El lenguaje algorítmico debe ser independiente de cualquier lenguaje de programación


particular, pero fácilmente traducible a cada uno de ellos. Alcanzar estos objetivos conducirán al
empleo de métodos normalizados para la representación de algoritmos, tales como los diagramas de
flujos, diagrama Nassi - Schneiderman o pseudocódigo.

Verificación de algoritmos

Una vez que se ha terminado de escribir un algoritmo es necesario comprobar que realiza las
tareas para las que se ha diseñado y producen el resultado correcto y esperado.

Profesor: Lic. Concepción Nava Arteaga 5


Materia: Algoritmos y lenguajes de programación
El modo más normal de comprobar un algoritmo es mediante su ejecución manual, usando
datos significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel las
modificaciones que se producen en las diferentes fases hasta la obtención de resultados. Este proceso se
conoce como prueba del algoritmo o corrida de escritorio.

2.-Fase de Implementación.

Una vez que el algoritmo esta diseñado, representado gráficamente mediante una herramienta
de programación (diagrama de flujo, diagrama N - S o pseudocódigo), y verificado se debe pasar a la
fase de codificación, traducción del algoritmo a un determinado lenguaje de programación, que deberá
ser completada con la ejecución y comprobación del programa en la computadora.

2.2 Definición

Algoritmo

Algunas definiciones más comunes de algoritmo son las siguientes:

1.- Un algoritmo es un conjunto de reglas bien definidas para resolver un problema en un número finito
de operaciones.

2.- Un algoritmo es una lista de instrucciones para efectuar paso por paso algún proceso.

3.- Un algoritmo puede ser definido como la secuencia ordenada de pasos, sin ambigüedades, que
conducen a la solución de un problema dado expresado en lenguaje natural, por ejemplo el castellano.

Un algoritmo debe ser:

• Preciso. Indicando el orden de realización de cada uno de los pasos.


• Definido. Si se sigue el algoritmo varias veces proporcionándole los mismos datos, se deben
obtener siempre los mismos resultados.
• Finito. Al seguir el algoritmo, éste debe terminar en algún momento, es decir, tener un número
finito de pasos.

En un algoritmo se deben considerar 3 partes:

• Entrada. Información dada al algoritmo.


• Proceso. Operaciones o cálculos necesarios para encontrar la solución del problema.
• Salida. Respuestas dadas por el algoritmo o resultados finales de los cálculos.

Profesor: Lic. Concepción Nava Arteaga 6


Materia: Algoritmos y lenguajes de programación

Como por ejemplo, imagine que desea desarrolla un algoritmo que calcule la superficie de un rectángulo
proporcionándole su base y altura. Lo primero que deberá hacer es plantearse y contestar a las siguientes preguntas:

Especificaciones de entrada
¿Qué datos son de entrada?
¿Cuántos datos se introducirán?
¿Cuántos son lo datos de entrada válidos?
Especificaciones de salida

¿Cuáles son los datos de salida?


¿Cuántos datos de salida se producirán?
¿Qué precisión tendrán los resultados?
¿Se debe imprimir un encabezado?

El algoritmo en el primer diseño se podrá presentar con los siguientes pasos:

1. Entrada desde el periférico de entrada, por ejemplo, el teclado: base y


altura.
2. Cálculo de la superficie, multiplicando la base por la altura.
3. Salida por pantalla de la base, altura y superficie.

Diagrama de flujo

Los Diagramas de Flujo son un conjunto de símbolos, los cuales se utilizan para representar a
los algoritmos; cada símbolo tiene una función específica, los cuales están unidos por flechas, las
cuales se denominan Líneas de Flujo, que indican el orden en que los pasos deben ser ejecutados.

Profesor: Lic. Concepción Nava Arteaga 7


Materia: Algoritmos y lenguajes de programación

2.3 Símbolos.

Los principales símbolos de diagramas de flujo son los siguientes:

SÍMBOLO DESCRIPCIÓN

Indica el inicio y el final del diagrama de flujo.

Indica la entrada y salida de datos.

Símbolo de proceso y nos indica la asignación de un


valor en la memoria y/o la ejecución de una operación
aritmética.

Símbolo de decisión indica la realización de una


comparación de valores.

Conector dentro de página. Representa la continuidad


del diagrama dentro de la misma página.

Conector fuera de página. Representa la


continuidad del diagrama en otra página.

Indica la salida de información por impresora.

Indica la salida de información en la pantalla o


Monitor.

Líneas de flujo o dirección. Indican la


Secuencia en que se realizan las operaciones.

Profesor: Lic. Concepción Nava Arteaga 8


Materia: Algoritmos y lenguajes de programación

2.4 Recomendaciones para el diseño de Diagramas de Flujo


 Se deben se usar solamente líneas de flujo horizontal y/o vertical.
 Se debe evitar el cruce de líneas utilizando los conectores.
 Se deben usar conectores solo cuando sea necesario.
 No deben quedar líneas de flujo son conectar.
 Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a
derecha.
 Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas
palabras.

2.5 Solución de Problemas.

Como se mencionó anteriormente, para resolver un problema primero se debe elaborar el


algoritmo adecuado con un número finito de pasos; posteriormente se elabora el diagrama de flujo para
ése algoritmo.

Ejemplo de Algoritmo con su respectivo Diagrama de Flujo.

1.- Elaborar un algoritmo con su respectivo diagrama de flujo que represente la secuencia de pasos
necesaria para leer una temperatura en grados centígrados y calcule y escriba su valor en grados kelvin.

Algoritmo

1.- Inicio
2.- Leer (pedir)grados celcius
3.- Realizar la operación kelvin = celcius + 273.15
4.- Escribir (mostrar) grados kelvin
5.- Fin.

Profesor: Lic. Concepción Nava Arteaga 9


Materia: Algoritmos y lenguajes de programación

Diagrama de flujo

IN IC IO

D a r g ra d o s

k e lv in : = g r a d o s +
2 7 3 .1 5

L o s g ra d o s
c e lc iu s s o n ,
k e l v in

F in

Profesor: Lic. Concepción Nava Arteaga 10

Vous aimerez peut-être aussi