Professional Documents
Culture Documents
interna
1
Arquitectura de computadores -
externa
2
Que sin ayuda de los computadores no se
Permite resolver podran resolver en trminos prcticos de
problemas complejos.
tiempo, costo, y dems recursos.
Es una de las bases actuales en el
desarrollo de las ciencias, las tecnologas,
el conocimiento.
Facilita obtener mejores soluciones a
problemas ms complejos.
Software.
facilitan la utilizacin de un computador. Se le denomina,
tambin, la parte lgica de la mquina.
Categoras de software: Sistema Operativo, Entornos de
programacin, Automatizacin de oficina, redes, etc..
Hardware.
mecnica de los computadores.
Tambin puede incluir programacin.
Microelectrnica. Chips. Memorias RAM, ROM.
Facilita resolver
problemas de clculos.
3
Representacin de los datos en
la computadora
El nico cdigo que entiende la CPU son los bits.
Los bits son representados en circuitos
electrnicos que pueden estar en estado on (1) u
off (0)
Las instrucciones se mandan a la CPU en forma de
bytes, que son palabras de 8 bits
1 byte = 8 bits
1 kilobyte = 1 024 bytes
1 megabyte = 1 024 kilobytes = 1 048 576 bytes
4
Base 10:
Dgitos = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
1111 = 1*103 + 1*102 + 1*101 + 1*100
Base 2:
Dgitos = {0, 1}
1111 = 1*23 + 1*22 + 1*21 + 1*20 = 8 + 4 + 2 + 1 = 15
Cuntos valores puede representar un byte?
1 byte = 8 bits (Ej: 01100101)
Cada bit puede representar 2 valores (0 y 1)
Un byte puede representar 28 = 256 valores
5
Representacin de textos
7
Representacin de sonido
4 8 12 13 12 10 8
Discretizacin de la amplitud
Un byte para cada valor
8
Introduccin a la Programacin
El diseo de soluciones a la medida de nuestros problemas, requiere
como en otras disciplinas una metodologa que nos ensee de manera
gradual, la forma de llegar a estas soluciones.
A las soluciones creadas por computador se les conoce como
programas y no son ms que una serie de operaciones que realiza el
computador para llegar a un resultado, con un grupo de datos
especficos. Lo anterior nos lleva al razonamiento de que un programa
nos sirve para solucionar un problema especifico.
Computador: Es un dispositivo electrnico utilizado para procesar datos
y obtener resultados. Los datos y la informacin se pueden introducir en
el computador como entrada (input) y a continuacin se procesan para
producir una salida (output).
9
Programa: Es el conjunto de instrucciones escritas de algn lenguaje
de programacin y que ejecutadas secuencialmente resuelven un
problema especifico.
Lenguaje Maquina
Lenguaje de Bajo Nivel (Ensamblador)
Lenguaje de Alto Nivel
10
Qu es programar?
Idear y ordenar las actividades necesarias
para realizar un proyecto. (RAE).
11
Qu es un Lenguaje de Programacin?
Un lenguaje de programacin es
un lenguaje formal diseado para
expresar procesos que pueden ser
llevados a cabo por mquinas como
las computadoras.
12
Lenguajes de programacin
Lenguajes mquina
Lenguajes ensamblador
Lenguajes de alto nivel: C, C++,Visual Basic, Java,
Pascal, Prolog, LISP,
13
Lenguajes mquina
Programas son secuencias de instrucciones compuestas
de bytes:
16 29 156 9 82 75
Ventajas:
La CPU entiende estos programas
Desventajas:
Pensar en modo de 0s y 1s es muy difcil para nosotros
14
Lenguajes ensamblador
Instrucciones compuestas de palabras cortas y
nmeros:
LOD 15 6
LOD 16 8
ADD 15 16 17
JMP 10
Ventajas:
Ms fcil a entender
Desventajas:
Todava bastante abstracto
Necesita traducir el cdigo a lenguajes mquina
15
Lenguajes de alto nivel
Diseados para ser ms parecidos a lenguaje natural
Ventajas:
Mucho ms fcil de dar instrucciones
Desventajas:
Ms complicado convertir en lenguajes mquina
16
Lenguajes de programacin:
Por qu hay tantos?
Cmo nacen, sobreviven y caducan?
1. Diferentes dominios de aplicacin:
Programacin de sistemas rapidez y acceso de
bajo nivel: C
Inteligencia artificial computacin simblica: LISP,
Prolog
Programacin cientfica frmulas matemticas:
Fortran
Negocios transacciones: COBOL
Uso especfico: SQL (bases de datos), Perl
(manipulacin de textos), JavaScript (pginas web),
Pascal (formacin)
17
1. Diferentes necesidades:
Fiabilidad: Ada
Escabilidad, paradigma orientado a objeto: C
C++
Portabilidad: Java
2. Evolucin:
Mejora del hardware
Mejor comprensin de como reforzar criterios de
legibilidad, facilidad de aprender y escribir,
fiabilidad
3. Importancia de la estandardizacin
4. Nmero de usuarios!
18
Traductores del Lenguaje
A) Intrpretes; Toma un
programa fuente lo traduce
e inmediatamente lo ejecuta.
Traduccin y
Programa fuente Intrprete ejecucin en lnea
Traductores del Lenguaje
(cont.)
B) Compiladores; traduce un
programa fuente a cdigo objeto.
Programa fuente Programa Programa ejecutable
Objeto
Compilador Montador
(Compiler) (Linker)
Traductores de lenguaje:
compiladores
OPCION 1 OPCION 2
PROGRAMA FUENTE
Fase de compilacin
Fase de ejecucin
EJECUCION
21
Componentes de un lenguaje
22
Errores de programacin
Modificar o crear un
archivo .java
Compilar
errores de compilacin (sintaxis) Editar para
corregir errores
no hay errores
Ejecutar programa
Depurar
errores de ejecucin (semntica) (debugging)
23
Ms usados
C PHP
C++ Python
C# Objective-C
Java Ruby
JavaScript Visual Basic
Perl
24
Escribir el cdigo fuente
El cdigo fuente de un programa informtico es un
conjunto de lneas de texto que son las instrucciones que
debe seguir la computadora para ejecutar dicho programa.
EDITOR DE TEXTO
IDE (Entorno de Desarrollo Integrado)
25
La palabra algoritmo se deriva
de la traduccin al latn de la
palabra rabe alkhowarizmi,
nombre de un matemtico y
astrnomo rabe que escribi un
tratado sobre manipulacin de
nmeros y ecuaciones en el
siglo IX.
26
Caractersticas de los
algoritmos
Preciso, indicar el orden de cada
paso.
Definido, el mismo resultado se
obtendr al ejecutar el algoritmo
n ocasiones.
Finito, deber terminar en algn
momento.
28
ALGORITMOS
Solucin de problemas
Qu informacin me solicitan?
Qu formato debe tener esta informacin?
Identificar datos disponibles
Otro aspecto muy importante en la etapa de
anlisis del problema consiste en determinar cul
es la informacin disponible. Debe preguntarse:
Qu informacin es importante?
Qu informacin no es relevante?
Cules son los datos de entrada? (conocidos)
Cul es la incgnita?
Qu informacin me falta para resolver el
problema? (datos desconocidos)
Puedo agrupar los datos en categoras?
Determinar las restricciones
En este punto se deben exponer las necesidades
y restricciones (no una propuesta de solucin). El
estudiante debe preguntarse:
Qu procesos necesito?
Qu frmulas debo emplear?
Cmo afectan las condiciones a los
procesos?
Qu debo hacer?
Cul es el orden de lo que debo hacer?
Ejemplo:
De acuerdo con la metodologa descrita,
analizar el problema de hallar el rea de un
tringulo rectngulo cuya Base mide 3 cm, la
Altura 4 cm y la Hipotenusa 5 cm.
Respuesta:
Formular el problema:Ya se encuentra claramente planteado.
Resultados esperados: El rea de un tringulo rectngulo.
Datos disponibles: Base, Altura, Hipotenusa, tipo de tringulo.
La incgnita es el rea y todos los valores son constantes. El
valor de la hipotenusa se puede omitir. Debe preguntarse si
sus conocimientos actuales de matemticas le permiten resolver
este problema; de no ser as, debe plantear una estrategia para
obtener los conocimientos requeridos.
Determinar las restricciones: Utilizar las medidas dadas.
Procesos necesarios: Guardar en dos variables los valores de
Base y Altura; Guardar en una constante el divisor 2; aplicar
la frmula rea=base*altura/2; comunicar el resultado (rea).
Actividad
Basndose en la metodologa expuesta, hacer un anlisis
detallado (Formular el problema, Resultados
esperados, Datos disponibles, Determinar las
restricciones y Procesos necesarios) del siguiente
problema:
51
Ventajas del Diagrama de flujo
52
Simbologa
53
Smbolo Descripcin
Inicio / Terminacin. Este smbolo se utiliza para
sealar el comienzo as como el final de un diagrama.
Tradicionalmente se colocan las palabras INICIO
FIN dentro de la figura para hacerlo ms explcito.
Es el nico smbolo que solamente tiene una conexin
(flecha) ya sea de salida, en el de inicio, o de entrada, para
el de fin.
Smbolo Descripcin
Entrada de datos. En este smbolo se indican los
valores inciales que deber recibir el proceso. Esto se
hace asignndoles letras o nombres de variables para cada
uno de los valores y anotando estas letras en el interior
de la figura.
Smbolo Descripcin
Proceso de datos. Este smbolo lo utilizaremos para
sealar operaciones matemticas, aritmticas o procesos
especficos que se realicen con nuestros datos.
La manera de anotar dichos procesos, puede ser mediante
una descripcin breve de la operacin o mediante una
asignacin de dicha operacin hacia una variable como
54 por ejemplo: R A + B
Smbolo Descripcin
Decisin. Este smbolo nos representa una disyuntiva lgica
o decisin. En su interior se anota una instruccin o pregunta
que pueda ser evaluada como cierta o falsa y que determine
el flujo del programa.
Este smbolo es el nico que puede contener dos salidas y en
cada una de las salidas se suele poner un rtulo de si/no o
cierto/falso indicando con esto cual de ellas se tomar
segn el resultado de la evaluacin de la funcin. Es una
buena prctica de diagramacin utilizar siempre el mismo
lado para los positivos siempre que esto sea posible.
Smbolo Descripcin
Desplegado de informacin. Este smbolo se utiliza para
mostrar un resultado, el cual puede representar la solucin al
problema que se pretende resolver y que fue conseguida a
travs del resto del diagrama. Dentro de su interior se
anotar la variable con el resultado final o el mensaje que
represente el resultado del algoritmo. Generalmente
veremos este smbolo muy cerca del final del proceso y
precedido por el smbolo de terminacin.
55
Smbolo Descripcin
Ciclo for. Su funcin es ejecutar un bloque de objetos
mientras que la variable contadora no alcance el lmite
establecido por el valor final. El contador es siempre una
variable de tipo de dato Real. Contiene adems un valor
inicial que ser asignado al contador al iniciar la ejecucin del
ciclo, un valor final y un valor de incremento. Si el contador
excede el valor final, la ejecucin continuar a partir del
objeto que sigue al Cierre. En caso contrario, se ejecutar el
cuerpo del ciclo y el contador ser incrementado en el valor
indicado por el incremento.
Smbolo Descripcin
Ciclo mientras (while). El objeto Ciclo Mientras tiene
como funcin el ejecutar un bloque de objetos mientras que
una condicin sea verdadera. La condicin debe ser siempre
una expresin que al ser evaluada de como resultado un
valor de tipo de dato lgico. Si al evaluar la condicin se
obtiene el valor .F. la ejecucin del algoritmo continuar a
partir del objeto que sigue al cierre.
56
57
Reglas para la elaboracin de diagramas de flujo
PSEUDOCDIGO
Paso 1: Inicio
Paso 2:Asignar el nmero 2 a la constante "Div"
Paso 3: Conocer la base del tringulo y guardarla en la variable
"Base"
Paso 4: Conocer la altura del tringulo y guardarla en la variable
"Altura"
Paso 5: Guardar en la variable "Area" el valor de multiplicar "Base
por "Altura"
Paso 6: Guardar en la variable "Area" el valor de dividir "Area
entre "Div"
Paso 7: Reportar el valor de la variable "Area
Paso 8: Final
Ejemplo:
Actividad:
Disear diagramas de flujo y pseudocdigo para los
siguientes problemas:
1. Hallar el rea de un cuadrado cuyo lado mide 5 cm.
2. Hallar uno de los lados de un rectngulo cuya rea es de 15
cm2 y uno de sus lados mide 3 cm.
3. Hallar el rea y el permetro de un crculo cuyo radio mide 2
cm.
4. Hallar el rea de un pentgono regular de 6 cm de lado y con
4 cm de apotema.