Sei sulla pagina 1di 16

INFORMATICA

INTRODUCCIN A LA PROGRAMACIN
1. INTRODUCCION
En la vida diaria, usamos computadoras, estas computadoras ejecutan
aplicaciones (software) los cuales no son ms que programas. Los
programas estn hechos en algn lenguaje de programacin (como C, C++,
Java, Basic, etc.). Los lenguajes de programacin utilizan un conjunto de
palabras para poder ejecutar alguna accin en la computadora. Para el que
se dedica a hacer programas (programador, informtico, sistemas) es
importante la programacin, porque sin ella, sera imposible crear
aplicaciones como Word, Excel, Messenger, Corel, etc.
Las computadoras solo entiende el lenguaje binario (0 ceros y 1 unos), lo
cual es complejo, por lo tanto, se han creado lenguajes de alto nivel (C, C+
+, Java, Basic, etc.) que utilizan palabras que el ser humano puede
entender (normalmente en ingls) y con dichas palaras se crean
instrucciones que finalmente la computadora convertir a ceros0 y unos
1, cuyo destino final es ejecutar alguna accin (mostrar un mensaje,
realizar un clculo matemtico, etc.).Una lnea de cdigo es una lnea con
instrucciones en algn lenguaje.
Por ejemplo: si quiero mostrar un mensaje en la pantalla de la pc, se
ejecutara la siguiente instruccin:
chut<<"Este es un mensaje"; ----------------------->En lenguaje de

programacin C++

System.out.print("Este es un mensaje"); -->En lenguaje de programacin

Java

MessageBox.Show("Este es un mensaje"); -----> En lenguaje de

programacin C#

Claro que para escribir un programa, por ejemplo del tipo Messenger, se
requieren ciento de lneas e cdigo no se diga de aplicaciones
empresariales, como de contabilidad o el caso de Windows Vista, que se
utilizaron millones de lneas de cdigo.
Finalmente te comento que la programacin es para aquellos que les guste
crear aplicaciones para computadoras (que pueden ser para aplicaciones de
escritorio, para internet, para celulares, videojuegos, etc.), lo cual debe de
gustarte y si ese es tu caso debers estudiar Lic. En Informtica, Ing. en
Sistemas o algo similar. Te aseguro que la programacin es u mundo
fascinante para aquellos que la eligen.

U.E. Los Andes TM

INFORMATICA

2. CONCEPTOS BSICOS
2.1.

Qu es computacin?
Es un conjunto de disciplinas y tcnicas relativas al uso de
computadoras, destinadas hacia el desarrollo para el tratamiento
automtico de la informacin.

2.2.

Qu es una computadora?:
Es un dispositivo capaz de realizar clculos y tomar decisiones lgicas
mucho ms rpido que los humanos.
Las computadoras procesan datos bajo el control de un conjunto de
instrucciones llamado programa de computacin.

2.3.

Qu es un dato?
Un dato es la representacin simblica (numrica, alfabtica, etc.)
Ejemplo: 5 es un dato numrico, N es un dato Alfabtico.

2.4.

Qu es Informacin?
Informacin es el conjunto de datos procesados en forma
significativa, ordenados y con una secuencia lgica sobre algn
suceso o hecho de importancia.
Ejemplo: 5 Naranjas

2.5.

Qu es un Bit?
Bit es la abreviacin de Binary Digit (digito binario), la cual en
trminos tcnicos es la menor unidad de informacin de una
computadora. Un bit tiene solamente un valor (que puede ser 0 o 1).
Varios bits combinados entre s dan origen a otras unidades, como
byte, mega, giga y tera.

2.6.

Qu es un Byte?:
Es el conjunto de 8 bits combinados, utilizados para representar
nmeros decimales, letras y smbolos especiales.

2.7.

Qu es Hardware?:
Es la parte fsica de una computadora, como los dispositivos: teclado,
mouse, CD-ROM, DVD, memoria, discos, entre otros.

2.8.

Qu es Software?:

U.E. Los Andes TM

INFORMATICA

Es la parte lgica de una computadora, es decir programas que se


ejecutan en una computadora. Puede clasificarse en:

2.9.

Software de Sistemas o Bsico (Sistema Operativo).

Software de Aplicacin (Programas).

Unidades de medida de la informacin.


Al igual que la unidades de medida ,encargados de medir los lquidos,
el volumen , la longitud; la informacin tambin posee un mecanismo
de medicin ,este el byte el cual al igual que el gramo o el centmetro
cubico, es la unidad mnima de la informacin el cual se refiere a una
letra, una vocal o un carcter especial.

8 bits
1024 bytes
1024 kilo bytes
1024 mega bytes
1024 giga bytes
1024 tera bytes

Equivale a
Equivale a
Equivale a
Equivale a
Equivale a
1 tera byte
Equivale a
1 peta byte

1
1
1
1

byte
kilo byte
mega byte
giga byte

3. PROBLEMAS LOGICOS
A lo largo de la historia podemos encontrar gran cantidad de referencias a las
diversas ciencias, el deseo de conocimiento ha llevado al hombre a una
profunda exploracin de las mismas y por nuestra naturaleza curiosa, debemos
reconocer que nunca hemos estado satisfechos con lo que sabemos y por lo
tanto an continan las investigaciones en busca de nuevos descubrimientos.
Una de las ciencias ms importantes es la matemtica, a la cual muchas
culturas hicieron notables aportes, sin olvidar tambin a los grandes
pensadores que dedicaron su vida al estudio de esta ciencia.
El razonamiento lgico y la capacidad de abstraer el mundo real y convertirlo
en un problema matemtico, es el objetivo que perseguimos en este curso,
basndonos en muchos estudios y extrayendo lo ms notable de cada uno de
ellos.
Esta introduccin nos da una idea del origen de varios problemas y juegos
matemticos, cada uno de ellos apoyado en una historia o leyenda.
A medida de que el curso se avance y contemos con el conocimiento
suficiente, se propondrn soluciones computacionales a estos problemas.

U.E. Los Andes TM

INFORMATICA

Nmeros Primos
Los Nmeros Primos son Nmeros Naturales, mayores a 1, que poseen solo 2 divisores: 1 y
s mismo.
Por ejemplo, todos los Nmeros Primos menores a 100 son:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
Las principales tareas de programacin con respecto a estos nmeros son:

Verificar si un nmero es primo.

Generar un nmero primo.

El mtodo de verificacin ms sencillo, es ir identificando uno a uno los divisores de un


nmero para ver si stos son slo 2 y si son 1 y el mismo nmero.
Por ejemplo, verificaremos si el nmero 5 y el nmero 6 son primos.
Para el nmero 5:
Es divisible entre 1? S
Es divisible entre 2? No
Es divisible entre 3? No
Es divisible entre 4? No
Es divisible entre 5? S
Los divisores de 5 son: 1 y 5.
Por lo tanto, 5 es un Nmero Primo.
Para el nmero 6:
Es divisible entre 1? S
Es divisible entre 2? S
Es divisible entre 3? S
Es divisible entre 4? No

U.E. Los Andes TM

INFORMATICA

Es divisible entre 5? No
Es divisible entre 6? S
Los divisores de 6 son: 1, 2, 3 y 6
Por lo tanto, 6 no es un Nmero Primo.

Serie de Fibonacci
La Serie de Fibonacci es una serie muy conocida y utilizada, fue descubierta por Leonardo
de Pisa (ms conocido como Fibonacci) en el siglo XII.
Fue l quien introdujo el uso de los nmeros arbigos, haciendo que se utilicen estos en
lugar de los nmeros romanos, ya que eran ms sencillos de utilizar y se podan representar
cantidades mayores.
Su estudio para crear la serie se bas en una simple pregunta: cuntos conejos puede
producir una sola pareja en un ao, si todos los meses cada pareja engendra una nueva
pareja, la cual comienza a engendrar a partir del segundo mes, y si no se produce ninguna
muerte?, (suponiendo que cada pareja consiste de un macho y una hembra y que los
conejos no se oponen al apareamiento entre hermanos).
Con esto se tiene lo siguiente:

U.E. Los Andes TM

INFORMATICA

Se puede ver que la primera pareja engendra al primer mes una pareja, al segundo mes otra
pareja, y al tercer mes, la segunda pareja engendrada ya puede engendrar una pareja y se
suma a la que engendra la primera pareja, y as sucesivamente.
Al final, se tiene una sucesin de la siguiente forma: 0, 1, 1, 2, 3, 5, 8,...
Ahora, analizando esta serie, se puede ver que el trmino siguiente siempre es la suma de
los dos anteriores, por ejemplo, el sexto trmino 8 es la suma del quinto y el cuarto, 5 y 3, y
as se puede predecir los trminos sin necesidad de hacer el anlisis.
Viendo esto, la serie se define de la siguiente manera:
f(0) = 0
f(1) = 1
f(n) = f(n 1) + f(n 2)
Usando esta definicin, tendramos:
f(2) = f(1) + f(0) = 0 + 1 = 1
f(3) = f(2) + f(1) = 1 + 1 = 2
f(4) = f(3) + f(2) = 2 + 1 = 3
f(5) = f(4) + f(3) = 3 + 2 = 5
f(6) = f(5) + f(4) = 5 + 3 = 8
f(7) = f(6) + f(5) = 8 + 5 = 13
...
Y as se pueden ir formando los siguientes trminos de esta manera.

U.E. Los Andes TM

INFORMATICA

Cabe mencionar que esta serie tiene muchas aplicaciones, y se puede ver en muchos lugares
de la naturaleza, por ejemplo: el crecimiento acumulativo (como el ejemplo de los conejos,
pero puede ser aplicado a cualquier especie), la distribucin en espiral de las hojas en un
tallo, las escamas en el eje de una pia, el orden de las semillas de un girasol, etc.
Otro ejemplo de la aplicacin de esta serie es la conocida espiral de fibonacci, que se define
de la siguiente manera: Es un espiral formada por cuartos crculos, donde cada crculo tiene
el rdio del tamao de un trmino de la serie de fibonacci. La siguiente figura nos muestra
esto de manera ms clara.

Sistemas de Numeracin
Existen diferentes tipos de Sistemas de Numeracin. El ms conocido y utilizado es el
Sistema de Numeracin Decimal, el cual consta de 10 smbolos que son: 0, 1, 2, 3, 4, 5, 6,
7, 8 y 9. Con estos 10 smbolos podemos representar cualquier nmero, por ejemplo: 10,
11, 12, 21, 31 ,100
Estos nmeros pueden ser manipulados con las 4 operaciones bsicas: suma, resta,
multiplicacin y divisin.
Pero este sistema de numeracin puede ser muy til para los seres humanos, ya que
podemos manejar cualquier cantidad basndonos en ste, pero para las computadoras es
compleja la realizacin de estas operaciones usando el sistema decimal, por lo cual, se usa
otro sistema de numeracin basado en 2 smbolos: 0 y 1.
Sistema de Numeracin Binario
En 1679, Gottfried Wilhelm Leibniz, hijo de un acaudalado comerciante, decidi
construirle una calculadora a su padre para ayudarle en sus trabajo, y decidi plantear la
teora de la Numeracin Didctica con la cual todo numero (decimal) poda ser
representado mediante una serie formada por ceros y unos.

U.E. Los Andes TM

INFORMATICA

Esto se representara a nivel de mquina con dos valores: encendido que representara el 1 y
apagado que representara el 0.
Los nmeros binarios tienen su correspondencia con los nmeros decimales, por ejemplo:
0 (binario) = 0 (decimal)
1 (binario) = 1 (decimal)
2 (binario) = 10 (decimal)
3 (binario) = 11 (decimal)
4 (binario) = 100 (decimal)
...
Formando una serie de un 1 y varios 0s, se tiene:
1 (binario) = 1 (decimal)
10 (binario) = 2 (decimal)
100 (binario) = 4 (decimal)
1000 (binario) = 8 (decimal)
10000 (binario) = 16 (decimal)
100000 (binario) = 32 (decimal)
...
Analizando esto, se tiene la siguiente serie: 1, 2, 4, 8, 16, 32,...
Pero esta serie puede ser representada de otra manera, como 2^0, 2^1, 2^2, 2^3, 2^4, 2^5,...
De esta forma, podramos hacer una transformacin ms fcil del sistema binario al sistema
decimal, simplemente sumando las potencias de 2 de posiciones que tengan un 1, por
ejemplo:
Ejemplo: 1011011001
Posiciones:
9: 1
8: 0
7: 1
6: 1
5: 0
4: 1
3: 1
2: 0
1: 0
0: 1
Ahora, sumando las posiciones tendramos:

U.E. Los Andes TM

INFORMATICA

2^9 + 2^7 + 2^6 + 2^4 + 2^3 + 2^0 = 512 + 128 + 64 + 16 + 8 + 1 = 729


Y con esto, ya tendramos la representacin decimal del nmero.
Operaciones aritmticas binarias:
La suma sera de la siguiente forma:
0+0=0
0+1=1
1+0=1
1 + 1 = 10 (0 al resultado, 1 al acarreo)
Un ejemplo de suma podra ser:
1001101
+ 11001
----------1100110
La multiplicacin se la realizara de manera similar, teniendo la siguiente forma:
0*0=0
0*1=0
1*0=0
1*1=1
Un ejemplo sera:
101
* 1101
----------101
+ 000
101
101
----------1000001
Operaciones lgicas binarias:
Hacia 1847, el matemtico ingles George Boole estableci los fundamentos de la lgica en
las computadoras, mediante el lgebra para los nmeros binarios, utilizando unas cuantas
operaciones bsicas. Estas operaciones son AND, OR, XOR y NOT. stas se definen de la
siguiente manera:
El AND es el Y lgico, y toma los siguientes valores:

U.E. Los Andes TM

INFORMATICA

0 and 0 = 0
0 and 1 = 0
1 and 0 = 0
1 and 1 = 1
El OR es el O INCLUSIVO lgico, y se define de esta manera:
0 or 0 = 0
0 or 1 = 1
1 or 0 = 1
1 or 1 = 1
El XOR es el O EXCLUSIVO lgico, y esta es su definicin:
0 xor 0 = 0
0 xor 1 = 1
1 xor 0 = 1
1 xor 1 = 0
Y finalmente, el NOT es el NO o la NEGACIN lgica, y se define as:
not 0 = 1
not 1 = 0
Cabe mencionar que las computadoras solo realizan este tipo de operaciones, y el resto de
operaciones, son una simple derivacin de estas, un ejemplo es la suma, que es una
combinacin de AND y XOR, donde con XOR se obtiene el resultado y con AND el
acarreo. He aqu un ejemplo:
Ejemplo: 11 + 1
11
+1
--100
Comenzando con el ltimo dgito, tenemos: 1 + 1
1 XOR 1 = 0
1 AND 1 = 1
Resultado: 0, Acarreo: 1
Con el siguiente dgito y el acarreo, tenemos: 1 + 1

10

U.E. Los Andes TM

INFORMATICA

1 XOR 1 = 0
1 AND 1 = 1
Resultado: 00, Acarreo: 1
Siguiendo con el ultimo acarreo, tenemos: 1 + 0:
1 XOR 0 = 1
1 AND 0 = 0
Resultado: 100

4. QUE ES PROGRAMACION?
Programacin es el proceso de disear, codificar, depurar y mantener el
cdigo fuente de programas computacionales (software).
Es decir, es la creacin de software (programas, aplicaciones, juegos,
etc.) a partir de la resolucin de problemas, para resolver un problema
especfico, se disea los ALGORITMOS, el cual lo escribiremos (codificar)
en un determinado LENGUAJE DE PROGRAMACION, para luego encontrar
y arreglar errores (depurar) en la codificacin.
4.1.

Programa
Un programa es una serie de instrucciones ordenadas, codificadas
en lenguaje de programacin que expresa un algoritmo y que
puede ser ejecutado en un computador.

5. ALGORITMO
Un algoritmo es una serie de pasos organizados que describe el proceso
que se debe seguir, para dar solucin a un problema especfico.
Algoritmo Palabra que proviene del nombre de un matemtico y
astrnomo rabe Al-Khwarizmi del siglo IX, que escribi un tratado
sobre la manipulacin de nmeros y ecuaciones llamado Kitab al-jabr
walmugabala.

11

U.E. Los Andes TM

INFORMATICA

5.1. Clasificacin de algoritmos: Los algoritmos se pueden clasificar


en cuatro tipos:

Algoritmo computacional: Es un algoritmo que puede


ser ejecutado en una computadora. Ejemplo: Frmula
aplicada para un clculo de la raz cuadrada de un valor
x.

Algoritmo no computacional: Es un algoritmo que no


requiere de una computadora para ser ejecutado.
Ejemplo: Instalacin de un equipo de sonido.

Algoritmo cualitativo: Un algoritmo es cualitativo


cuando en sus pasos o instrucciones no estn
involucrados clculos numricos. Ejemplos: Las
instrucciones para desarrollar una actividad fsica,
encontrar un tesoro.

Algoritmo cuantitativo: Una algoritmo es cuantitativo


cuando en sus pasos o instrucciones involucran clculos
numricos. Ejemplo: Solucin de una ecuacin de
segundo grado.

5.2. Caractersticas de un algoritmo: Los algoritmos deben cumplir


con algunas caractersticas:
Preciso. Indica el orden de realizacin de cada uno
de los pasos.
Definido. Si a un algoritmo se le suministra varias
veces los mismos datos los resultados deben ser los
mismos.
Finito. El algoritmo debe terminar en algn
momento.
5.3. Partes de un algoritmo: Todo Algoritmo debe tener las
siguientes partes:
Entrada de datos, son los datos necesarios que el
algoritmo necesita para ser ejecutado.
Proceso, es la secuencia de pasos para ejecutar el
algoritmo.
Salida de resultados, son los datos obtenidos despus de
la ejecucin del algoritmo.

12

U.E. Los Andes TM

INFORMATICA

Ejemplo de algoritmo:
Problema: Disear un algoritmo para venir al colegio y pasar
clases de computacin.
INICIO
Entrada(s):

Persona o estudiante

Proceso(s):

Despertar

Levantarse de la cama

Baarse

Vestirse

Desayunar

Cepillarse los dientes

Cargar la mochila

Despedirse de la familia

Salir de casa.

Caminar hacia el colegio

Ingresar al colegio

Ingresar a la sala de computacin


Salida(s):

FIN

Estudiante pasando clases

Representacin de Algoritmos
Cuando trabajamos con algoritmos es posible representarlos de varias maneras, en este caso
mencionaremos algunas de ellas, que son mayormente usadas por que permiten un nivel de
comprensin mas clara.

Explicacin en lenguaje natural.


Este tipo de explicaciones suele ser bastante extenso, ya que se define el problema y
se establece verbalmente una idea de la solucin y los resultados que se espera
obtener. Aunque la comprensin es bastante simple suele provocar ambigedad al
momento de emplearse el algoritmo.

Diagramas de flujo.
Los diagramas de flujo nos permiten ver de una manera grafica y un poco ms

13

U.E. Los Andes TM

INFORMATICA

amigable el proceso que se seguir para obtener una solucin. Existe muy poca
ambigedad al momento de emplear el algoritmo pero su representacin es mas
morosa de lo deseado.

Pseudocdigo.
El pseudocdigo es una tcnica mas ordenada y efectiva, ya que haciendo uso de
palabras comunes, se representa el funcionamiento del algoritmo y no existe
ambigedad al momento de emplearse. Adems debemos mencionar que por su
estructura, es muy fcil pasar del pseudocdigo a un lenguaje de programacin
deseado.

Ya que mencionamos algunas de las tcnicas de representacin de un algoritmo, es


necesario establecer cul de ellas usaremos el resto del curso. Buscamos emplear una
tcnica que favorezca a la comprensin y principalmente la no ambigedad al momento de
escribir los algoritmos, as que haremos uso del Pseudocdigo para representar los mismos.
Todo algoritmo puede ser representado por:
- Lenguaje natural
- Pseudocdigo
- Diagramas de flujo
- Lenguajes de programacin

EJEMPLO:
LENGUAJE NATURAL
1. Problema: Sumar 2 nmeros.
2. Representacin mediante Lenguaje natural:
- Inicio Suma
- Ingresar primer nmero
- Guardar nmero en variable a
- Ingresar segundo nmero
- Guardar nmero en variable b
- Sumar a y b
- Guardar resultado en R
- Mostrar R
- Fin
3. Desventajas:
- -Ambiguo
- -Extenso

14

U.E. Los Andes TM

INFORMATICA

PSEUDOCDIGO
Es una forma de representar un algoritmo, que se acerca a los lenguajes de
programacin y con elementos del lenguaje natural.
El pseudocdigo se compone de:
- Cabecera
- Declaraciones
- Cuerpo
La cabecera es la parte del algoritmo que posee el nombre de ste.
Las declaraciones son las variables y constantes que utilizar el algoritmo para
resolver el problema.
El cuerpo son el conjunto de instrucciones o acciones que estn entre el Inicio y el
Fin
La estructura del pseudocdigo es la siguiente:
Proceso SinTitulo
accion1;
accion2;
....
accionN;
FinProceso
La seccin Proceso Sin Ttulo es la cabecera del algoritmo, aqu debe estar el
nombre del algoritmo
La seccin accin 1, accin 1, es el cuerpo del algoritmo, es la lista de
instrucciones ordenadas y separadas por el punto y coma. Donde termina un punto
y coma termina una instruccin (sentencia) y comienza la siguiente.
En este caso como utilizaremos el Pseint la seccin de declaraciones del algoritmo
no se toma en cuenta, ya que el software se encarga de asignarle el tipo de dato a
cada variable dependiendo del uso que se le d.
El ejemplo anterior de sumar dos numeros, en pseudocodigo de Pseint se veria
como:
Proceso suma
Escribir "Ingrese primer numero" ;
Leer a;
Escribir "Ingrese segundo numero" ;
Leer b;
c <- a + b;
Escribir "La suma es: " c;
FinProceso
DIAGRAMA DE FLUJO
La representacin mediante diagrama de flujo es una descripcin grfica de un
algoritmo utilizando smbolos

15

U.E. Los Andes TM

INFORMATICA

Representacin mediante Lenguaje de PROGRAMACIN (JAVA):

El diseo del algoritmo es independiente a cualquier lenguaje de programacin.


Es decir, podemos llevar un algoritmo a cualquier lenguaje de programacin.

16

U.E. Los Andes TM

Potrebbero piacerti anche