Вы находитесь на странице: 1из 46

UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA

Segunda Universidad Fundada en el Per!

UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA


E.F.P. INGENIERA CIVIL

Programacin digital
C. Mg. Sc. Ing. Hemerson Lizarbe Alarcn
http://hemersonlizarbe.wordpress.com/

Origen del Computador


En 1621 la primera regla deslizante fue
inventada por el matemtico ingls William
Oughtred. La regla deslizante se llam
"Crculos de Proporcin, que se calibraron
con los logaritmos de Napier

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 1
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

A mediados del siglo XVII (1642) el


Francs Pascal tuvo una idea de la
primera calculadora mecnica de
engranajes o ruedas dentadas que le
permitan sumas y restas

En 1790 Joseph-Marie Jacquard (1572-


1834) utilizo tarjetas perforadas para
controlar un telar

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 2
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

En Inglaterra, en 1835, Charles Babbage


construyo una mquina de realizar clculos
que mejor con un ambicioso plan de la
mquina analtica

La Primera Computadora
Fue en 1830, cuando se establecieron los principios de
funcionamiento de las modernas computadoras. Su
paternidad se debe al matemtico ingles Charles
Babbage

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 3
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

. Mauchly y J. Presper Eckert, disearon y construyeron, entre


los aos 1943 y 1946, el computador elctrico de propsito
general ENIAC.

Primera computadora
comercial UNIVAC - 1951

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 4
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

En 1976 Steve Wozniak y Steve Jobs


inventan la primera microcomputadora de
uso masivo

LENGUAJES DE
PROGRAMACION
Los lenguajes de programacin son
herramientas que nos permiten crear
programas y software. Entre ellos
tenemos Object Pascal, Basic,
Pascal, Java, C, etc.

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 5
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Evolucin de los lenguajes

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 6
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Definicin de lenguaje de
programacin
1.- Lenguaje mquina
2.- Lenguaje de bajo nivel
(ensamblador)
3.- Lenguaje de alto nivel

Que es un lenguaje de programacin?

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 7
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

1.- Lenguaje mquina


El lenguaje mquina es el nico
que entiende directamente la
computadora, utiliza el alfabeto
binario que consta de los dos
nicos smbolos 0 y 1,
denominados bits (abreviatura
inglesa de dgitos binarios). Fue el
primer lenguaje utilizado en la
programacin de computadoras,
pero dej de utilizarse por su
dificultad y complicacin, siendo
sustituido por otros lenguajes ms
fciles de aprender y utilizar, que
adems reducen la posibilidad de
cometer errores.

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 8
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

2.- Lenguaje de bajo nivel


(ensamblador)
El lenguaje ensamblador es
el primer intento de sustituir
el lenguaje mquina por
otro ms similar a los
utilizados por las personas.
En este lenguaje cada
instruccin equivale a una
instruccin en lenguaje
mquina, utilizando para
su escritura palabras
nemotcnicas en lugar de
cadenas de bits.

3.- Lenguaje de alto nivel

Estos lenguajes permiten al programador olvidarse


por completo del funcionamiento interno. Tan solo
necesitan un traductor que entienda el cdigo
fuente como las caractersticas de la mquina
(compilador).

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 9
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Principales Lenguajes de Alto Nivel


Ada Pascal
ALGOL Perl
Basic PHP
C (en realidad es PL/SQL
un lenguaje de Python
medio nivel).
Modula-2
C++
Matlab
C#
Lenguajes
Fortran funcionales
Java o Haskell
Lexico o Lisp
Logo

LENGUAJE MQUINA

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 10
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Es importante saber que va usar el Hardware a


travs del software base o aplicacin llamado
Sistema operativo, sobre el cual se instalan los
aplicativos

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 11
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 12
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 13
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

CAP. II PROCESOS
LGICOS

2.1 ALGORITMO
Un algoritmo es un conjunto finito de
instrucciones o pasos que sirven para ejecutar
una tarea o resolver un problema. De un
modo ms formal, un algoritmo es una
secuencia finita de operaciones realizables,
no ambiguas, cuya ejecucin da una
solucin de un problema en un tiempo finito.

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 14
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

2.2 PSEUDOCODIGO
El pseudocdigo es una herramienta
de representacin de algoritmos, en
lenguaje natural acotado.
Las palabras reservadas (INICIO,
LEER, EJECUTAR, MOSTRAR O
IMPRIMIR, FIN) representan: Inicio de
programa, lectura de datos, realizar
una instruccin o hacer alguna
operacin, imprimir en pantalla y fin
del programa.
Si (A>10) Entonces
Ejecutar proceso1
Sino
Ejecutar proceso2
Fin del Si

2.3 DIAGRAMAS DE FLUJO


Los diagramas de flujo representan la forma
ms tradicional para especificar los detalles
algortmicos de un proceso. Estos diagramas
utilizan una serie de smbolos con
significados especiales.
Estandarizados segn ISO 5807 (Norma para
Diagramas de Flujo)

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 15
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Bloque de Inicio y Fin de


programa o Terminal

Bloques de Proceso
Bloque de Accin Simple

Bloque de Entrada desde teclado

Bloque de Entrada/Salida E/S

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 16
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Bloques de Decisin
Bloque de Decisin Simple

Bloque de Decisin Mltiple

Flujos y Conectores

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 17
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Bloque de Iteracin

Bloque de Salida

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 18
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Diseo e implementacin de
algoritmos numricos

1. Sentencias de Control Selectivas


1.1. Sentencias de Control Selectivas
Simple

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 19
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Representaciones graficas

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 20
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 21
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

SENTENCIAS DE CONTROL

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 22
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 23
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

1.2 Sentencias de Control Selectivas Mltiple

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 24
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 25
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

% obtener el promedio de las 2 mayores notas


a=input('ingrese la primera nota: ');
b=input('ingrese la segunda nota: ');
c=input('ingrese la tercera nota: ');
if c<b & c<a
t=(a+b)/2;
else
if a<c & a<b
t=(c+b)/2;
else
t=(a+c)/2;
end
end
disp(t);

Anular la nota mas baja y sacar


promedio de las 2 notas mas
altas.

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 26
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 27
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 28
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

ejemplo
clc
x=20;
switch x
case 1
Y=12+x
case 2
Y=1+x
otherwise
Y=x+20
end

2.1. Por recorrido de contador: For

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 29
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

La siguiente construccin ejecuta sentencias con


valores de i de 1 a n, variando de uno en uno.

for i=1:n
Sentencias
end

O bien

for i=vectorValores
Sentencias
end

Donde vectorValores es un vector con los distintos


valores que tomar la variable

En el siguiente ejemplo se presenta el caso ms general


para la variable del bucle (valor_inicial: incremento:
valor_final); el bucle se ejecuta por primera vez con i=n, y
luego i se va reduciendo de 0.2 en 0.2 hasta que llega a
ser menor que 1, en cuyo caso el bucle se termina:
for i=n:-0.2:1
Sentencias
end
En el siguiente ejemplo se presenta una estructura
correspondiente a dos bucles anidados. La variable j es la
que vara ms rpidamente (por cada valor de i, j toma
todos sus posibles valores):
for i=1:m
for j=1:n
Sentencias
end
end

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 30
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Una ltima forma de inters del bucle for es la


siguiente (A es una matriz):

for i=A
Sentencias
end

En la que la variable i es un vector que va


tomando en cada iteracin el valor de una
de las columnas de A. Cuando se introducen
interactivamente en la lnea de comandos, los
bucles for se ejecutan slo despus de
introducir la sentencia end que los completa.

Ejemplo

clc
for x=1:2:9
Y=x.^2-1;
disp([x,Y]);
end

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 31
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

2. Sentencias de Control Iterativa


2.1. Por evaluacin de condicin: while

Ejemplo de aplicacin 1
clc
disp('NUMEROS NATURALES HASTA EL 20')
n=1;
while (n<=20)
fprintf('\n %d',n)
n=n+1;
end

Ejemplo de aplicacin 2
clc
n=1;
fprintf ('NUMEROS PARES DEL 1 AL 20')
while (n<=10)
p=n*2;
fprintf('\n %d',p)
n=n+1;
end

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 32
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Ejemplo de aplicacin 1

clc
x=0;
suma=0;
while x<=5 %x=0,x=1,x=2,x=3,x=4,x=5
suma=suma+x;%s=0,s=1,s=3,s=6,s=10,s=15
x=x+1; %x=1,x=2,x=3,x=4,x=5,x=6
end
disp('la suma es:');
disp(suma);

Ejemplo de aplicacin 2
clc
x=0;
suma=0;
while x<=5 %x=0,x=1,x=2,x=3,x=4,x=5
x=x+1; %x=1,x=2,x=3,x=4,x=5,x=6
suma=suma+x;%s=1,s=3,s=6,s=10,s=15,s=21

end
disp('la suma es:');
disp(suma);

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 33
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Sentencias especiales
Sentenciade Salto : continue

Sentencia de ruptura: Break

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 34
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

REPASO
COMANDO: IF

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 35
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

COMANDO: SWITCH

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 36
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

COMANDO: FOR

COMANDO: WHILE

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 37
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Ejemplo de aplicacin

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 38
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 39
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 40
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 41
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Exportar e importar datos del Microsoft Excel


>> titulos={'dia','tmax','tmin'} >> [datostemp
tit]=xlsread('datostemp.xls', -1)
titulos =
datostemp =
'dia' 'tmax' 'tmin'
1 18 25
>> datos={1 18 25; 2 17 26; 3 14 30}
2 17 26
datos =
3 14 30
[1] [18] [25]
tit = 'dia' 'tmax' 'tmin'
[2] [17] [26]
>> clear all
[3] [14] [30]
>> [datostemp
>> tit]=xlsread('datostemp.xls','temps')
xlswrite('datostemp.xls',[titulos;datos],'tem
ps') datostemp =

Warning: Added specified worksheet. 1 18 25

> In xlswrite>activate_sheet at 285 2 17 26

In xlswrite>ExecuteWrite at 257 3 14 30

In xlswrite at 214 tit = 'dia' 'tmax' 'tmin'

>> [status hojas]=xlsfinfo('datostemp.xls') >> [datostemp


tit]=xlsread('datostemp.xls','temps','a1:c2'
status = )
Microsoft Excel Spreadsheet datostemp =
hojas = 1 18 25
'Hoja1' 'temps' tit =
>> clear all 'dia' 'tmax' 'tmin'

Instalar component de
Matlab en Microsoft excel

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 42
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 43
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 44
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 45
UNIVERSIDAD NACIONAL SAN CRISTBAL DE HUAMANGA
Segunda Universidad Fundada en el Per!

Programacin digital- Ingeniera Civil


Mg.Sc.Ing. Hemerson Lizarbe Alarcn 46

Вам также может понравиться