Vous êtes sur la page 1sur 9

CAPTULO 1

INTRODUCCIN A LA INFORMTICA 2

1) CONCEPTOS BSICOS. 2

a) Introduccin a la computadora 2
i) Partes 2
ii) Almacenamiento 2

b) Resolucin de problemas con herramientas de programacin 3


i) Anlisis del problema. 3
ii) Diseo del algoritmo 4
iii) Codificacin del programa 4

2) CONCEPTOS Y CARACTERSTICAS DE LOS ALGORITMOS 5

3) PSEUDOCDIGO Y DIAGRAMAS DE FLUJO 5

a) El pseudocdigo. 5

b) Diagramas de flujo. 6

c) Estructuras de Control 6

BIBLIOGRAFA 9
CAPTULO 1
INTRODUCCIN A LA INFORMTICA

1) Conceptos bsicos.
a) Introduccin a la computadora
i) Partes
Una computadora es una mquina digital y sincrnica, con capacidad de clculo
numrico y lgico, controlada por un programa almacenado y con posibilidad de
comunicacin con el mundo exterior[1]; esto es:
Es digital porque dentro de la computadora, las seales elctricas que se manejan
y la informacin que se procesa se representa en forma discreta; por medio de
valores (0 y 1).
Adems se afirma que es sincrnica, es decir que las operaciones se realizan de
manera coordinada por un reloj central, que enva seales de sincronismo a todos
los elementos que componen la computadora.
Internamente posee la capacidad de clculo numrico y lgico, en un subsistema
denominado Unidad Aritmtico-Lgica.
El hecho que sea controlada por programa, significa que internamente se tienen
rdenes o instrucciones almacenadas, que la computadora podr obtener,
interpretar y ejecutar.
Adems, est comunicada con el mundo exterior; es decir, podr realizar
operaciones de de ingreso y salida de valores desde y hace el mundo real utilizando
dispositivos perifricos.

La mayora de las computadoras de propsito general presentan una estructura interna


basada en la arquitectura de John Von Neummann.
Esta estructura interna debe contener aquellos componentes que permitan realizar el
procesamiento de datos para resolver problemas.
Dado que utilizar un programa que controlar la sucesin de pasos a seguir, ser
necesario no solamente tener una unidad de clculo sino tambin una unidad de
memoria.

Una computadora se puede esquematizar de la siguiente manera:

ii) Almacenamiento
La memoria de datos consta de un conjunto de celdas de memoria (estas celdas o posiciones
de memoria se denominan tambin palabras). Cada palabra puede ser un grupo de 8, 16, 32 o
incluso 64 bits. El trmino bit se deriva de la palabra inglesa binary digit y es la unidad de
informacin ms pequea que puede tratar un computadora. En la jerarqua informtica es
muy utilizado el trmino byte, que corresponde a un conjunto de 8 bits.
La memoria de datos se divide en posiciones numeradas que se denominan bytes. A cada byte
se le asocia un nmero denominado direccin. Un nmero o una letra se representan por un
grupo de bytes consecutivos en una posicin determinada. La direccin del primer byte del
grupo se utiliza como la direccin ms grande de esta posicin de memoria [2].

b) Resolucin de problemas con herramientas de programacin


Fases en la resolucin de problemas [2]:

Aunque el proceso de resolver problemas con herramientas de programacin es


esencialmente un proceso creativo se pueden considerar una serie de pasos comunes,
que generalmente deben seguir los programadores:

Anlisis del problema. El problema se analiza teniendo presente la especificacin de


los requisitos dados por el cliente de la empresa o por la persona que encarga el
programa.
Diseo del algoritmo. Una vez analizado el problema, se disea una solucin que
conducir a un algoritmo que resuelva el problema.
Codificacin (implementacin). La solucin se escribe en la sintaxis del lenguaje de
alto nivel (por ejemplo ANSI C) y se obtiene un programa fuente que se compila a
continuacin.
Ejecucin y validacin del programa. El programa se ejecuta y se comprueba
rigurosamente; se eliminan todos los errores (denominados bugs, en ingls) que
puedan aparecer.

Algunas otras fases adicionales que se pueden considerar dentro de la resolucin de


problemas son:

Mantenimiento. El programa se actualiza y modifica, cada vez que sea necesario, de


modo que se cumplan todas las necesidades de cambio de sus usuarios.
Documentacin. Escritura de las diferentes fases del ciclo de vida del software.
esencialmente el anlisis, diseo y codificacin, unidos a manuales de usuario y de
referencia, as como normas para el mantenimiento.

i) Anlisis del problema.

Requiere una clara definicin, donde se contemple exactamente lo que debe hacer el
programa y el resultado o solucin deseada.
Para poder identificar y definir bien un problema es conveniente responder a las
siguientes preguntas:
Qu entradas se requieren? (tipo de datos con los cuales se trabaja y cantidad).
Cul es la salida deseada? (tipo de datos de los resultados y cantidad).
Qu mtodo produce la salida deseada? (operaciones necesarias para obtener el
resultado deseado.)
Requisitos o requerimientos adicionales y restricciones a la solucin.

Ejemplos:
Elabore el algoritmo de un programa que permita calcular e imprimir el rea de un
tringulo.

Base
Entrada
Altura
Salida rea del tringulo
Mtodos Calcular rea del tringulo

Se desea obtener una tabla con los valores acumulados por el monto total de un
prstamo en los 5 aos posteriores a su adjudicacin. Suponiendo que el inters
anual es del 10% y este se calcula siempre sobre el valor original del crdito.
Realizar el anlisis del problema.

Monto del prstamo


Entrada Inters anual
Nmero de aos
Inters anual generado
Salida Inters acumulado en cada ao
Valor de auto en cada ao
Calcular depreciacin por ao
Mtodos Calcular depreciacin acumulada
Calcular valor del auto por ao

En la etapa de anlisis se determina qu hace el programa

ii) Diseo del algoritmo

Se determina cmo hace el programa la tarea solicitada. Los mtodos ms eficaces


para el proceso de diseo se basan en el conocido divide y vencers; es decir, la
resolucin de un problema complejo se realiza dividiendo el problema en subproblemas
y a continuacin dividiendo estos subproblemas en otros de nivel ms bajo, hasta que
pueda ser implementada una solucin en la computadora.
Este mtodo se conoce tcnicamente como diseo descendente (top-down) o
modular. El proceso de romper el problema en cada etapa y expresar cada paso en
forma ms detallada se denomina refinamiento sucesivo.
Cada subprograma es resuelto mediante un mdulo (subprograma) que tiene un slo
punto de entrada y un slo punto de salida.
Cualquier programa bien diseado consta de un programa principal (el mdulo de nivel
ms alto) que llama a subprogramas (mdulos de nivel ms bajo) que a su vez pueden
llamar a otros subprogramas.

iii) Codificacin del programa

Es la escritura del algoritmo desarrollado en etapas precedentes, en un lenguaje de


programacin. Dado que el diseo de un algoritmos es independiente del lenguaje de
programacin utilizado para su implementacin, el cdigo puede ser escrito con igual
facilidad en un lenguaje o en otro.
2) Conceptos y caractersticas de los algoritmos
Un algoritmo es un mtodo para resolver un problema mediante una serie de pasos precisos,
definidos y finitos. Es un listado de instrucciones que indican el camino a seguir para resolver
un problema [3].

Caractersticas de un algoritmo:
No debe ser ambiguo.
Debe tener una secuencia inicial.
Cada paso deber tener unas secuencia sucesiva y nica, es decir debe indicar claramente
el camino a seguir en la resolucin del problema.
Debe ser eficiente y dar una solucin al problema o de lo contrario dar un mensaje que
indique que no hay solucin.
Preciso (indica el orden de realizacin en cada paso).
Definido (si se sigue dos veces, obtiene el mismo resultado cada vez).
Finito (tiene fin; un nmero determinado de pasos).

La definicin de un algoritmo debe describir tres partes: Entrada. Proceso y


Salida.

Los mtodos que utilizan algoritmos se denominan mtodos algortmicos. en oposicin a los
mtodos que implican algn juicio o interpretacin que se denominan mtodos heursticos. Los
mtodos algortmicos se pueden implementar en computadoras; sin embargo, los procesos
heursticos no han sido convertidos fcilmente en las computadoras. En los ltimos aos las
tcnicas de inteligencia artificial han hecho posible la implementacin del proceso heurstico en
computadoras.

3) Pseudocdigo y Diagramas de Flujo


Las 2 herramientas ms utilizadas comnmente para el diseo de algoritmos son el
pseudocdigo y los diagramas de flujo.

a) El pseudocdigo.
El pseudocdigo es una herramienta de programacin en la que las instrucciones se
escriben en palabras (ingls o espaol) que facilitan tanto la escritura como la lectura de
programas.
Se usan palabras clave para representar acciones: inicio, fin, parada, leer, escribir, si
entonces sino, mientras, fin mientras, repetir, hasta que, calcular, incrementar, etc.

El pseudocdigo para un programa que requiere calcular la depreciacin de un auto,


conociendo el costo original del auto, su depreciacin anual y el nmero de aos sera:

// Depreciacin auto
inicio
leer costo original del auto
depreciacin anual
nmero de aos
imprimir cabeceras
calcular depreciacin anual
establecer valor inicial ao
mientras valor ao =< nmero de aos
calcular depreciacin acumulada
calcular valor actual
imprimir una lnea en la tabla
incrementar valor ao
fin de mientras
fin

b) Diagramas de flujo.
Flowchart Es una tcnica de representacin grfica de los algoritmos, utiliza smbolos
estandarizados (cajas) para representar acciones y lneas con flechas (lneas de flujo) para
indicar el orden en que se deben ejecutar [2].

Smbolos Funcin
principales
Terminal. Representa el comienzo, <<inicio>>, y el final, <<fin>> de un
programa. Puede representar tambin un parada o interrupcin programada
que sea necesaria realizar en un programa.
Entrada/Salida. Cualquier tipo de introduccin de datos en la memoria
desde los perifricos, <<entrada>>, o registro de la informacin procesada
en un perifrico, <<salida>>
Proceso. Cualquier tipo de operacin que pueda originar cambio de valor,
formato o posicin de la informacin almacenada en memoria, operaciones
aritmticas, de transferencia, etc.

NO Decisin. Indica operaciones lgicas o de comparacin entre datos


normalmente dos- y en funcin del resultado de la misma determina cul de
los distintos caminos alternativos del programa se debe seguir; normalmente
SI tiene dos salidas respuestas SI o No pero puede tener tres o ms.

Decisin Mltiple. En funcin del resultado de la la comparacin se seguir


unos de los diferentes caminos de acuerdo con dicho resultado.

Conector. Sirve para en lazar dos partes cualesquiera de un diagrama a


travs de un conector en la salida y otro conector en la entrada. Se refiere a
la conexin en la misma del diagrama.
Lnea de flujo o indicador de direccin. Indica el sentido de ejecucin
de las operaciones.
Conector. Conexin entre dos puntos del programa situado en pginas
diferentes.

c) Estructuras de Control
l
El trabajo de Bohm Y Jacopini demostr que todos los programas podran ser escritos en
trminos de solo tres estructuras de control, a saber, Ia estructura de secuencia, la
estructura de seleccin y la estructura de repeticin. En C la estructura de secuencia esta
en esencia interconstruida. A menos de que se indique lo contrario, la computadora
ejecutar automticamente enunciados uno despus de otro, en el orden en el cual se han
escrito.

Estructuras de seleccin.

Las estructuras lgicas de seleccin se utilizan cuando en el desarrollo de la solucin de un


problema debemos tomar una decisin, para establecer un proceso o sealar un camino
alternativo a seguir, esta toma de decisin se basa en la evaluacin de una o ms
condiciones.
Las podemos clasificar de la siguiente manera:
1. Si entonces (estructura de una seleccin) [3]. La Estructura selectiva si entonces,
permite que el flujo del diagrama siga por un camino especfico si se cumple una
condicin o conjunto de condiciones. Si al evaluar la condicin el resultado es
verdadero entonces se ejecutan ciertas operaciones, luego se contina con una
secuencia normal del diagrama.

Pseusocdigo:
Si <condicin> Entonces
<accin>
Fin si

Diagrama de flujo:

2. Si entonces sino (estructura de doble seleccin) [3]. Permite tomar decisiones en


ambos sentidos, este si cuando la sentencia de comparacin (puede ser una
comparacin simple o compuesta) sea verdadera o falsa con otras palabras cuando la
respuesta de la comparacin sea verdadera, a s mismo si la sentencia es falsa.

Pseusocdigo:
Si <condicin> Entonces
<accin1>
Si No
<accin2>
Fin si

Diagrama de flujo:

3. Mltiples (estructura de seleccin mltiple) [3]. Permite que el flujo del diagrama se
bifurque en varias ramas en el punto de toma de decisiones, esto en funcin del valor
que tome el selector (se usa una variable de seleccin, puede ser entera o caracter).

Pseusocdigo:
Segn E Hacer
E1: accin S1
E2: accin S2
.
.
En: accin En
Sino
Accin Sx
Fin Segn

Estructuras de repeticin

La estructuras de repeticin se utilizan cuando hay operaciones que deben repetirse varias
veces. Al conjunto de instrucciones que se ejecutan repetidamente se le llama ciclo o lazo.
Todo ciclo debe terminar luego de un nmero finito de veces, por lo que siempre debe
existir alguna condicin de parada o fin de ciclo (variable contador o condicional).

Bsicamente se definen tres estructuras de repeticin:

1. Para [3]. Se ejecuta las acciones del cuerpo del bucle un nmero finito de veces
(contador). Se utiliza cuando se sabe exactamente el nmero de repeticiones a realizar.

Pseudocdigo
Para V <- Vi ; Hasta Vf ; [incremento] Hacer
<acciones>
Fin Para

2. Mientras [3]. Se ejecuta mientras la condicin evaluada resulta verdadera.

Pseudocdigo
Mientras <condicin> Hacer
<acciones>
Fin Mientras

Diagrama de flujo:

3. Repetir mientras [3]. Se ejecuta hasta que la condicin evaluada sea falsa.

Pseudocdigo
Repetir
<acciones>
Mientras <condicin>

Diagrama de flujo:
Bibliografa
[1] Apuntes-informatica.pdf. [Online]. Available: http://www.unlar.edu.ar/wp-
content/uploads/2014/02/Apuntes-informatica.pdf. [Accessed: 20-Apr-2016].
[2] Luis Joyanes Aguilar and Ignacio Zahonero Martnez, Programacin en C, Metodologa,
algoritmos y estructuras de datos, Segunda Edicin. Mc Graw Hill.
[3] Robert Pantigoso, Fundamentos de Programacin: Algoritmos y Diagramas de Flujo, Primera
Edicin. Megabyte, 2004.

Vous aimerez peut-être aussi