Fundamentos Semana 02 - 1 Programacion PDF
Fundamentos Semana 02 - 1 Programacion PDF
Asignatura: Fundamentos de
Programación
Mg. Jaime Ortíz Fernández
e-mail: d.jortiz@upla.edu.pe
HUANCAYO - 2022
UNIDAD I CONCEPTOS FUNDAMENTALES E
INTRODUCCIÓN A LA
PROGRAMACIÓN
TEMA: Programación
Input Output
COMPUTADORA
Datos de Datos de
entrada Proceso salida
ENTRADA SALIDA
INSTRUCCIONES
Identificadores
• Son palabras o textos que se utilizan para nombrar los diferentes
elementos del lenguaje de programación (programas, clases,
funciones, variables, constantes, tipos compuestos, archivos, etc.).
• Los lenguajes de programación utilizan una serie de identificadores o
palabras para asignar a diferentes elementos del propio lenguaje (como
las instrucciones, los operadores, las constantes predefinidas,...) son las
llamadas palabras reservadas del lenguaje. Estas palabras reservadas
no se pueden usar como identificadores.
• Cada lenguaje tiene sus propias reglas que definen como pueden estar
construidos los identificadores. Cuando un identificador se asocia a una
entidad (elemento) concreta, entonces es el "nombre" de dicha entidad,
y en adelante la representa en el programa.
Los identificadores deben seguir unas reglas de sintaxis, establecidas por los
propios lenguajes de programación.
Suelen ser éstas:
1.No pueden existir dos identificadores que se llamen igual. De aquí se puede
deducir que las palabras reservadas del lenguaje no pueden ser usadas como
identificadores creados por el programador.
2.Para nombrarlos podemos usar letras, dígitos numéricos e incluso algunos
caracteres especiales (como subrayado bajo _ ), pero el primero no podrá ser
un dígito numérico.
3.Dependiendo del lenguaje, se distinguirá o no entre mayúsculas y minúsculas.
Es decir, que puede haber lenguajes en los que no haya distinción entre
mayúsculas y minúsculas, y por tanto identificadores como "altura" y "Altura"
serán en realidad el mismo, en cambio, habrá lenguajes en los que sean dos
identificadores distintos.
en PSeInt es igual A con a
En Java no es igual A con a
EJECUCION DE UN PROGRAMA
1 1
2 2
3 3
... ...
N N
Algoritmo(Nombre_algoritmo)
Declaracion_de_variables
INICIO
INSTRUCCIÓN_1
INSTRUCCIÓN_2
INSTRUCCIÓN_3
. . .
INSTRUCCIÓN_N
FIN_INICIO
Fin(Nombre_algoritmo)
ANATOMIA DE UN PROGRAMA
Algoritmo(Nombre_algoritmo)
Declaracion_de_variables Operador de asignación ( , = )
INICIO
INSTRUCCIÓN_1
INSTRUCCIÓN_2 variable variable, constante, expresión
INSTRUCCIÓN_3
. . .
INSTRUCCIÓN_N
FIN_INICIO
Fin(Nombre_algoritmo)
Datos
Entero Real
TIPOS DE DATOS PRIMITIVOS
Variables
Constantes
Operadores
Función raíz
cuadrada
EXPRESIONES ARITMETICAS
Las expresiones aritméticas son análogas a las fórmulas matemáticas. Las
variables y constantes son numéricas (real o entera) y las operaciones son
las aritméticas.
Operador Operación
+ Suma
- Resta
* Multiplicación
/ División
^ Potenciación
div División entera
mod, % Módulo (residuo)
Sistemas de Representación
Dato: conjuntos de símbolos utilizados para expresar o representar
un valor numérico, palabra, concepto, hecho, idea...
Texto (caracteres)
¿cómo se manejan todos estos tipos de
Número (3,548) datos?
Imagen
¿se necesitan otras computadoras para
Audio procesar los distintos tipos de datos?
Vídeo
unidades unidades
de de
entrada salida
Sistemas de representación
Las computadoras representan todos sus
datos en sistema de numeración binario.
Los datos viajan, se procesan y se
almacenan en las computadoras a través de
impulsos eléctricos. Estos impulsos
eléctricos se representan por dos estados:
encendido (1) o apagado (0)
Sistemas de representación
Las computadoras almacenan datos e instrucciones en memoria.
Para ello utilizan el sistema binario.
Razones:
El dispositivo se encuentra en uno de dos estados posibles (0
ó 1).
Identificar el estado es más fácil si sólo hay dos estados.
Ejemplo: Lámpara encendida ó apagada.
Si se tiene en cambio:
Lámpara con 10 intensidades distintas encendida
Con este enunciado no se puede definir si está encendida con cual
de las 10 intensidades se encuentra.
Sistemas de representación
Unidades de medida para almacenamiento de
datos
Código ASCII
Código estadounidense para el intercambio de información
• Utiliza grupos de 7 bits para cada carácter=> permite
128 caracteres (2⁷)
• El código ASCII extendido usa 8 bits por carácter =>
permite 256 caracteres (2⁸)
ASCII Extendido
Unicode
SI (NCE+NPL+NT)/2 >=5
SI (NCE>=4 & NPL>=5) (NCE>=5 & NPL>=4)
Aprobado
SINO
Suspenso
SINO
Suspenso
o Los operadores relacionales y de comparación ¡¡¡tienen
resultado BOOLEANO!!!
o Cualquier dato nulo es falso, en otro caso es verdadero
Operadores lógicos
Representación de números
• Números reales
o Estándar IEEE 754
+/- Mantisa Exponente
o En 32 ó en 64 bits
===============================l================================
“-” infinito 0 “+” infinito
Por ejemplo, si nuestra computadora digital maneja 2 dígitos y como trabaja con
números de precisión finita y fija, podríamos trabajar con 100 combinaciones ( en el
sistema decimal), esto porque nuestra máquina guarda los datos en la memoria con dos
dígitos.
Conjunto de números de dos dígitos:
cada № se representa con un conjunto de dos dígitos
50 00 49
n
==========l====================l====================l==============
desbordamiento desbordamiento
negativo positivo
Punto Flotante
Si trabajaríamos con notación científica de 2 dígitos de mantisa y dos dígitos de
exponente, cada № se representa con dos conjunto de dos dígitos, uno para la mantisa
y otro para el exponente es como utilizar dos lugares de memoria, en donde en cada
lugar de memoria se guardan dos dígitos.
Con esta forma de anotar tenemos otra diferencia más con la recta de los números
reales. Además de los desbordamiento, existe subdesbordamiento al rededor del cero :
- 99.10+99 -01.10-99 0 +01.10-99 +99.10+99
========l=====================l========l=======l====================l=========
Para poder trabajar con un amplio rango se escriben los números en punto flotante y
existen varias convenciones, veremos convención en exceso 127 o norma N°754 del
IEEE .
Punto Flotante
Exceso 127 ( NORMA №754 DE PUNTO FLOTANTE DEL IEEE)
№ = ± m 10 ±e
+127
Polarizado Normalizado
137 --- 1000 1001 --
C = 127 ± e ; 1<= m <10)b m =1, b1b2 +10
b3....bn
127 -- 0111 1111 ----
0
PRECISIÓN SIMPLE (32 BITS)
Signo Exponente Mantisa
Polarizado (“C”) Normalizada 117 -- 0111 0101 -- -
10
S CCC CCCC C b1b2 . ..b7 b8. …. .b15 b16.. .
b23
1 byte 1 byte 1 byte 1 byte -
127
0 0000 0000
Punto Flotante
Exceso 127
Sentencia compuesta o
Bloque de instrucciones
Programación Estructurada
Es el paradigma de programación donde los programas se
desarrollan usando las estructuras de control:
1. Estructura secuencial
2. Estructura Alternativa
Alternativa Simple
Alternativa Doble
Alternativa Múltiple
3. Estructura repetitiva
Mientras (while)
Repetir (do)
Para (for)
Estructura Alternativa
1. Simple 2. Doble 1. if (expresión) Acción;
La sentencia if funciona de la siguiente
manera: se evalúa la expresión entre
paréntesis; si expresión es verdadera se
ejecuta Acción, en caso contrario no se
ejecuta nada y sigue la ejecución con la
siguiente sentencia. Acción es una sentencia
simple o compuesta
2. Un segundo formato es if - else, cuyo formato
tiene la siguiente sintaxis:
if (expresión) acción 1; En este caso si expresión
es verdadera se ejecuta acción 1
else acción 2; de lo contrario se ejecuta acción 2
3. Múltiple
3. Un tercer formato es switch – case
switch es una sentencia para elegir una de
entre múltiples opciones basada en el valor
de una variable o de una expresión simple
denominada expresión de control o selector;
el valor de dicha expresión puede ser de tipo
int o char pero no de tipo double.
Programación Orientada a Objetos
• La programación orientada a objetos, intenta simular el mundo real a traves
del significado de objetos que contiene caracteristicas y funciones.
• Los lenguajes orientados a objetos se clasifican como lenguajes de quinta
generacion.
• Como su mismo nombre indica, la programación orientada a objetos se
basa en la idea de un objeto, que es una combinacion de variables locales y
procedimientos llamados metodos que juntos conforman una entidad de
programación.
• En la metodología orientada a objetos la esencia es el objeto. Un objeto en
el mundo real viene a representar cualquier cosa: un plumón, una caja, una
silla, un automóvil, etc.
• Por esta razón y en base a nuestra experiencia de la vida diaria podemos
identificar grupos o clases de objetos
Programación Orientada a Objetos
• La programación Orientada (POO) a objetos se define como un
paradigma de programación, es decir, un modelo o un estilo de
programación o una manera de programar específica, donde se
organiza el código en unidades denominadas clases, de las cuales
se crean objetos que se relacionan entre sí para conseguir los
objetivos de las aplicaciones.
• La programación Orientada a Objetos (POO) es una forma especial
de programar, más cercana a como expresaríamos las cosas en la
vida real que otros tipos o paradigmas de programación.
Clases, objetos e instancias
• Un programador diseña un programa de software organizando
piezas de información y comportamientos relacionados en una
plantilla llamada clase.
• Luego, se crean objetos individuales (instancias) a partir de la
plantilla de clase.
• ¿Cómo se crean los programas orientados a objetos? Un POO
consistiría en hacer clases y crear objetos a partir de estas clases.
Las clases forman el modelo o plantilla a partir del que se
estructuran los datos y los comportamientos
• Una clase tiene un nombre, tiene datos o atributos y tiene
comportamientos o métodos.
• Las clases generan objetos cuando son creados, los objetos se
instancian cuando se les asigna valores a sus atributos
Programación Procedimental
Procedimiento 1
D
A
Procedimiento 2 T
O
S
Procedimiento 3
50
Programación Orientada a Objetos
Paradigma de programación
DATOS DATOS
que se basa en modelar el
Métodos Métodos
sistema como clases e
instancias de las clases.
DATOS DATOS
imperativo
La programación orientada a objetos (POO) expresa un programa
como un conjunto de objetos que intercambian información
entre si para realizar algo específico
POO
con base a
Relevantes y
Entidades tangibles en el
problema
• Marca
• Año
• Color
• Placa, etc.
Métodos
• Representan todas aquellas acciones (comportamiento)
que se pueden realizar sobre un objeto de cierta clase