Sunteți pe pagina 1din 42

LENGUAJE DE PROGRAMACIÓN

120 AÑOS DE
TRABAJO Y
RECTITUD

Lenguaje de Programación
23/06/2019 1-1
Introducción

Importancia de la computación

Presentación del Curso

Metodología de Trabajo. Métodos eficientes de Estudio.

Conceptos Básicos de Algoritmos y Programación


120 AÑOS DE
TRABAJO Y
RECTITUD
Estructuras automáticas básicas

Semestre 2017-I

23/06/2019 1-2
Importancia de la computación

• Los computadores y las redes de computadores se


han convertido en la herramienta imprescindible
en toda área técnica y de ingeniería.

• Todo técnico y profesional debe


manejar y aplicar eficientemente dicha
herramienta, en sus áreas propias de
profesión.

23/06/2019
1-3
Necesidad de la computación para los ingenieros

• Las necesidades y exigencias de las empresas, de


los negocios, de las sociedades actuales, requieren
que los ingenieros sean más eficientes en sus
labores.

• Las herramientas computacionales,


computadores, entornos y lenguajes, permiten
lograr mayores niveles de eficiencia en el
desarrollo técnico personal.

23/06/2019
1-4
Objetivos del curso

 Desarrollar capacidades lógico - abstractas


para el análisis, implementación y solución
de problemas, mediante un enfoque
algorítmico.
 Incentivar el aprendizaje de un lenguaje de
programación con entorno gráfico, visual e
interactivo:

Visual Basic 2010.

23/06/2019
1-5
Contenido - Primera Parte
(6 semanas)

 Introducción al curso.
 Entorno de programación.
 Estructuras básicas para representación de
algoritmos: secuencia, selección lógica, iteración.
 El concepto de PROYECTO en Visual Basic y sus
componentes. Selección lógica.
 Iteración definida, acumulador/contador; Técnicas
de integración numérica.
 Iteración indefinida, técnicas para encontrar raíces
de funciones.
 Primera evaluación (25%)

23/06/2019
1-6
Contenido - Segunda Parte
(5 semanas)

 Vectores y subprogramas.
 Archivos de texto.
 Ejercicios con vectores, archivos y
subprogramas.
 Graficación en VB.
 Búsqueda y ordenamiento en vectores
 Segunda evaluación(25%)

23/06/2019
1-7
Contenido - Tercera Parte
(5 semanas)

 Matrices.
 Ejercicios con matrices y vectores.
 Solución de sistemas de ecuaciones lineales
simultáneas.
 Métodos para calcular la inversa de una matriz.
 Mínimos cuadrados para el ajuste de curvas.
 Tercera evaluación (25%)

23/06/2019
1-8
Evaluación
 Practica, Trab Investigación 25%
 Exámenes parciales 25%
 Examen de medio curso 25%
 Examen final 25%

23/06/2019
1-9
Metodología

 Exposiciones magistrales (Centro Computo


UNAS)
 Uso del computador.
 Talleres // Asesorías // Tareas extraclase.
Aprendizaje “vía ejemplos”; “aprendizaje
activo”. “Construccionismo Cognitivo”.

 Requisitos: Analisis Matematico II, Algebra


Lineal; matemáticas básicas; Métodos
eficientes de estudio.

23/06/2019
1 - 10
BIBLIOGRAFÍA Y REFERENCIAS/Teoría Algoritmos

 Chapra, Steven C. & Canale, Raymond P.: «Numerical Methods


for Engineers», McGraw-Hill, 2002, Caps.: 1, 2, 5, 6, 8, 9, 12,
17, 20, 21, 22, 24.
 Brassard, G. y Bratley, P.: «Fundamentos de ALGORITMIA»,
Prentice Hall International, Madrid (España), 1997.
 Oviedo, Efraím: “Lógica para programación”, ECOE ediciones,
Agosto 2004. (para la primera parte del curso), Caps.: 1, 2, 3, 4, 5,
6, 7, 8.
 Lopez, Leobardo: “Programación Estructurada, un enfoque
algorítmico”, AlfaOmega, 2002
 Cairó, oswaldo: «Metodología de Programación», Tomos I, II,
AlfaOmega Editorial, 2002.
 (documemtación web)Alvarez-Montoya, William, 2006
(caps. 1, 2, 4, 5, 6), http://www.unalmed.edu.co/~walvarem

1-
23/06/2019 11
BIBLIOGRAFÍA Y REFERENCIAS/Programación

 García, Javier, et al.: “Aprenda Visual Basic 6.0 como si


estuviera en primero” (pdf, en internet).
 Aguilar, Joyanes: «Visual Basic 6.0, Iniciación y Referencia».
McGraw-Hill, 2001. (incluye CD-ROM, con los ejercicios de los
capítulos y una versión de aprendizaje de Visual Basic 6.0).
 Ceballos, Francisco Javier: «Programación Visual Basic 6.0»
2002, AlfaOmega Editorial, incluye CD.

 Algoritmos & Programación con Visual Basic (documemtación


web)Alvarez-Montoya, William (cap. 3),
http://www.unalmed.edu.co/~walvarem
 Aplicaciones en Métodos Numéricos (documemtación
web)Alvarez-Montoya, William (caps. 3,4,5,6,8),
http://www.unalmed.edu.co/~walvarem

23/06/2019
1 - 12
BIBLIOGRAFÍA Y REFERENCIAS/Prácticas

 García, Javier, et al.: “Practique Visual Basic 6.0 como si


estuviera en primero”, Universidad de Navarra, Junio 2003
(pdf, en página web, contiene 7 prácticas).
 (documentación web) Alvarez-Montoya, William, «Guías de
Prácticas», http://xue.unalmed.edu.co/~walvarem

 Página de la asignatura en la Escuela de


Sistemas: http://pisis.unalmed.edu.co/cursos/algoritmos

23/06/2019
1 - 13
DOCUMENTACIÓN ADICIONAL
WEB/1

http://www.unalmed.edu.co/~walvarem
 Problemas resueltos (formato html).
 Problemateca (serie de problemas, en html).
 Proyectos de ejemplo (formato HTML).
 Algunos ejercicios de autoevaluación.
 Exámenes anteriores resueltos (html).
 Referencias y enlaces (documentación online).
 Manuales que se pueden descargar (formatos: htm, zip,
pdf).
 Técnicas de Estudio (indicaciones básicas).

1-
23/06/2019 14
DIDÁCTICA DE ACTIVIDADES
SEMANALES

• Proyecto de Vida

• Actitud PROACTIVA

Objetivos
LENGUAJE
DE Aprendizaje
PROGRAMACIÓN
• Asistir a clases

Métodos • Saber fijar atención


• Tomar apuntes
eficientes • Estudio extraclase

de estudio
• Lectura rápida
• Mejorar memoria
• Nutrición eficiente

1-
23/06/2019 15
DIDÁCTICA DE ACTIVIDADES
SEMANALES
Durante la clase TEÓRICA:
• Saber fijar la atención.
• Sobre técnicas básicas de
CLASE TEÓRICA
Toma creativa de apuntes
• estudio
Formularver el documento:
preguntas.
• «CÓMO ESTUDIAR
Utilizar memoria Y
asociativa
• APRENDER
¿Qué
Después detareas seTEÓRICA:
la clase plantean?.
UNA DISCIPLINA»,
Centrar atención • Estudiar más detallada
por Richard Pauly y profundamente
Linda Elder,
Tomar apuntes los contenidos,
de la Fundaciónojalá el mismo
para día.
El
• No dejar acumular
Pensamiento Crítico, 2003,contenidos .
• Resolver las preguntas que surgieron.
www.criticalthinking.org, que
Estudiar contenidos • Realizar las tareas, ejercicios, proyectos,
también está en la página web
Durante
talleres. la clase PRÁCTICA:
• de
• Asistir la
Centrarse
a undocumentación:
en laadicional.
taller elaboración del proyecto

CLASE PRÁCTICA
respectivo.
http://www.unalmed.edu.co/~walvarem
• Saber conceptualizar y diferenciar las
Después
etapasdedela elaboración
clase PRÁCTICA:del proyecto.
• Estudio del proyecto; etapas de elaboración
• Saber grabar el proyecto..
(ojalá el mismo día)
Estudiar talleres, • •Repasar
¿Quéproyecto(s)
tareas se plantean?.
en página web.
relizar proyecto • Realizar otro proyecto en computador
• Asistir a un taller adicional.
• ¿Qué preguntas puede plantearse?.
Realimentación

23/06/2019
1 - 16
HORARIOS ATENCIÓN
ESTUDIANTES
OFICINA: Facultad de Ingeniería de en
Industrias de Alimentos
 Viernes 8-10 am (FIIA UNAS)
 Atención Estudiantes: Viernes 11-1 pm (FIIA

UNAS)

 E-mail: wvroldan12@hotmail.com

23/06/2019
1 - 17
Evolución del computador

(Cap. 1) • Culturas de China, Mesopotamia.. Desde

El ábaco, antigüedad.
5000 años A.C.
 • Operaciones simples de Aritmética.
• Primer artefacto de cómputo

Calculadoras mecánicas.
• Atribuídas a Blas Pascal y
 Godofredo Leibnitz. Siglo XVI.
• Pascal: primera sumadora

 Electromecánicos. • Desde finales mecánica.



del siglo XIX.
• 1890: Censo enLeibnitz: incluye ymultiplicación
Estados Unidos Europa.
• Inicios S.XX: proceso de datos en empresas.

 Electrónicos. • Siglo XX, desde 1940’s.


• 1940’s: primera computadora electromecánica.
• 1950’s: proceso de datos en empresas; transistor.

 Supercomputadores. • Siglo XX, desde 1960’s.


• Grandes empresas, países más
indudtrializados.

 El PC, redes de PC, • Investigación; industria aeroespacial.


• Oct. 1981: “Revolución de los PC’s.
• Microelectrónica. Computadores personales.
Internet, 1980- • Red mundial. Tecnologías de programación.
• Internet 2 (desde año 2000)... Nanotrónica...

23/06/2019
1 - 18
EVOLUCIÓN HARDWARE/SOFTWARE

Microelectrónica,
Programación

Año 2016
23/06/2019
1 - 19
Arquitectura de computadores -
interna

1-
23/06/2019 20
Arquitectura de computadores -
externa

1-
23/06/2019 21
Para que el computador?

Resolver Problemas Técnicos• Enyel diseño


de yIngeniería :
cálculo de la estructura de un
edificio, por ejemplo, se tardaría meses hacer las

 Cálculos Repetitivos. operaciones matemáticas manualmente.


• En
• Ellascomputador,
empresas, los procesoslos
mediante deprogramas
inventarios, por

 Grandes volúmenes
ejemplo, con decenas
respectivos, realiza de miles
tales de artículos.
procesos en pocos minutos.
• Igualmente, los procesos de nómina, contables,
financieros, de facturación, de proveedores, etc.

de información.
• En el Estado los impuestos, datos de población,
etc. • El software, a través de los computadores, puede
manejar procesos complejos de tipo lógico y

Complejidad cálculos.
matemático.
• Las transacciones basadas en redes de
 • Acomputadores
todo nivel organizacional se requieren
(locales, regionales, nacionales,
respuestas a tiempo real.
internacionales).
 Velocidad de proceso • Telecomunicaciones.
• Inteligencia Artificial, Sistemas Expertos, etc.
• Control de procesos de fabricación, y de
• Las máquinas (los computadores), en general,

y de respuesta.
prestación de servicios, etc.
suelen ser más precisas que las personas.
• Esta capacidad de las máquinas es especialmente
útil en los cálculos de Ingeniería.

Precisión.
• Igualmente, en las labores científicas, financieras,
 etc.

1-
23/06/2019 22
EL ENFOQUE
ALGORÍTMICO

• Potenciando, así, el enfoque meramente


Permite resolver
• Que sin ayuda de los computadores no se
 ecuacional.
podrían resolver en términos prácticos de
• La Aritmética, el Álgebra y demás áreas
problemas complejos.
tiempo, costo, y demás recursos.
matemáticas se aunan en los algoritmos
• Es una de las bases actuales en el
implementados en software.
desarrollo
• El software es el conjunto de las ciencias,
de programas las tecnologías,
que permiten y
 Software. el conocimiento.
facilitan la utilización de un computador. Se le denomina,
también, la parte lógica • Facilita obtener mejores soluciones a
de la máquina.
• •Categorías
Comprende delasoftware:
parteproblemas
electrónica,
Sistemamáselectromecánica
complejos. y de
Hardware.
Operativo, Entornos
 mecánica de los
programación, computadores.de oficina, redes, etc..
Automatización
• También puede incluir programación.
• Microelectrónica. Chips. Memorias RAM, ROM.
 Proyectos.
 Facilita resolver que se aplican en el tiempo para obtener unos
• Un PROYECTO incluye deversidad de recursos

problemas de cálculos
fines.
. ámbito de la asignatura, se trabajarán
• En el
proyectos con el software Visual Basic.

1-
23/06/2019 23
EL CONCEPTO DE
ALGORITMO
• SECUENCIA de procesos (tareas,

•¿Qué es un algoritmo? operaciones) ordenada lógicamente que


permite obtener ciertos resultados a partir de
ciertos datos.
• LOS ALGORITMOS estudiados en este
•¿Por qué es útil?
• Permite el análisis lógico-conceptual de un
curso son los SECUENCIALES.
problema y anticipar las posibles soluciones.
• En cierto sentido permite MODELAR la realidad,
con el fín de poder modificarla, o adaptarla a
determinadas necesidades.

•¿Cómo se aplica? • Expresando la secuencia lógica de operaciones que


llevan a la solución de un problema.
• Considerando todas las posibilidades lógicas del

•Algoritmos y
problema en custión.
• Cuando• Considerando
un algoritmo se expresa
las relaciones mediante la
y restricciones
sintaxispertinentes al problema.
de un lenguaje de programación de
Programas computadores se llama, entonces, un
• Tiene
PROGRAMA.
tanto de arte como de ciencia.
• Existe
• Ununa teoría ende
conjunto crecimiento
programasy todo un bagajeun
constituye de

Elaborar
experiencias.
SOFTWARE.
 • Hacer un buen algoritmo exige abstracción, lógica,

algoritmos.
imaginación, creatividad, dominio de las técnicas de
programación, y dominio del área del problema que se
intenta resolver.

1-
23/06/2019 24
CONSTRUCCIÓN DE ALGORITMOS

• Un algoritmo se elabora
(construye) mediante ciertos
•Estructuras básicas componentes básicos llamados
ESTRUCTURAS.
• Desde la década de 1960’s se vió

•¿Cuáles son?
que este enfoque, aunque sencillo,
es muy útil para representar
secuencias
• TODO ALGORITMO de procesos
ES UNA (tareas,
SECUENCIA
actividades,
LÓGICA DE CIERTAS operaciones).
OPERACIONES (ó

•SECUENCIA
procesos, o tareas, o eventos).
• En la solución de un problema existe una
• secuencia
PERMITE general,
ELEGIR yUNA dentro de ella
DE DOS muchas
O MÁS VÍAS
•SELECCIÓN otras secuencias más
DE ACCIÓN (ALTERNATIVAS). detalladas.
• En un problema especifíco, el conjunto de
LÓGICA ALTERNATIVAS puede ser
• ES LA REPETICIÓN
OPERACIONES.
DEmuy
UNAextenso.
O MÁS

• De antemano, puede conocerse o no cuántas


 ITERACIÓN veces se repetirán las operaciones.
• El conjunto de operaciones que se repite se llama
RANGO DE ITERACIÓN.

23/06/2019
1 - 25
CONSTRUCCIÓN DE ALGORITMOS

PROCESAMIENTO
Datos
ENTRADA capturados • Cálculos
• Relaciones lógicas
Variables,
Muestran,
constantes Graban,
Imprimen,
(DATOS) transmiten
Variables,
SALIDA constantes
(RESULTADOS)
Esquema GENÉRICO de un ALGORITMO SECUENCIAL

1-
23/06/2019 26
CONSTRUCCIÓN DE ALGORITMOS

EJEMPLO #1
Solucionar ecuaciones cuadráticas
de la forma: AX2 + BX + C = 0
Análisis:
• Conocer los coeficientes A, B, C.
•Se aplica la fórmula del Álgebra:
 B  B 2  4 AC • ESTE ES EL ALGORITMO.
X  • Para este problema es trivial.
2A
MODELO DE UN PROBLEMA PRÁCTICO

1-
EJEMPLO#1: Ecuaciones cuadráticas

DATOS PROCESAMIENTO
DE • Cálculos SALIDA
(resultados)
ENTRADA • Relaciones lógicas

A, B, C A 0, D  0
X 
B B 2  4 AC X1, X2
2A
Este es el esquema (diagrama) genérico

23/06/2019
1 - 28
REPRESENTACIÓN DE
ALGORITMOS

• EXPRESA EL PROCESO LÓGICO


LEER A,B,C • Es decir, EL ALGORITMO que
obtiene las raíces X1, X2 a partir de
los datos de entrada A, B, C.
• En general, LEER implica
D=BB-4AC obtener o conocer ciertos valores
que son base para procesos
posteriores.
X1=(-B+sqr(D))/(2A) • Los operadores son similares al
ÁLGEBRA y la ARITMÉTICA.
Sqr() significa “raíz cuadrada”.
X2=(-B-sqr(D))/(2A)

Diagrama libre

23/06/2019
1 - 29
REPRESENTACIÓN DE
ALGORITMOS
• ESTE TIPO DE REPRESENTACIÓN DIAGRAMÁTICA ES
EL QUE SE SEGUIRÁ EMPLEANDO EN EL CURSO.
• Las características y ventajas de este tipo de
diagrama se explican en el capítulo 2, sección 2.1
(véase la documentación del curso).
• El proceso de MOSTRAR implica visualización
en la pantalla del computador.
• Los operadores utilizados son:
•* (asterisco) para multiplicar.
• + (signo más) para sumar.
• - (signo menos) para restar.
• / (diagonal) para división real.
• “ “ (comillas dobles) para texto.
• = (signo igual) para asignar memoria

Diagrama
rectangular
estructurado

23/06/2019
1 - 30
ENTORNO DE
PROGRAMACIÓN/1

• Entorno Visual
Basic.
• Entorno C (Visual
C++).• Entorno Java.
• Entorno Visual
Fortran...
• Paradigmas
• Interfaz gráfica de usuario
(GUI).
tecnológicos sobre los • Basados en objetos. (POO)
• Guiada por eventos
que subyacen • Programación automática.
• Generación rápida de
aplicaciones(RAD)

23/06/2019
1 - 31
ENTORNO DE
PROGRAMACIÓN/2
• BARRA DE TÍTULO Y
CONTROL
• BARRA DE
HERRAMIENTAS

• BARRA DEL MENÚ


PRINCIPAL
VENTANA DE
UBICACIÓN VENTANA DE
PROPIEDADES
FORMULARIO
BASE DE
DISEÑO
CAJA DE
CONTROLES

EXPLORADOR
DE
PROYECTOS

ESCRITORIO PRINCIPAL EN VISUAL BASIC

23/06/2019
1 - 32
Interfaz gráfica en Visual
Basic
Programa genérico:
A = Val(Text1)
B = Val(Text2)
C = Val(Text3)
D = B^2 - 4 * A * C

X1 = (-B + sqr(D)) / (2 * A)
X2 = (-B - sqr(D)) / (2 * A)

Text4 = Str(X1)
Text5 = Str(X2)

CONFORMAN UN PROYECTO EN VISUAL BASIC

1-
23/06/2019 33
METODOLOGÍA GENERAL DE TRABAJO

• Identificación y entendimiento del


1. Análisis del problema.
• Representando
de variables ylaconstantes
secuencia de pasos
problema • Identificación
(operaciones,
(la estructura de datos de oENTRADA
procesos),yllamada
SALIDA). algoritmo, mediante una herramienta
2. Diseño de una• Restricciones
apropiada
y relaciones
. matemáticas
estrategia de solución • Puede
entre variables y constantes
• Elaborandoserlacon (fórmulas).
una
interfaz forma diagramática
gráfica del usuario
(diagrama libre, diagrama
(formulario y demás
estructurado) . objetos).
3. Programa (proyecto), • Escribiendo
• Puede serlos con Pseudocódigo (P-código),
usando un lenguaja de procedimientos pertinentes.
o lenguaje natural estructurado.
programación • Realizando la ejecución,
depuración y correcciones del
mismo.

SE AUNAN ENFOQUES: ECUACIONAL, ALGORÍTMICO

23/06/2019
1 - 34
EJEMPLO)

El esfuerzo, en cierto tipo de columna, se calcula


por medio de la fórmula mostrada:
En un refino posterior del algoritmo, calcular
elDeterminar el esfuerzo
esfuerzo inducido para valoresinducido,
de F desde
12000
en psihasta 30000 lbf
(unidades delcon incremento de
Sistema
1000 lbf, permaneciendo los demás
Internacional)
parámetros si seEnconocen
constantes. los
otro refino,
demás elparámetros:
calcular N =para
esfuerzo inducido 1; valores
E = de
L3.0x107
desde 15.5psi; R = 30.5
in hasta 4.2 x in 104
con psi; K
incrementos
= 0.29 in;deL0.5 in, permaneciendo
= 20.3 in; A = 17.5 todos
los demás parámetros constantes
in2; F = 12000 lbf
Donde:  es el esfuerzo inducido (psi); F es la fuerza
aplicada (lbf); A es el área de la sección de la columna
(in2); L es la longitud de la columna (in); K es el radio de
giro (in); R es el límite elástico del material (lbf/in2); E es
módulo de elasticidad (lbf/in2); N es un coeficiente
diferenciador de las condiciones finales (adimensional).
1-
23/06/2019 35
EJEMPLO

PROCESAMIENTO
DATOS DE
• Cálculos SALIDA
ENTRADA
• Relaciones lógicas (resultados)

F, A, L, K,N0, A 0, K 0, E  0


R, N, E, π 
Este es el esquema (diagrama) genérico

23/06/2019
1 - 36
EJEMPLO cont.

En este algoritmo sólo


se considera un valor
único de F (la fuerza).
Para poder obtener los
diferentes esfuerzos
correspondientes a la
variación de F de
12000 hasta 30000
libras, con incrementos
de 1000 libras, es
preciso emplear un
proceso de repetición
DIAGRAMA ESTRUCTURADO DE (iteración).
LÓGICA

1-
23/06/2019 37
EJEMPLO cont.

Esta estructura de iteración


implica que la variable F
recorre el intervalo [12000,
30000] incrementándose
cada vez en 1000.
El proceso es automático.

1-
23/06/2019 38
ESTRUCTURAS AUTOMÁTICAS BÁSICAS

PROC 1  Esta estructura de SECUENCIA es la estructura básica


de todo ALGORITMO SECUENCIAL.
 EL ORDEN DE EJECUCIÓN de los procesos
PROC 2 (operaciones) es de arriba hacia abajo y de izquierda a
.......... derecha.
 Primero se ejecuta el proceso 1; cuando este finaliza se
PROC n ejecutará el proceso 2; y así hasta ejecutar el último
proceso, el proceso n.

 Esta estructura de SELECCIÓN LÓGICA


permite evaluar una condición lógica
(Clógica).
S logica  SI SU VALOR DE VERDAD es cierto,
V F entonces se ejecuta el proceso Proc v.
 Si es falso, se ejecutará el proceso
Proc v Proc f Proc f.
 Así es posible optar por una de dos
alternativas.
 Se aplican las tablas de verdad de la Lógica
Simbólica (ver sección 3.2)

23/06/2019
1 - 39
ESTRUCTURAS AUTOMÁTICAS
BÁSICAS

 Esta estructura de ITERACIÓN permite


K = 1, N repetir muchas veces un cierto conjunto de
operaciones.
PROC 1  Dicho conjunto de operaciones se
denomina el RANGO DE ITERACIÓN.
PROC 2  La variable K es el índice de iteración.
..........  La variable N es el límite final de las
PROC n iteraciones.
 CON ESTE DIAGRAMA
ESTRUCTURADO, empleando las tres
estructuras básicas, se representa -en
forma compacta- un algoritmo.
 El proceso LEER N obtiene el valor de
N.
 Max = 0 inicializa la variable Max.
 Dentro del proceso repetitivo se lee un
número entero, X, y se compara con el
contenido de Max.
 N, K, Max, X son “casillas” de la memoria
interna. (hacer el seguimiento lógico)
 ¿Qué pasa si los números no son enteros
positivos?

23/06/2019
1 - 40
120 AÑOS DE
TRABAJO Y
RECTITUD

Lenguaje de Programación

23/06/2019 1 - 41
1-
23/06/2019 42

S-ar putea să vă placă și