Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Santa Lucia
Fundamentos de Programación
Memoria
Memoria Primaria o RAM
Lenguajes de Programación
Programas
Sistemas
Unidades de medidas de almacenamiento
Unidad central de procesos o cpu
Es el cerebro de la computadora.
Procesa la Información
Controla la operación de la
computadora
Controla el procesamiento de
los datos
Si es uno es CPU (central
Process Unit)
Memoria Secundaria
Memorias sec. internas y externas
COMPUTADORA PERSONAL
Representación de la información
representación de texto
Código EBCDIC (Extended Binary Coded Decimal Inter Change Code). Este
código utiliza n = 8 bits de forma que se puede codificar hasta m = 28 = 256
símbolos diferentes.
Código ASCII (American Standard Code for Information Interchange).
El código ASCII básico utiliza 7 bits y permite representar 128
Código Unicode. Este código utiliza un patrón único de 16 bits para representar
cada símbolo, que permite 216 bits o sea hasta 65.536 patrones de bits
(símbolos) diferentes.
1. Sistemas numéricos 1/24
Sistemas de numeración y cambio de base
N n ·b
i
i
i
Ejemplos:
3278,5210 = 3 · 103 + 2 · 102 + 7 · 101 +
+ 8 · 100 + 5 · 10-1 + 2 · 10-2
175,3728 = 1· 82 + 7 · 81 + 5 · 80 + 3 · 8-1 +
+ 7 · 8-2 + 2 · 8-3 = 125,488281210
1. Sistemas numéricos 3/24
Sistemas de numeración y cambio de base 3/4
Conversión decimal - base b
Ejemplos:
2610 = 110102
0,187510 = 0,00112
26,187510 = 11010,00112
1. Sistemas numéricos 4/24
Sistemas de numeración y cambio de base 4/4
Rango de representación: Conjunto de valores representable. Con n cifras en la base b
podemos formar bn combinaciones distintas. [0..bn-1]
Operaciones básicas
A B A+B A B A*B
0 0 0 0 0 0
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 (1) 1 1 1
A B A–B A B A/B
0 0 0 0 0 --
0 1 1 (1) 0 1 0
1 0 1 1 0 --
1 1 0 1 1 1
1. Sistemas numéricos 6/24
Aritmética binaria 2/2
Ejemplos
Sumas y restas
Multiplicaciones
División
1. Sistemas numéricos 7/24
Sistemas de codificación y representación de números
Octal
b = 8 (octal) {0,1,2,3,4,5,6,7}
Correspondencia con el binario
8 = 23 Una cifra en octal
corresponde a 3 binarias
Ejemplos
10001101100.110102 = 2154.648
537.248 = 101011111.0101002
Conversión Decimal - Octal
760.3310 1370.25078
1. Sistemas numéricos 8/24
Sistemas de representación y codificación de números 2/18
Hexadecimal
b = 16 (hexadecimal)
{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,}
Correspondencia con el binario
16 = 24 Una cifra en hexadecimal
corresponde a 4 binarias
Hexadecimal Decimal Binario
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111
1. Sistemas numéricos 9/24
Sistemas de representación y codificación de números 3/18
Ejemplos
10010111011111.10111012 = 25DF.BAH
4373 16
117 273 16
53 113 17 16
5 1 1 1
1. Sistemas numéricos 12/24
Sistemas de representación y codificación de números 6/18
Código BCD - Binary Coded Decimal
Dígitos decimales codificados en binario
Decimal BCD natural BCD exceso 3 BCD Aiken BCD 5421
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1
2 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0
3 0 0 1 1 0 1 1 0 0 0 1 1 0 0 1 1
4 0 1 0 0 0 1 1 1 0 1 0 0 0 1 0 0
5 0 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0
6 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1
7 0 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0
8 1 0 0 0 1 0 1 1 1 1 1 0 1 0 1 1
9 1 0 0 1 1 1 0 0 1 1 1 1 1 1 0 0
Ejemplo
9 8 3 2 510 = 1001 1000 0011 0010 0101BCD-natural
n=4
Operación: 77 - 63
077C9
77 +
936C9
-63
(1)013
14 + 1
014C9
1.1 Lenguaje de Programación
cuaderno -_-
¿Que es un lenguaje de programación?
Bajo Nivel
Máquina (0,1) y ensamblador (ADD,MOV)
Mediano Nivel
C
Alto Nivel
C, C++,Java, C#, Visual Basic, etc.
Por su forma Ejecución
Lenguajes Compilados
Lenguajes Interpretados
Compilados (compiladores)
1) Modular
2) Descendente o Top Down
3) Estructurada
1.4 Proceso para el desarrollo de
programas y algoritmos
Proceso de desarrollo de programas
Diseño
Planteamiento Análisis
Pruebas
Desarrollo
Mantenimiento Implantación Codificación y
pruebas
Fases en la resolución de problemas
(Joyanes)
Codificación,
Diseño del
Análisis compilación y
algoritmo
ejecución
Mantenimiento
y Depuración Verificación
documentación
Metodología de la programación
Joyanes
Codificados
Comprobados
Depurados
1. Programar un módulo
2. Comprobar el módulo
3. Depurar el módulo (si es necesario)
4. Combinar el módulo con los anteriores.
Diseño del algoritmo
Pseudocódigo
Diagramasde Flujo
Diagramas Nassi-Schneiderman (NS)
Pseudocódigo. En esencia, el pseudocódigo
se puede definir como un
Es una herramienta de lenguaje de especificaciones
de algoritmos.
programación en la
que las instrucciones
se escriben en palabras Las palabras reservadas
similares al ingles o básicas se representan en
letras negritas minúsculas.
español, que facilitan
tanto la escritura como
la lectura de
programas.
Entrada/
Terminal
Salida Un diagrama de flujo (flowchart) es
una representación grafica de un
algoritmo.
Subprograma
Conectore
s
Figura 2.2. símbolos mas utilizados en
los diagramas de flujo. (Aguilar, 2008).
Software para diagramas de flujo
(ejemplos)
PSeInt
DFD
Raptor
Pseudocódigo en PSeInt
Pseudocódigo en PSeInt (subprogramas)
Diagrama de flujo en DFD
Ejemplo diagrama Nassi-Schneiderman
Simbología de Diagramas de Flujo
Pseudocódigo. Palabras clave
Alfanuméricos
caracteres:
‘A’ ‘c’ ‘$’ ‘@’ ‘!’ ‘Á’
Cadenas:
“Av. Del Charro” “Jorge Volpi” “688-48-00” “$9#7”
Lógicos
booleanos (verdadero, falso) (true,false)
Clave
Costo
Matrícula
colores
impuesto
Activo
Fecha
inscrito
Entero Real Carac- Cadena booleano Enumera- Arreglo Registro
ter do
Estatura
Sexo
Datos-
libro
CP
Dirección
Precio
Edo(1/0)
Días de la
semana
1.8 Identificadores, constantes,
variables
Identificadores (casillas de memoria accesibles por identificador)
Reglas para identificadores:
Iniciar con una letra
continuar con letras (a..Z )o números (0..9) o _
Identificador descriptivo, corto (longitud)
No espacios ni símbolos especiales (#,!,$...), palabras
reservadas del diseño o lenguaje
(if, while, inicio, begin, …), Ñ,ñ
Constantes
IVA
Nombres representativos de su función
0.16
%
() operador asociativo de mayor prioridad
^o
a) 3 + 6 * 14
b) 8 + 7 * 3 + 4 *6
c) -4 * 7 + 2 ^ 3 / 4 – 5
d) 2 * ( ( 8 div 5) + (4 * ( 5 – 3 ) ) % ( 8 + 5 – 2))
e) (-4 * 7 + 2 ** 3 / 4 – 5) + (8 + 7 * 3 + 4 *6 )
Ejercicio. Realice paso a paso las sig.
operaciones
a. 7+5–6
b. 9 + 7 * 8 - 36 / 5
c. 7 * 5 ** 3 / 4 div 3
d. 7 * 8 *(160 mod 3 ** 3) div 5 * 13 - 28
e. 15 / 2 * (7 + (68 – 15 * 33 + (45 **2/16) / 3 ) / 15 ) +
19
Operadores incremento/decremento
Repasando
++x
Incrementa x en 1 y luego usa el valor de x en la correspondiente expresión
x++
Usa el valor de x en la expresión en que se encuentra y después la incrementa en
1
--x
Decrementa x en 1 y luego usa el valor de x en la correspondiente expresión
x--
Usa el valor de x en la expresión en que se encuentra y después la decrementa
en 1
Operadores relacionales
(Cairo)
Operadores lógicos o booleanas
(George Boole)
Expresiones lógicas
Pueden contener:
Números, constantes, variables y
operadores relacionales. Ver ejemplos en el
pizarrón.
Operadores lógicos. Jerarquía (Cairo)
Nota. Cuando se usan los operadores de relación con los operadores lógicos,
falso es menor que verdadero.
Valores Expresión Resultado
A= 5 B=16 (A**2) > (B * 2)
Variable 0 CP 32800
Precio_neto 999.99 apellido ‘Andrade’
letra ´Z´ X (A = B) and (B<>C)
contador 0 IVA 0.16
radio 15.5 dia ´L´
sexo ´F´ dia ‘Lunes’
Valor (ap+1) % max
Ejemplos:
contador contador + 1
Acumulador acumulador + valor
valorN+2
MNT 3 +14+8
cocientedato div 5
Vlogica 8 < 4
rango_f (N<1) o (N>5)
rango_d (N>=1) o (N<=5)
Convierta en expresiones aritméticas
algorítmicas las sig. exp algebraicas
Funciones internas
Algoritmo <nombre>
Algorithm <name>
<definición de var>
<define var>
Inicio
Begin (or Start)
<instrucción(es) >
<instrucción(es) >
Fin
End
Declaración y definición de variables
Fin End
Asignación de valores a variables con = o
Algoritmo <nombre>
Definir
entero nombre_var1
carácter nombre_var2
flotante nombre_var3
cadena nombre_var4
Inicio
entero nombre_var1=0
carácter nombre_var2=‘ a‘
flotante nombre_var3 = 3.7
cadena nombre_var4 = “Hola”
<instrucción(es) >
Fin
Flujo Secuencial
Estructura Selectiva Simple
if <condición> then
si <condición> entonces
<instrucción(es)>
<instrucción(es)>
endif
finsi
V
condición
acción
Estructura Selectiva Doble
Switch <valor> do
Según <valor> Hacer
case <valor 1> : <instruc.>
caso <valor 1> : <instruc.>
case <valor 2> : <instruc.>
caso <valor 2> : <instruc.>
case <valor n> : <instruc.>
caso <valor n> : <instruc.>
default: <instruc.>
por defecto: <instruc.>
EndSwitch
FinSegún
Referencias