Sei sulla pagina 1di 47

Fundamentos de Programacin A

Introduccin a la Programacin
Ing. Vctor Manuel Huertas Honores

Qu es un dato?
Informacin en bruto, sin ningn significado
Dado un enunciado, evento o accin, los datos
Permiten representar sus actores o participantes
Analizndolos, se podr obtener resultados deseados

Analicemos el siguiente hecho:


El estudiante Juan Paz de edad 23 aos, tiene promedio 18.3 en sus
calificaciones

Podemos tomar los siguientes datos


Nombre: Juan Paz

-> Conjunto de Caracteres

Edad: 23

-> entero

Promedio: 18,3

-> real

Como representar los datos


Los seres humanos:
Usamos lenguaje natural o smbolos
Ejemplo:
Para representar nmeros, usamos el sistema decimal
Para representar palabras, usamos el abecedario

La computadora:
Usa conjuntos de 1s y 0s
El dato mas pequeo en el computador es
Un 1 o un 0 -> bit

El conjunto de 8 bits -> 1 byte

Como representar los datos


Los datos se clasifican en TIPOS
Son los diferentes dominios existentes. Ejemplo:
Edad, Ao de Nacimiento, Numero de multas
Tienen dominio numrico

Nombre, Direccin, Num. Cedula,


Caen en el dominio de la informacin tipo texto

Y las operaciones permitidas para dicho dominio

Tipos de Datos Bsicos


NOMBRE

CONJUNTO DE VALORES

OPERACIONES

Enteros

Negativos y positivos sin decimal Sumar, restar, dividir,


multiplicar, residuo

Reales

Negativos y positivos, con


decimal

Sumar, restar, dividir, multiplicar

Lgicos

Verdadero o Falso(1 o 0)

And, Or, Not

Caracteres

Letras, nmeros, especiales,


juntos forman una cadena

Sumar carcter + entero restar,


multiplicar por entero

En la computadora
Solo vienen integrados los tipos de datos bsicos
En la computadora
1000
Cada byte es un casillero y tiene una direccin en 1001
memoria
1002
Los datos (nmeros y letras) se almacena en estos
1003
casilleros
Cuantas casilleros ocupa un dato?
Depende de su tipo y del hardware de la computadora
Un entero puede ocupar casillas de hasta 4 bytes
Un doble siempre ocupara mas, por su mayor precisin
PERO, un carcter SIEMPRE ocupara casillas de 1 byte

Tipos de datos
Simples

Tipos de Datos
Estructurados

Arrays, cadenas, registros,


listas, rboles

Entero Real
Lgico Carcter
Puntero
Enumerado
Subrango

DATO, TIPOS DE DATOS, CONSTANTES, VARIABLES


Dato: Un dato es la expresin general que describe los objetos con
los cuales opera una computadora. Ej: Cedula, Nombre. Son datos
de un usuario que la computadora puede almacenar.

Tipo de dato: El tipo de un dato es el conjunto de valores que


se puede tomar durante la ejecucin del programa. Ej:
Cedula: 1128267099 Nombre: William
Los tipos de datos son los siguientes:
Numricos:
Enteros: 1, 2, -3. Ej: Telfono: 2351425
Reales: 2,5 -5,0 Ej: Nota Calificacin: 3,5

DATO, TIPOS DE DATOS, CONSTANTES, VARIABLES

Lgicos o booleanos: Es aquel dato que solo puede


tomar uno de dos valores false (falso) o true
(verdadero).
Carcter y cadena: Un dato tipo carcter contiene un
solo carcter y un dato tipo cadena es una sucesin de
caracteres.
Ej: Carcter: 'a' , x'
Ej: Cadena: "ax

Tipos de datos
Enumerado: este tipo de dato requiere que el
programador defina el rango de valores que puede
tomar

Subrango: este tipo de dato se define a partir del


tipo de dato entero, carcter o enumerado, con solo
decir que el tipo de dato definido podr tomar un
conjunto de valores limitado del original

Puntero: es aquel cuyo valor es la direccin en


memoria de otro dato

DATO, TIPOS DE DATOS, CONSTANTES, VARIABLES

Constante: Una constante es un dato cuyo valor no


puede cambiar durante la ejecucin del programa.
Recibe un valor en el momento de la compilacin y este
permanece inalterado durante todo el programa.
Ejemplo:
MIN = 50
MAX = 100
N = MAX * MIN

DATO, TIPOS DE DATOS, CONSTANTES, VARIABLES

Variable: Una variable es un espacio en memoria donde se almacena un


dato, y su valor puede cambiar durante la ejecucin de un
programa.
Debe ser declarada antes de usarse !!!!!!!!
Toda variable pertenece a un tipo de dato concreto. En la
declaracin de una variable se debe indicar el tipo al que
pertenece.
Una variable se debe inicializar en algn valor. Esto se refiere a
darle un valor inicial.

var suma=0; //Inicializo la variable en 0


suma=10;
// cambio el valor a 10

Variables, constantes y expresiones


Expresin: es una combinacin de variables,
constantes, valores constantes, operadores y funciones
especiales que, en cada momento, al evaluarla tiene un
valor concreto
Las expresiones ms representativas son las numricas
y las lgicas.

Expresiones
Las expresiones numricas tienen como resultado
datos numricos
Los operadores: ^, Signo: (+,-), *,/, +, -

Orden de precedencia de mayor a


menor

Las operaciones entre parntesis se evalan primero


Las operaciones aritmticas se evalan segn el orden
de prioridad

Expresiones
Las expresiones lgicas son las que ofrecen como
resultado despus de su operacin un valor lgico.
Los operadores lgicos que involucran son: AND,
OR,NOT y los relacionales: <, >, ==, <=, >=, ~=
NOT, AND, OR, operadores relacionales
Orden de precedencia

Expresiones
El resultado de una expresin con operadores relacionales es verdadero o falso.
Operadores Relacionales
Operador

Operacin

Ejemplo

Resultado

==

Igual que

lalo == lola

Falso

< >

Diferente a

x < > y

Verdadero

<

Menor que

14 < 25

Verdadero

>

Mayor que

35 > 10

Verdadero

< =

Menor o igual que

5 <= 6

Verdadero

>=

Mayor o igual que

15 >= 7

Verdadero

Expresiones
Menos unario (-)
Modulo de la divisin entera (mod)
Cociente de la divisin entera (div)
Considerar que un resultado real y que los operadores mod y
div solo operan con nmero enteros
Alfanumricos: Los operadores son de tipo alfanumricos y
producen resultados tambin de dicho tipo.
Se construyen mediante el operador de concatenacin,
representado por el operador ampersand (&)

Expresiones
Operadores Aritmticos
Operador Aritmtico

Operacin

Ejemplo

Resultado

**

Potencia

3**2

Multiplicacin

5.25*3

15.75

Divisin

17/4

4.25

Suma

58+79

137

Resta

25.96 -11.25

14.71

Mod

Mdulo (residuo)

21 mod 2

div

Divisin entera

19/3

Expresiones
Operadores Lgicos

Operador

Jerarqua

Expresin lgica

No (~)

(Mayor)

No P

Y (^)
o

(Menor)

Jerarqua de todos los


Operadores
Operadores

Jerarqua

P y Q

( )

(Mayor)

P o Q

**
*, /, div, mod

==, < >, <, >, < =,


> =

Tabla de verdad de los Operadores


Lgicos
P

P ^ Q

P o Q

~ P

~ Q

No ( ~ )

y ( ^ )

(Menor)

Ejercicios

Cul es el resultado de las siguientes expresiones?


-4 * 7+ 2 ^ 3/4- 5
12+ 3 * 7+ 5 * 4
(33+ 3 * 4)/ 5
7 mod 5(mod 3)
B^2- 4 * A * C
(X ^ 2 + Y ^ 2) ^(1/2)
(7* (10 5) mod 3) * 4+ 9
((-14 / 2) raiz 64 + 100)/ 2*2
((12 + 30) div 2) / (8 (5 *1))
14 div 3 + 3+(3*3/3)+5/ 3
Convertir las expresiones algebraicas a expresiones algortmicas
5 . (x + 4)
A+4
Z+b
Q + R S3
C2 + d2

ALGORITMOS
Qu es Algoritmo?
Se deriva de la traduccin al latn de la palabra rabe
Alkhowarismi, nombre de un matemtico y astrnomo
rabe que escribi un tratado sobre manipulacin de
nmeros y ecuaciones en el siglo IX.
Un algoritmo es un mtodo para resolver un
problema mediante una serie de pasos precisos,
definidos y finitos.

CARACTERISTICAS DE LOS ALGORITMOS


Preciso, tiene que indicar el orden de realizacin en cada
paso.
Definido, es decir, si el algoritmo se prueba dos veces, en
estas dos pruebas, se debe obtener el mismo resultado.
Finito, es decir, que el algoritmo tiene que tener un nmero
determinado de pasos.
Correcto: Sin errores
Debe tener al menos una salida
Su solucin debe ser concreta
Debe ser sencillo y legible
Eficiente y efectivo
Se ha de desarrollar en el menor tiempo posible

Elementos de un algoritmo
Un algoritmo consta de datos y de sentencias
Datos

Se almacenan

Variables y constantes

Son involucrados
En expresiones

Las sentencias describen las acciones que pueden ser ejecutadas, en


general realizan clculos, entradas/salidas y control de flujo del algoritmo

Representacin de algoritmos

Descripcin Narrada
Pseudocdigo.
Diagramas de flujo.
Diagrama N - S

Representacin de los algoritmos


Sentencias: Describen lo que debe hacer el
algoritmo. Varios tipos:

Asignacin: almacena un valor en una


variable o constante. Se representa con el
operador :
Variable

Identificador
declarado
anteriormente

Expresin

Deben ser del


mismo tipo

Una variable,
constante,
constante literal o
frmula a evaluar.

Descripcin Narrada
Este algoritmo es caracterizado porque
sigue un proceso de ejecucin comn y
lgico, describiendo textualmente paso a
paso cada una de las actividades a realizar
dentro de una actividad determinada.
EJEMPLOS!!!

Ejemplos de la Descripcin Narrada

Calentar el agua en el microondas.


Ver una pelcula en el cine.
Hacer un depsito al banco.
Ir a la playa.
Imprimir las tres primeras diapositivas de un
documento en Power Point.
Realizar una llamada telefnica desde un locutorio
Cambiar la llanta de un vehculo.

Realizar el proceso de votacin (sufragio).

Ejemplos de la Descripcin Narrada

Ingresar a la universidad por examen de admisin.


Registrar Matricula en la USS.
Grabar un archivo de texto en un CD.
Instalar Internet en casa.
Hacer un viaje a Lima por avin.
Formatear el disco duro de la Pc.
Instalar un congelador en la Pc.
Crear un carpeta en el disco D:/ de tu Pc.

Pseudocdigo
Pseudo = falso. El pseudo cdigo no es realmente
un cdigo sino una imitacin y una versin
abreviada de instrucciones reales para las
computadoras.
Utiliza un pseudolenguaje muy parecido a nuestro
idioma, pero que respeta las directrices y los
elementos de los lenguajes de programacin. Se
concibi para superar las dos principales
desventajas de los flujogramas: lento de crear y
difcil de modificar sin un nuevo redibujo.

La serie de pasos, procedimientos o acciones que nos permiten


alcanzar un resultado o resolver un problema a travs de
algoritmos, los desarrollamos por medio de pseudocdigo.
El pseudocdigo describe un algoritmo utilizando una mezcla de
frases en lenguaje comn, instrucciones de programacin y
palabras clave que definen las estructuras bsicas.
El objetivo del pseudocdigo es permitir que el programador se
centre en los aspectos lgicos de la solucin, evitando las reglas de
sintaxis de los lenguajes de programacin.
No siendo el pseudocdigo un lenguaje formal, los pseudocdigos
varan de un programador a otro, es decir, no hay un pseudocdigo
estndar.

FUNDAMENTOS DE Pseudocodigo
Un algoritmo debe describir tres partes:

Entrada(s) : elementos o condiciones


iniciales necesarias para resolver el
problema.
Proceso : elaboracin del procedimiento.
Salida(s): Resultados que se desean
obtener

Fundamento de los Pseudocdigos


1.

Encabezado.- todo algoritmo debe tener un encabezado como


identificacin, el cual debe empezar con la palabra Algoritmo
seguida por una descripcin del problema a resolver.

2.

Inicio.- todo algoritmo debe empezar con la etiqueta 1, que marca


el inicio del mismo.

3.

Declaraciones.- despus de marcar el inicio se debe hacer las


declaraciones que se necesiten como: variables, constantes, tipos
de datos, etc.

4.

Leer, calcular e imprimir.- los siguientes pasos pueden consistir en


acciones tales como: leer datos, calcular algunas expresiones
aritmticas e imprimir datos tantas veces como se requiera y en el
orden apropiado para resolver el problema en cuestin.

5.

Fin del algoritmo.- el ltimo paso del algoritmo consiste en incluir


la indicacin fin.

Ejemplo de Pseudocdigo
Realizar la suma de dos nmeros:

Inicio

//Declaracin de variables

entero: nro1, nro2, suma

//Lectura de Datos
Escribir(Ingresar dos valores)
Leer (nro1,nro2)
//Calcular suma
suma < -- nro1 + nro2
Mostrar (La suma de ambos nmeros es:, suma)
Fin

Ejemplo 02:
Calcular el rea de un rectngulo, donde la base y la
altura sern ingresados:
Inicio
//Definir variables
Entero: base, altura, rea
//Lectura de datos
Leer (base, altura)
//Proceso: clculo del rea
rea < -- base*altura
//Salida de resultados
Escribir (El rea del rectangulo es,rea)
Fin

Ejemplo 03:
Realizar el Pseudocdigo que me permita determinar la suma de las cifras de un nmero
entero positivo de 3 cifras.
Ejm: El numero 257: la suma de sus cifras es:
2 + 5 + 7 = 14
Inicio
//Definir variables
entero: nro, unidades,decenas, centenas, suma 0
//Lectura de datos
Leer (nro)
//Proceso de clculo
unidades nro mod 10
nro < -- nro Div 10
decenas nro mod 10
centenas nro div 10
Suma unidades + decenas + centenas
//Salida de resultados
Escribir (La suma de los dgitos es, suma)
Fin

Ejemplos

Escriba un algoritmo para expresar en centmetros y pulgadas una cantidad dada


en metros. Donde 1 metro = 100 centmetros y que 1 pulgada = 2.54 centmetros.
Realizar un pseudocdigo que sume dos tiempos dados en horas, minutos y
segundos por ejemplo:
Tiempo 1 = 8:15:56
Tiempo 2 = 10:58:43
1
8:
10:
19
19:

1
15:
58:
74 60
60 1
14:

56
43
99 60
60
1
39

Ejemplo 03:

Inicio
//Definir variables
entero: hor1, min1, seg1, llevaMin, hor2, min2, seg2, llevaHora, hor, min, seg
//Lectura de datos
Escribir(Ingresar primer tiempo)
Leer (hor1,min1,seg1)
Escribir(Ingresar segundo tiempo)
Leer (hor2,min2,seg2)
Determina la cantidad total de segundos entre los dos tiempos
seg seg1 + seg2
llevaMin seg Div 60
seg seg Mod 60
min llevaMin + min1 + min2
llevaHora min Div 60
min min Mod 60
Hor llevaHora +hor1 + hor2
//Salida de resultados
Mostrar(La suma de los 2 tiempos s:, hor, min, seg)
Fin

LENGUAJE DE PROGRAMACIN C
Un
lenguaje
de
programacin
podra
definirse
como
una
notacin o conjunto de
smbolos y caracteres
que se combinan entre s
siguiendo las reglas de
una sintaxis predefinida,
con el fin de posibilitar la
transmisin
de
instrucciones
a
un
ordenador.

LENGUAJES DE BAJO NIVEL


Lenguaje de Mquina:
El lenguaje de maquina se caracteriza por ser el
nico que es directamente inteligible por el
ordenador, puesto que se basa en la combinacin
de dos nicos smbolos (0 y 1) denominados bits.
Lenguaje Ensamblador:
Constituye una evolucin del lenguaje de
mquina. Se basa en la utilizacin de
mnemotcnicos, esto es, abreviaturas de palabras
que indican nombres de instrucciones.

LENGUAJES DE ALTO NIVEL


La caracterstica ms
importante de estos
lenguajes es que son
independientes de la
arquitectura
del
ordenador, por lo que
un programa escrito
en un lenguaje de alto
nivel
puede
ejecutarse
sin
problemas en otros
ordenadores
con
procesadores
distintos.

Traductores:
Por ello, si se programa usando lenguajes
de alto nivel ser necesario algn programa
traductor. ste a su vez, ser el encargado
de comprobar que los programas estn
escritos correctamente.

Ensambladores:
Los programas ensambladores son los
encargados de traducir a lenguaje mquina
los escritos en lenguaje ensamblador.

Interpretes:
El objetivo de un intrprete es procesar una a
una las instrucciones de un programa escrito
en un lenguaje de alto nivel. Para cada
instruccin se verifica la sintaxis, se traduce a
cdigo maquina y finalmente se ejecuta.
Instruccin 1

Interprete

Ejecucin 1

Instruccin 2

Interprete

Ejecucin 2

Instruccin 3

Interprete

Ejecucin 3

Compiladores:
- La funcin de un compilador consiste en traducir
un programa fuente escrito en un lenguaje de alto
nivel a su equivalente en cdigo maquina
- Mientras que un intrprete traduce y ejecuta al
Compiladores:
mismo tiempo cada una
de las instrucciones, un
compilador analiza, traduce y posteriormente
ejecuta todo el programa en fases completamente
separadas.
ERRORES

Edicin
Compilacin
Montaje

Fuente
Objeto

Ejecucin

Ejecutable
Objeto

ELABORACIN DE UN PROGRAMA

Anlisis

Mantenimiento

Diseo

Explotacin

Codificacin

DIAGRAMAS DE FLUJO
Es
una
de
las
tcnicas
de
representacin de algoritmo ms
antigua y a la vez ms utilizada, aunque
se
empleo
ha
disminuido
considerablemente, sobre todo desde
la
aparicin
de
lenguajes
de
programacin estructurados.

Potrebbero piacerti anche