Está en la página 1de 77

ING.

KARLA RIVERA GARCIA


Encuadre
Slabo de la asignatura
Herramientas de Google
Trabajo en lnea
Comunidades virtuales
Conceptos Iniciales
Informtica
Ordenador
Hardware
Software
Sistema operativo
Lenguaje de programacin
Traductores.
Trmino formado por la contraccin de las palabras
informacin y automtica que hace referencia al conjunto
de conocimientos cientficos y tcnicas que hacen posible el
tratamiento automtico de la informacin por medio de los
ordenadores, computadores, Pcs, dispositivos mviles , etc.

La informtica es la ciencia que trata la adquisicin,
representacin, tratamiento y transmisin de la
informacin.
Las tareas bsicas para realizar dicho tratamiento son:
Entrada de informacin
Tratamiento o proceso de la informacin
Salida de resultados
CLASE
3
Mquina programable que permite realizar el
tratamiento automtico de la informacin.
Por tanto un ordenador estar compuesto de
los siguientes elementos.
CLASE
3

CLASE
3
El trmino hardware se
refiere a todas las partes
tangibles de un sistema
informtico; sus
componentes son: elctricos,
electrnicos,
electromecnicos y
mecnicos. Son cables,
gabinetes o
cajas, perifricos de todo tipo
y cualquier otro elemento
fsico involucrado
CLASE
3
Se conoce como software

al equipamiento lgico
o soporte lgico de un sistema informtico, que
comprende el conjunto de los componentes
lgicos necesarios que hacen posible la
realizacin de tareas especficas, en
contraposicin a los componentes fsicos que
son llamados hardware.

Los componentes lgicos incluyen:
Software de aplicacin
Software de sistema

CLASE
3
Un sistema operativo (SO,
frecuentemente OS, del
ingls Operating System) es
un programa o conjunto de
programas que en un sistema
informtico gestiona los
recursos de hardware y
provee servicios a
los programas de aplicacin,
ejecutndose en modo
privilegiado respecto de los
restantes y anteriores
prximos y viceversa.
CLASE
3
Un lenguaje de programacin es un lenguaje
formal diseado para expresar procesos que pueden ser
llevados a cabo por mquinas como las computadoras.
Pueden usarse para crear programas que controlen el
comportamiento fsico y lgico de una mquina, para
expresar algoritmos con precisin, o como modo de
comunicacin humana.

CLASE
3
Conjunto de smbolos y palabras claves
utilizables.
Reglas gramaticales para construir sentencias
(instrucciones, rdenes) sintctica y
semnticamente correctas.
Sintaxis: Conjunto de normas que determinan
como escribir las sentencias del lenguaje.
Semntica: Interpretacin de las sentencias.
Indica el significado de las mismas.
CLASE
3
Un traductor es un programa que toma como
entrada un programa escrito en un lenguaje
fuente y lo transforma en un programa
escrito en lenguaje mquina.
El proceso de conversin se denomina
traductor, que puede realizarse de dos formas
diferentes:
Por interpretacin o
Por compilacin.
CLASE
3
Es un programa que toma como entrada un
programa escrito en lenguaje fuente y lo va
traduciendo y ejecutando instruccin por
instruccin (de una en una)
CLASE
3
Es un programa que toma como entrada un
programa fuente y genera un programa
equivalente llamado programa objeto o
cdigo objeto.
CLASE
3
Fase de anlisis
Anlisis lxico
Elimina del programa fuente toda la informacin innecesaria (espacios,
lneas en blanco, comentarios, etc)
Comprueba que los signos del lenguaje se hayan escrito bien.
Anlisis sintctico
Comprueba que lo del paso anterior es correcto, gramticamente.
Anlisis semntico
Comprueba el significado de las sentencias del programa.
Fase de sntesis
Generar el cdigo objeto del programa fuente.
Solo genera cuando est libre de errores
Aunque se puede presentar errores pero del concepto del
programa.
CLASE
3
CLASE
4 y 5
CLASE
4 y 5
CLASE
4 y 5
CLASE
4 y 5
CLASE
4 y 5
CLASE
4 y 5
CLASE
4 y 5
CLASE
4 y 5
CLASE
4 y 5
CLASE
4 y 5
CLASE
4 y 5
CLASE
4 y 5
CLASE
6
CLASE
6
CLASE
6
CLASE
6
CLASE
6
CLASE
6
CLASE
6
CLASE
6
CLASE
6
CLASE
6
Todos los datos tienen un tipo asociado con
ellos. Un dato puede ser un simple carcter, tal
como b, un valor entero tal como 35. El tipo de
dato determina la naturaleza del conjunto de
valores que puede tomar una variable.

CLASE
7
CLASE
7

Datos Numricos: Permiten representar valores escalares de forma
numrica, esto incluye a los nmeros enteros y los reales. Este tipo de
datos permiten realizar operaciones aritmticas comunes.

Datos Lgicos: Son aquellos que solo pueden tener dos valores (cierto o
falso) ya que representan el resultado de una comparacin entre otros
datos (numricos o alfanumricos).

Datos Alfanumricos (String): Es una secuencia de caracteres
alfanumricos que permiten representar valores identificables de forma
descriptiva, esto incluye nombres de personas, direcciones, etc. Es
posible representar nmeros como alfanumricos, pero estos pierden su
propiedad matemtica, es decir no es posible hacer operaciones con
ellos. Este tipo de datos se representan encerrados entre comillas.

CLASE
7


Las expresiones son combinaciones de constantes, variables, smbolos de
operacin, parntesis y nombres de funciones especiales. Por ejemplo:

a + (b + 3)/c

Cada expresin toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecucin de las operaciones
indicadas.

Una expresin consta de operadores y operandos. Segn sea el tipo de
datos que manipulan, se clasifican las expresiones en:
Aritmticas
Relacinales
Lgicas
CLASE
7
Operadores: Son elementos que relacionan de forma
diferente, los valores de una o ms variables y/o constantes.
Es decir, los operadores nos permiten manipular valores.

CLASE
7
Operadores Aritmticos: Los operadores aritmticos permiten la realizacin de
operaciones matemticas con los valores (variables y constantes). Pueden
ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el
resultado es entero; si alguno de ellos es real, el resultado es real.

+ Suma
- Resta
* Multiplicacin
/ Divisin
Mod Modulo (residuo de la divisin entera)

Ejemplos:

Expresin Resultado
7 / 2 3.5
12 mod 7 5
4 + 2 * 5 14


CLASE
7

Todas las expresiones entre parntesis se evalan primero.
Las expresiones con parntesis anidados se evalan de
dentro hacia fuera, el parntesis mas interno se evala
primero.

Dentro de una misma expresin los operadores se evalan
en el siguiente orden.
1) ^ : Exponenciacin
2) *, /, mod: Multiplicacin, divisin, modulo.
3) +, - : Suma y resta.

Los operadores en una misma expresin con igual nivel de
prioridad se evalan de izquierda a derecha.

CLASE
7

1) 4 + 2 * 5 = 14

2) 23 * 2 / 5 = 9.2

3) 46 / 5 = 9.2

4) 3 + 5 * (10 - (2 + 4)) = 23

5) 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23

6) 3.5 + 5.09 - 14.0 / 40 = 5.09

7) 3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09

8) 2.1 * (1.5 + 3.0 * 4.1) = 28.98

9) 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98

CLASE
7

Constante: Una constante es un dato numrico o alfanumrico que no
cambia durante la ejecucin del programa.

Ejemplo:
PI = 3.1416

Variable: Es un espacio en la memoria del computador que permite
almacenar temporalmente un dato durante la ejecucin de un
proceso, su contenido puede cambiar durante la ejecucin del
programa. Para poder reconocer una variable en la memoria del
computador, es necesario darle un nombre con el cual podamos
identificarla dentro de un algoritmo.

Ejemplo:
area = PI * radio ^ 2

Las variables son : el radio, el rea y la constate es PI

CLASE
7
CLASE
7

Variable Numricas: Son aquellas en las cuales se almacenan valores
numricos, positivos o negativos.

Ejemplo:
iva = 0.15 pi = 3.1416 costo = 2500

Variables Lgicas: Son aquellas que solo pueden tener dos valores (cierto o
falso) estos representan el resultado de una comparacin entre otros
datos.
ok = 1 < 2 es_seguro = b > 3

Variables Alfanumricas: Esta formada por caracteres alfanumricos (letras,
nmeros y caracteres especiales).

Ejemplo:
letra = a apellido = lopez direccion = Av. Libertad #190
CLASE
7

Variables de Trabajo: Variables que reciben el resultado de una operacin
matemtica completa y que se usan normalmente dentro de un
programa.

Ejemplo:
resultado = a + b / c

Contadores: Se utilizan para llevar el control del numero de ocasiones en que
se realiza una operacin o se cumple una condicin. Con los incrementos
generalmente de uno en uno.

Ejemplo:
veces = veces + 1

Acumuladores: Forma que toma una variable y que sirve para llevar la suma
acumulativa de una serie de valores que se van leyendo o calculando
progresivamente.

Ejemplo:
suma = suma + b

CLASE
7
ESTRUCTURAS ALGORITMICAS
Las estructuras de operacin de programas son un grupo de formas de trabajo,
que permiten, mediante la manipulacin de variables, realizar ciertos procesos
especficos que nos lleven a la solucin de problemas. Estas estructuras se
clasifican de acuerdo con su complejidad en:

CLASE
8
DIAGRAMAS
RESOLUCION DE PROBLEMAS
CLASE
8

Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al
resultado de esta comparacin, se siga un curso de accin dentro del programa. Cabe mencionar que
la comparacin se puede hacer contra otra variable o contra una constante, segn se necesite.
Existen dos tipos bsicos, las simples y las mltiples.
Simples: Las estructuras condicionales simples se les conoce como Tomas de decisin.

Si <condicin> entonces
Accin(es)
Fin si

Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles
en funcin del cumplimiento o no de una determinada condicin.

Si <condicin> entonces
Accin(es)
si no
Accin(es)
Fin si
Donde:
Si Indica el comando de comparacin
Condicin Indica la condicin a evaluar
entonces.. Precede a las acciones a realizar cuando se cumple la condicin
accin(es) Son las acciones a realizar cuando se cumple o no la condicin
si no
CLASE
9
Dependiendo de si la comparacin es cierta o falsa, se pueden realizar una
o mas acciones.

Mltiples: Las estructuras de comparacin mltiples, son tomas de
decisin especializadas que permiten comparar una variable contra
distintos posibles resultados, ejecutando para cada caso una serie de
instrucciones especificas. La forma comn es la siguiente:

Si <condicin> entonces
Accin(es)
si no
Si <condicin> entonces
Accin(es)
si no
Accion(es)
Fin Si
Fin Si

CLASE
9

Se utilizan para establecer una relacin entre dos valores.

Compara estos valores entre si y esta comparacin produce un resultado de
certeza o falsedad (verdadero o falso).

Los operadores relacinales comparan valores del mismo tipo (numricos o
alfanumricos).

Tienen el mismo nivel de prioridad en su evaluacin.

Los operadores relacinales tiene menor prioridad que los aritmticos.
Operadores Relacinales
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
< > != Diferente, Distinto
= Igual


CLASE
9
Ejemplos:

Si a = 10 ; b = 20; c = 30

a + b > c Falso
a - b < c Verdadero
a - b = c Falso
a * b < > c Verdadero

Ejemplos de expresiones no vlidas:

a < b < c
10 < 20 < 30
True < 30
(No es vlido porque tiene diferentes operandos
CLASE
9
RESOLUCION DE PROBLEMAS
CLASE
9
Operadores Lgicos:

Estos operadores se utilizan para establecer
relaciones entre valores lgicos.

Estos valores pueden ser resultado de una expresin
relacional.

Operadores Lgicos

And Y &&
Or O | |
Not Negacin !


CLASE
10 y 11
Operador And (&&)

Operando1 Operador Operando2 Resultado
T AND T T
T F F
F T F
F F F

Operador Or ( | | ) Pipe

Operando1 Operador Operando2 Resultado
T OR T T
T F T
F T T
F F F

Operador Not ( ! )

Operando Resultado
T F
F T

Ejemplos: (a < b) and (b < c)
(10<20) and (20<30)
T and T
CLASE
10 y 11
Prioridad de los Operadores Lgicos
Not
And
Or

Prioridad de los Operadores en General
1.- ( )
2.- ^
3.- *, /, Mod, Not
4.- +, -, And
5.- >, <, > =, < =, < >, =, Or

Ejemplos:
a = 10; b = 12; c = 13; d =10

1) ((a > b) or (a < c)) and ((a = c) or (a >= b))
F T F F
T F
F
2) ((a >= b) or (a < d)) and (( a >= d) and (c > d))
F F T T
F T
F
3) not (a = c) and (c > b)

CLASE
10 y 11
Resolucin de problemas
CLASE
10 y 11
Se llaman problemas repetitivos o cclicos a aquellos en cuya solucin es necesario
utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad
especifica de veces.

Esta cantidad puede ser fija (previamente determinada por el programador) o puede
ser variable (estar en funcin de algn dato dentro del programa).

Los ciclos se clasifican en:

Ciclos con un Numero Determinado de Iteraciones:
a) Para

Ciclos con un Numero Indeterminado de Iteraciones:
a) Mientras
b) Repetir-Hasta
CLASE
12y 13

Son aquellos en que el numero de iteraciones se conoce antes de ejecutarse el ciclo.
La forma de esta estructura es la siguiente:

Para (Var_Control = Valor_Inicial ; Valor_Final ; Incremento_Var_Control)
Accion 1
Accion 2

Fin Para

Donde:

Var_Control es una variable que lleva la cuenta de las iteraciones.
Valor_Inicial corresponde al primer valor que tomar Var_Control.
Valor_Final corresponde al ultimo valor permitido para continuar iterando.
Incremento_Var_Control corresponde al avance que tendr Var_Control
CLASE
12y 13
Para (i = 1 ; n ; i++)

Fin Para
Acciones, procesos
Donde:

i es una variable que lleva la cuenta de las iteraciones.
1 corresponde al primer valor que tomar i.
n corresponde al ultimo valor permitido para continuar iterando.
i++ corresponde al avance que tendr i
CLASE
12y 13
Ejemplo:

Calcular el promedio de un alumno que tiene 7 calificaciones en la
materia de Diseo Estructurado de Algoritmos.

Alternativa 1 (Sin considerar iteracin)

Algoritmo
Inicio
Real Nota1, Nota2, Nota3, Nota4, Nota5, Nota6, Nota7
Real Promedio

Leer Nota1, Nota2, Nota3, Nota4, Nota5, Nota6, Nota7

Promedio = (Nota1+ Nota2+ Nota3+ Nota4+ Nota5+
Nota6+ Nota7)/7

Escribir Promedio
Fin
CLASE
12y 13
Alternativa 2 (Considerar iteracin)

Algoritmo
Inicio
Real Nota
Real Promedio, Suma
Entero C_Nota, i

Leer C_Nota
Suma = 0
Para (i = 1 ; C_Nota ; 1)
Leer Nota
Suma = Suma + Nota
Fin Para

Promedio = Suma / C_Nota

Escribir Promedio
Fin
CLASE
12y 13
Cual alternativa es mas interesante de implementar?

Por que?

CLASE
12y 13
Ejemplo

Leer 10 nmeros y obtener su cuadrado y su cubo.

Algoritmo
Inicio
Entero Numero, Cuadrado, Cubo
Entero i

Para (i = 1 ; 10 ; 1)
Leer Numero
Cuadrado = Numero * Numero
Cubo = Cuadrado * Numero
Escribir Cuadrado, Cubo
Fin Para
Fin

CLASE
12y 13
1.- Leer 10 nmeros e imprimir solamente los nmeros positivos

2.- Leer 20 nmeros e imprimir cuantos son positivos, cuantos
negativos y cuantos neutros.

3.- Leer 15 nmeros negativos y convertirlos a positivos e imprimir
dichos nmeros.

4.- Suponga que se tiene un conjunto de notas finales de un grupo
de 40 alumnos. Escribir un algoritmo para calcule el promedio de
las notas y la calificacin final ms baja de todo el grupo.

5.- Calcular y escribir la tabla de multiplicar de un numero
cualquiera. Escribir el multiplicando, el multiplicador y el
producto.

CLASE
12y 13
6.- Hacer un diagrama que imprima los
nmeros del 1 al 100.

7.- Hacer un diagrama que imprima los
nmeros del 100 al 0, en orden decreciente.

8.-Hacer un diagrama que imprima los
nmeros pares entre 0 y 100.


CLASE
12y 13
9.- Hacer un diagrama que ingrese 100
nmeros y muestre por pantalla la suma de
estos nmeros ingresados.
10.- Hacer un diagrama que ingrese 100
nmeros y sume por un lados los nmeros
pares y por otro lado los impares.

CLASE
12y 13
Simular el comportamiento de un reloj
digital, escribiendo la hora, minutos y
segundos de un da desde las 0:00:00
horas hasta las 23:59:59 horas

CLASE
12y 13
14 y 15
Son aquellos en que el numero de iteraciones no se conoce con exactitud, ya que esta
dado en funcin de un dato dentro del programa.

Mientras: Esta es una estructura que repetir un proceso durante N veces, donde
N puede ser fijo o variable. Para esto, la instruccin se vale de una condicin que es
la que debe cumplirse para que se siga ejecutando. Cuando la condicin ya no se
cumple, entonces ya no se ejecuta el proceso. La forma de esta estructura es la
siguiente:

Mientras (Condicin)
Accin_1
Accin_2

Accin_N
Fin Mientras
CLASE
16



Ejemplo

Leer 10 nmeros y obtener su cuadrado y su cubo.

Algoritmo
Inicio
Entero Numero, Cuadrado, Cubo
Entero i

i = 1;
Mientras (i <= 10)
Leer Numero
Cuadrado = Numero * Numero
Cubo = Cuadrado * Numero
Escribir Cuadrado, Cubo
i = i + 1
Fin Para
Fin

CLASE
16
1)Una compaa de seguros tiene contratados a n vendedores. Cada uno hace tres ventas a
la semana. Su poltica de remuneraciones es que un vendedor recibe un sueldo base, y un
10% extra por comisiones de sus ventas. El gerente de su compaa desea saber cuanto
dinero obtendr en la semana cada vendedor por concepto de comisiones por las tres
ventas realizadas, y cual ser su remuneracin final, tomando en cuenta su sueldo base y
sus comisiones.

2) Una persona desea invertir su dinero en un banco, el cual le otorga un 2% de inters.
Cual ser la cantidad de dinero que esta persona tendr al cabo de un ao si la ganancia de
cada mes es reinvertida?.

3) Se desea obtener el promedio de g grupos que estn en un mismo ao escolar; si cada
grupo puede tener n alumnos, cada alumno puede tener m materias y que en todas las
materias se promedian tres notas para obtener el promedio de la materia. Lo que se desea
desplegar es el promedio de los grupos, el promedio de cada grupo y el promedio de cada
alumno.
CLASE
16
Repetir-Hasta: Esta es una estructura similar en algunas caractersticas,
a la anterior. Repite un proceso una cantidad de veces, pero a diferencia
del Mientras, el Repetir-Hasta lo hace hasta que la condicin se cumple y
no mientras, como en el Mientras. Por otra parte, esta estructura permite
realizar el proceso cuando menos una vez, ya que la condicin se evala
al final del proceso, mientras que en la estructura Mientras puede ser que
nunca llegue a entrar si la condicin no se cumple desde un principio. La
forma de esta estructura es la siguiente:

Repetir
Accin_1
Accin_2

Accin_N
Hasta ( Condicin)

CLASE
16