You are on page 1of 67

Conceptos Generales

LP01

Concepto de computadora
(a) Sistema de (b) dispositivos (b1)
electrnicos, (b2) mecnicos y (b3)
magnticos (c) que sirven para
procesar datos.
El fin ltimo de la computadora es:
procesar y almacenar datos.

Diferentes tipos de computadora

Tipos de dispositivos
Dispositivos de entrada.
Dispositivos de salida.
Dispositivos de procesamiento.
CPU : unidad aritmtico/lgica.
RAM : direcciones de memoria.
Dispositivos de almacenamiento permanente.
Dispositivos perifricos.
Todos los dispositivos juntos = hardware.

Tipos de programas
Sistema operativo.

Programas aplicativos. Word : Archivos


autnomos de trabajo.

Sistema de informacin: procesamiento y


almacenamiento : generar, manipular y divulgar infomacin.

Niveles
En trminos fsicos: consumo de reas de
almacenamiento.
Bit
Equivalencias: pg. 6.
Bytes
Cdigo binario

En trminos de relevancia:
significado que el usuario otorga a los datos.
Dato: smbolo no significativo.
Informacin: conjunto de datos que representan algo.
Conocimiento: uso de informacin en la realidad. Naturaleza prctica.
Imaginacin: uso de informacin en la irrealidad. Naturaleza terica.

Manipulacin de datos
Recopilacin de datos: sobre datos existentes, captar
para el procesamiento.

Procesamiento de datos: someter datos a uso de


aritmtica-lgica. Modifica o crea datos nuevos.

Generacin de datos: generar datos nuevos y


desconocidos a partir de datos conocidos. Datos conocidos +
procesmiento = datos nuevos.

Divulgacin de datos: hacer llegar datos a los usuarios.

Lenguajes de
programacin
LP02

Introduccin

Presentar SOs.

Explicar el por qu de la incompatibilidad:


secuencia de 0 y 1 no significan lo mismo en
todos los SO.

Seleccionar SO segn necesidad especfica.

Lenguajes de programacin
Elementos
Estructura del cdigo

Bloque de cdigo: unidad independiente de


ejecucin.

Palabras reservadas. (IF THEN, SI ENTONCES)


Expresiones: Secuencia de caracteres.
Smbolos especiales. (>,<, == )
Sintaxis: cmo se escribe
Semntica: significado. Ver pgina 22.

Semntica - Sintaxis
La semntica es el estudio del significado atribuible a

expresiones sintcticamente bien formadas.


La sintaxis estudia slo las reglas y principios sobre
cmo construir expresiones interpretables
semnticamente a partir de expresiones ms simples,
pero en s misma no permite atribuir significados.

Semntica - Sintaxis
La sintaxis de un lenguaje define como se pueden

poner juntos smbolos, palabras reservadas, e


identificadores para hacer un programa vlido.
Un programa sintcticamente correcto no implica que
sea lgicamente (semnticamente) correcto.

Semntica - Sintaxis
Usando el lenguaje natural, por ejemplo, puede no ser posible
asignarle significado a una oracin gramaticalmente vlida
o la oracin puede ser falsa:
"Las ideas verdes y descoloridas duermen furiosamente" es
una oracin bien formada gramaticalmente pero no tiene
significado comnmente aceptado.
"Juan es un soltero casado" tambin est bien formada
gramaticalmente pero expresa un significado que no puede
ser verdadero.
http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n

Tipos de Cdigo

Cdigo Fuente.
Cdigo Intermedio.
Cdigo mquina.

Fases de los compiladores

Compilador:

lee programa en cdigo fuente y


lo traduce a un nivel de abstraccin entendido por la
computadora.

Fase de anlisis: divide programa en sus


elementos (est controles, instrucciones), valida semntica y
sintxis.

Fase de sntesis: se encarga de generar


el cdigo mquina.
Ventajas de cdigo intermedio. MVJ o Framework.

Clasificacin de los lenguajes de programacin

Lgica de
programacin
LP03

Lgica
Ciencia que estudia las actividades
que realizamos para ordenar
nuestras ideas y llegar a una
conclusin
Razonar : ordenar ideas para llegar a conclusin.

Procesar: ejecutar actividades relacionadas entre s con un


objetivo comn.

Proceso de razonar.

Lgica
Argumento con 3 ms
proposiciones

Expresin lingstica que


establece un pensamiento
completo.

Todos los perros son mamferos.


Fido es perro.
Por lo tanto, Fido es mamfero. Ver pg. 40

Otros ejemplos de silogismos

Los hombres son mortales,


Scrates es hombre.
Luego, Scrates es mortal.

Los chinos son numerosos,


Confucio es chino.
Confucio es numeroso.

El silogismo
Se define como un razonamiento del estilo
deductivo que llega a una conclusin final a partir
de dos afirmaciones denominadas premisas.
Las premisas son proposiciones lingsticas de
valor verdadero (representa la realidad) o falso (no
representa la realidad). La conclusin puede ser
Incorrecta (premisas no proporcionan todos los
elementos para inferir la conclusin) o Correcta
(premisas proporcionan todos los elementos para

inferir la conclusin).

Lgica de programacin
Lgica de programacin: es la habilidad de pensar de
manera razonada, sistemtica y ordenada.

El procesamiento: someter datos de entrada a procesos


aritmtico-lgicos para producir datos de salida.

El almacenamiento: guardar datos para ser utilizados en el


tiempo.

Datos de entrada, proceso, datos de salida.

Ejemplo, pgina 43.

Tipos de enunciados en un proceso

Enunciados de asignacin de

valores. EJ: La base es igual a 20


Enunciados de valor preexistente,

PI. EJ: 60 min equivalen a una hora


Enunciados de clculo. EJ: Los intereses
sobre saldos insolutos de calculan aplicando la tasa de inters al
saldo insoluto

Enunciados condicionales. EJ: Si la base


es mayor a cero, entonces la altura es igual a la base entre dos

Enunciados de resultado. EJ: El rea del


tringulo rectngulo es de 100

Principios en la elaboracin de enunciados

Relacionados con los datos

de entrada.
Relacionados con el proceso
Relacionados con los datos

de salida.

Principios en la elaboracin de enunciados

Relacionados con los datos de

entrada.
Economa
necesarios.

de datos: proveer datos suficientes y

Autosuficiencia de datos: datos calculados no


deben ser datos de entrada.
Compatibilidad de los datos: los datos
proporcionados deben ser compatibles y fciles de
manejar
Conocimiento preestablecido: cuando hay
datos que ya son aceptados como verdad y no cambian,
evite preguntarlos, ya que forman parte del proceso. Ej. 60
min.

Principios en la elaboracin de enunciados

Relacionados con el proceso:


Consistencia del resultado: iguales datos de entrada,
iguales datos de salida.
Eficiencia: mayor cantidad de resultado, con menos datos
de entrada.

Eficacia: el proceso debe hacer exactamente lo que se


requiere.
Simplicidad: compacto y sencillo mejor a largo y complejo.
Independencia: evitar dependencia con elementos
externos.
Reutilizacin: utilizar procesos existentes.
Rastreabilidad: operaciones rastreables y auditables.

Principios en la elaboracin de enunciados

Relacionados con los datos de

salida.
Cantidad y forma:

generados en cantidad y forma

requeridos por el usuario.

Exactitud:

tener grado de exactitud requerido por el

usuario.

Dominio de salida:

los datos pueden tener


diferente dominio que los datos de entrada.

La naturaleza de los
datos
LP04

Naturaleza de los valores


Longitud Fija
Valores Numricos: clculos aritmticos/tamaos
segn precisin requerida.
Valores Fecha

Longitud variable
Valores cadena

Valores booleanos
Valores nulos
Valores BLOB (Binary Large Object)

Propiedades de los datos

Tipo de dato.
Dominio: conjunto de valores vlidos.

Opcionalidad: allow null o no.


Valor: expresin almacenada como dato en un
momento determinado.

Expresiones, Variables y Arreglos


Expresiones: valor de un dato.
Expresin absoluta: si su representacin es literal.
Expresin compuesta: si es necesario resolver un valor a partir de otros.

Variable: referencia lgica a una posicin fsica de RAM.


Longitud variable

(Reglas )

Siempre iniciar con letra

Debe componerse de letras y dgitos


No contener espacios en blanco ni caracteres especiales
Letras acentuados y signos regionales se consideran caracteres
especiales.

No mayor a 32 caracteres
Deben ser representativos del valor que almacenan.

Arreglos
Elementos
Subndices
Dimensiones

Los tipos de datos y su soporte en los lenguajes.


Tipo comn

VB.NET

C#

C++

Java

Booleano ( l )

Boolean

bool

bool

boolean

Byete ( b )

Byte

byte

short

byte

Cadena ( x )

String

String

string

String

Decimal ( d )

Decimal

decimal

double

long

Entero ( i )

Integer

int

int

int

Dominios
Dominio: conjunto de valores vlidos para un dato

Dominio de tipo: restricciones de valores por tipo de


dato.

Dominio de regla de negocio: restricciones


de valores originada por una regla especfica del negocio.

Dominio de relacin: restriccin de valores


originada por la relacin que el dato debe mantener con otros
datos. BD.

Representacin Abstracta
Tipos de datos base.
Byte
Booleano
Decimal
Entero

Fecha

Dominios. Ver pgina 67.


Conjuntos
Series
Exclusiones
Reglas de operacin
Posiciones

Operadores y reglas de
precedencia
LP05

Categoras de los operadores


Operadores aritmticos.
Operadores de asignacin.

Operadores comparativos.
Operadores lgicos.
Valores BLOB

Operadores Aritmticos
( + ) Suma
( - ) Resta.
( * ) Multiplicacin.

( / ) Divisin
( ^ ) Exponencial.
Result = Expresin1 Operador Expresin2

Operador de Asignacin

Variable = valor

Operadores Comparativos
Todos devulven True o False

( < ) Menor que.


( >= ) Mayor o igual que.
( > ) Mayor que.

(<= ) Menor o igual que.


( = ) Igual.
( <> ) Distinto de.

Operadores Lgicos
Explicar tablas de verdad
( Not ) Negacin.
( And ) Disyuncin.

( Or ) Conjuncin.

Tabla de Verdad
(NOT Negacin)

Tabla de Verdad
(OR Conjuncin)

Tabla de Verdad
(AND Disyuncin)

Reglas de Precedencia
Precedencia implcita
Precedencia implcita por categora: cuando hay operadores lgicos, aritmticos
y/o comparativos. Primero aritmticos, luego comparacin y luego lgicos.

Precedencia implcita por operador:


Aritmticos: Exponente, Negatividad, Multuplicacin y Divisin, Suma y Resta.
Lgicos: Not, And, Or.

Precedencia posicional
Cuando se tienen operadores de la misma precedencia implcita,
entonces se resuelven de izquiera a derecha.

Precedencia explcita
Uso de parntesis.

PRACTICA

{5 * [50 / 2 + 10 + 28 / (2 / 3 + -50 (1 + 44 * 9 25) 10) / 25]}

PRACTICA
Defina:
Tipo de dato, Dominio y Valor Inicial
Ejemplo:
(nombre, x(40)[{A-Z}, {a-z}, {BS}])
(suma, i[0-1000])
a) Monto de consumo no mayor a 100000 y no menor a 0.
b) Arreglo de das de la semana en letras
c) Edad de la persona
d) Arreglo de meses en valores numricos

Algoritmos para el
anlisis de casos
reales
LP06

Procedimiento de creacin de un programa


Hacerles grfico y explicar. Pg. 95.
Ciclo de desarrollo y actividades

Anlisis. (Qu se quiere?)

Analizar el caso real

Algoritmo

Diseo. (Cmo automatizar lo que quiere?)

Algoritmo orientado a datos

Miniespecificacin

Diagrama de Flujo

Pruebas de escritorio

Codificacin. (Cmo se escribe en lenguaje de programacin?)

Codificacin de algoritmos

Compilacin

Pruebas e implementacin. (Se cumple con el diseo?)

Pruebas e implementacin

Caractersticas de una interfaz


Sencilla de aprender.
Fomentar su uso intuitivo.
Apegarse a los estndares del ambiente.

Validar los dominios.


Tener secuencia lgica de los elementos.

Saber la cantidad mnima, suficiente y


necesaria para el procesamiento y
almacenamiento.

Algoritmos
Real Academia Espaola: Conjunto
ordenado y finito de operaciones que
permite hallar la solucin de un problema.
En programacin: conjunto ordenado y
finito de asignaciones, procesos, clculos
y decisiones que permiten a un programa
satisfacer una unidad de funcionalidad
dada.
Dar un ejemplo pequeo.

Algoritmos Cont.
Lista bien definida, ordenada y finita de operaciones

que permite hallar la solucin a un problema.


Dado un estado inicial y una entrada, a travs de pasos
sucesivos y bien definidos se llega a un estado final,
obteniendo una solucin.

Algoritmos Cont
Preciso: implica el orden de

realizacin de cada uno de los


pasos
Definido: si se sigue dos veces,
se obtiene el mismo resultado.
Finito: Tiene un nmero
determinado de pasos, implica
que tiene un fin,

Algoritmos Cont
En la vida cotidiana se emplean

algoritmos en multitud de ocasiones


para resolver diversos problemas.
Algunos ejemplos se encuentran en
los instructivos (manuales de
usuario), los cuales muestran
algoritmos para usar el aparato en
cuestin o inclusive en las
instrucciones que recibe un
trabajador por parte de su patrn

Medios de expresin de un
algoritmo

pseudocdigo o

miniespecificacin
diagrama de flujo
lenguaje de programacin

Ejemplo
PROBLEMA: Cambiar la

rueda pinchada de un
automvil teniendo un
gato mecnico en buen
estado, una rueda de
reemplazo y una llave
inglesa.

Ejemplo-ALGORITMO:
Inicio
PASO 1. Aflojar los tornillos de la rueda pinchada con la
llave inglesa.
PASO 2. Ubicar el gato mecnico en su sitio.
PASO 3. Levantar el gato hasta que la rueda pinchada
pueda girar libremente.
PASO 4. Quitar los tornillos y la rueda pinchada.
PASO 5. Poner rueda de repuesto y los tornillos.
PASO 6. Bajar el gato hasta que se pueda liberar.
PASO 7. Sacar el gato de su sitio.
PASO 8. Apretar los tornillos con la llave inglesa.
Fin

Ejemplo
PROBLEMA: Un estudiante

se encuentra en su casa
(durmiendo) y debe ir a la
universidad (a tomar la
clase de programacin!!),
qu debe hacer el
estudiante?

Ejemplo-ALGORITMO:
Inicio
PASO 1. Dormir
PASO 2. Mientras no suene el despertador y se levante vuelve al PASO 1.
PASO 3. Una vez despierto, mirar la hora.
PASO 4. Baarse.
PASO 5. Vestirse.
PASO 6. Si no tiene suficiente tiempo pasar al paso 8
PASO 7. Desayunar.
PASO 8. Cepillarse los dientes.
PASO 9. Despedirse de la mam y el pap
PASO 10. Si no tiene suficiente tiempo pasar al paso 12
PASO 11. Caminar a la parada y pase al paso 13
PASO 12. Correr a la parada.
PASO 13. Esperar el bus
PASO 14. Tomar el bus.
PASO 15. Bajarse al llegar a la universidad.
PASO 16. Entrar a la universidad.
Fin

PRACTICA-Receta Blanquetas de Ternera


Limpie bien los championes, lavelos
cuidadosamente y crtelos en lonjas. Cocinelos
1 minuto con una cuchara de zumo de limn, 2
de agua, 1 nuez de mantequilla, sal y pimienta.
Escurralos y conserve el lquido. Ponga la carne

cortada en trozos en una cazuela, cubrirla con


agua fra y aadir el lquido donde cocino los
championes. Cuando hierva aada las cebollas
picadas, zanahorias en rodajas, apio en tallos y
hierbas. Cocine hasta que la carne est tierna
(una hora), sazone con sal y pimienta. Por
ltimo, aada los championes y salpique con
perejil.

PRACTICA-Clculo de Pensin
Se necesita establecer un sistema de clculo
de pensin de una persona con las siguientes reglas:
1.

2.
3.

4.

Los hombres de 65 aos, o ms, reciben 50 dlares por


semana
Los casados reciben 25 dlares adicionales por semana
Las mujeres de 60 aos, o ms, reciben 35 dlares por
semana, sin una cuota extra por estar casadas.
Adems, cualquier hombre o mujer de 70 aos, o ms, recibe
20% ms por semana del total que le corresponda.

Algoritmos
LP07

Algoritmos

Importancia de algoritmos:
Definen actividades que se tienen que hacer para

alcanzar un objetivo.
Dan el orden de las actividades
Dan alcance general de las tareas.

Algoritmos

Operaciones a nivel dato

Mecanismos auxiliares.
Caractersticas de

miniespecificaciones.

Operaciones a nivel dato


Declaracin

Ejemplo:
(estudiante, cracter)
(notas(10), entero
(promedioPonderado, real)
(contador, entero)
(acumulaNotas, entero)

Operaciones a nivel dato


Cambio de estado (valor en el tiempo
operacin de asignacin)

Ejemplo:
contador = contador + 1
promedioPonderado =
acumulaNotas/10

Operaciones a nivel dato


Muestra de datos (mostrar en interfaz)

Ejemplo:
Imprimir Nota final de la materia:
Leer notas(contador)

Imprimir El promedio ponderado del


estudiante + estudiante + es:
+promedioPonderado

FIN TUTORIA I

You might also like