PDF de programación - Introducción a la Programación

Imágen de pdf Introducción a la Programación

Introducción a la Programacióngráfica de visualizaciones

Publicado el 24 de Junio del 2021
1.551 visualizaciones desde el 24 de Junio del 2021
168,2 KB
43 paginas
Creado hace 19a (15/03/2005)
Introducción a la
Programación.

Andrés Arcia
Departamento de Computación
Escuela de Ingeniería de Sistemas
Facultad de Ingeniería
Universidad de Los Andes

Introducción a la
Programación

Algunas definiciones importantes:
¿Qué es Programar?

Es la acción de escribir instrucciones correctas para que sean

interpretadas por una máquina.
¿Qué es el Software?

Son programas. Para que tengan sentido de software deben

ser ejecutados sobre una máquina.
¿En qué medida nos compete programar?

Depende de su interes. De todas formas hoy en día es un

“must” para cualquier ingeniero.
¿En que medida dependemos de software?

Depende de su estilo de vida, pero para el ciudadano común

la dependencia es bastante: celulares, controles remotos (TV, DVD,
radios, mp3 players, etc.), cajeros automaticos, etc. ¿Sabia Ud. Que
muy pronto será espiado sin darse cuenta?

Lenguajes de Programación

• ¿Qué es un Lenguaje de Programación?

Es un conjunto de reglas para comunicar ideas.
Generalmente las ideas se le comunican a una
máquina.

• De que hay que estar pendiente cuando programamos

en un lenguaje:

Sintaxis / Semantica
Sistema de tipos
Errores / Excepciones

Lenguajes de Programación

• Paradigmas de la Programación

Programación Imperativa
Programación Orientada por Objeto
Programación Funcional
Programación por Eventos
Programación Concurrente
etc.

• Lenguajes de programación populares:

C, C++, Java, PHP, Perl, XHTML.
• Dominios de aplicación importantes:

Programación Sistema
Sistemas de Gestión de Información
Programación Web

Niveles de los lenguajes

Lenguaje Natural
Lenguaje de Programación
Compilador / Interprete
Lenguaje Máquina

¿Qué aprenderemos en el
curso?
Aprenderemos a programar en
lenguaje C.

C fue diseñado para dar soporte a
UNIX a mediados de los 70. Hoy en dia
lo encontramos en los mas grandes
OS: Linux y FreeBSD.
C esta normalizado por ANSI (1988).

Enlaces a revisar

yahoo.com: Tutorial de C, curso de C
google.com: Tutorial de C, curso gratis
de C, etc.
www.elrincondelc.com
www.emagister.com
gcc.gnu.org

Etapas de la Compilación

Lenguaje de Máquina

• Lenguaje mas básico, propio de cada computadora,

ya que está relacionado con el diseño del hardware de
la misma (dependiente de la máquina). Por lo general
consisten en cadenas de números al final reducidos a
ceros y unos (sistema numérico binario).

• Operaciones:
• Cargar
• Almacenar
• Sumar
• Restar

Lenguaje de Máquina

Ejemplo:
Código de Dirección
operación
00010101 10000001 (a) Cargar contenido de la dir. 129 en

Significado



Acumulador

00010111 10000010 (b) Sumar contenido de la dir 130 al
00010110 10000011 (c) Almacenar contenido del Acumulador

Acumulador

en la dir. 131

(c) 10000011 = 27+21+20 = 131.

Lenguaje Ensamblador

• Consiste en abreviaturas similares al inglés, llamadas

instrucciones mnemotécnicas, que permiten
representar las operaciones elementales de la
computadora (dependiente de la máquina).
Ejemplo:
Código de
operación

Dirección



00010101 10000001
00010111
10000010
00010110
10000011

Instrucción en
lenguaje
ensamblador



LOAD A
ADD B
STORE C

Lenguaje Ensamblador

• Lenguaje de bajo nivel o ensamblador:
La computadora no entiende directamente lenguaje
ensamblador por lo que un programa escrito en este
lenguaje tiene que ser traducido a lenguaje de
máquina por un programa llamado un ensamblador
para que pueda ser ejecutado por la computadora.
Los lenguajes ensambladores todavía requieren que
el programador tenga un buen conocimiento de la
arquitectura de la computadora.
Como los lenguajes ensambladores son dependientes
de la máquina, todo programa escrito en un lenguaje
ensamblador particular tendrá que ser reescrito si se
va a ejecutar en otro tipo de computadora.

Lenguaje de Alto Nivel

• Permite a los programadores escribir instrucciones en un
lenguaje mas familiar para ellos y que contiene notaciones
matemáticas comúnmente utilizadas (independiente de la
máquina).
Ejemplo:
Código de
operación
00010101 10000001
10000010
00010111
00010110
10000011
Con este tipo de lenguajes, la programación es mas fácil para los
usuarios ya que éste no necesita tener conocimiento de la
arquitectura de la computadora.

Instrucción en
lenguaje ensamblador lenguaje de alto
LOAD A
ADD B
STORE C

C = A + B

Dirección

Instrucción en

nivel

Lenguaje de Alto Nivel

Lenguaje de alto nivel:

Como ocurre con los lenguajes ensambladores, la
computadora no entiende directamente lenguaje de alto nivel,
por lo que un programa escrito en este lenguaje tiene que ser
traducido a lenguaje de máquina por un programa llamado un
compilador para que pueda ser ejecutado por la computadora.


Los lenguajes de alto nivel permiten portabilidad,

mejor expresión de las ideas, facilidad de programar ciertas
clases de problemas, menos posibilidad de cometer errores,
una visión más amplia del problema, etc.

Lenguaje de Alto Nivel

Ejemplos de lenguajes de alto nivel:

- BASIC
- Visual Basic
- Pascal

- Java
- C
- C++
- COBOL
- FORTRAN
- PROLOG
- LISP
- PL/I
- SMALLTALK
- ADA

Lenguajes de Programación

Lenguaje de
alto nivel

Lenguaje
ensamblador

Lenguaje de
máquina

Usuario

Computadora

Lenguajes de Programación

Importante

Cada CPU tiene su propio lenguaje de máquina
interno. La programación a este nivel se realiza
generalmente en el lenguaje ensamblador específico
de la computadora. Cada instrucción en lenguaje
ensamblador corresponde a una instrucción en
lenguaje de máquina.
Si existe una estandarización para un lenguaje de
alto nivel, cualquier programa escrito usando este
estándar debe poder ejecutarse en cualquier
computadora después de compilarlo. Esto se le
conoce como portabilidad de programas.

Lenguajes de Programación

Elementos de un lenguaje de programación

Un sublenguaje para definir los datos

Qué datos tenemos
Cómo les llamamos
Cómo son (tipo y/o estructura)
Qué se puede hacer con ellos

Un sublenguaje para definir los algoritmos

Qué le hacemos a los datos
En qué orden (cuándo se lo hacemos)
Cuántas veces



Metodología de Desarrollo
de Programas

El desarrollo de programas sigue hoy en dia distintas
metodologías: De arriba hacia abajo, espiral, modular, etc.
En este curso Usted aprendera que lo más importante es
comprender el problema cabalmente. Luego Usted podrá
encasillarlo en cualquiera de las técnicas existentes.
Para la comprensión de un problema se requiere que Usted
este alerta con todos los sentidos.
El proceso del pensamiento y abstracción del problema NO
TIENE METODOLOGIA ESPECIFICA.
“NO” CREA EN CUENTOS DE CAMINO. Por ejemplo entrada,
proceso y salida. Es posible que funcione pero dese cuenta
que lo está castrando!!!
Cuando Usted logre conseguir la explicación más sencilla y la
analogia correcta a un problema entonces ya lo habrá resuelto.
Ejercicio: Explique la suma de números enteros, la resta, la
multiplicación y la división.

Metodología de Desarrollo
de Programas

Diseño del algoritmo: Descripción de una
secuencia finita y ordenada de pasos – sin
ambigüedades – que conducen a la solución
de un problema dado.

estructurada)
orientada a objetos)

Herramientas de diseño
• Diagramas de flujo (para la programación
• Círculos y canales de mensaje (programación
• Pseudocódigo
• Trazas personales
• Grafismos
• Formulas matemáticas
• Todo aquello que le ayude a representar el

problema.

Metodología de Desarrollo
de Programas

Codificación: Traducción del algoritmo a un programa
escrito en un lenguaje de programación adecuado
(código fuente).
Corrida en frío del programa: Prueba manual de la
correctitud del programa.
Depuración del programa: Identificación y eliminación
de errores.
• Errores de sintaxis: Violan las reglas del lenguaje
de programación. Un buen compilador localizará e
identificará la mayoría de estos automáticamente.
• Errores lógicos: Equivocaciones que causan que
el programa se ejecute de forma inesperada o
incorrecta.

Ejecución del programa: Ejecución del código
ejecutable (código en lenguaje de máquina) del
programa bajo el control del CPU, una instrucción a
la vez.



Metodología de Desarrollo
de Programas

Puesta en operación: Instalación del
hardware y software, capacitación, etc..
Mantenimiento del programa: Comienza tan
pronto como el producto es lanzado. Permite
corregir defectos menores, añadir una mayor
funcionalidad, ya sea en respuesta a las
demandas del mercado o a las peticiones
del usuario.



Metodología de Desarrollo
de Programas

Análisis E-P-S

– Especificaciones de entrada: Información necesaria

para la solución del problema.
¿ Qué datos son de entrada ?
¿ Cuántos datos se introducirán ?
¿ Cuáles datos de entrada son válidos ?

– Proceso: Operaciones o cálculos necesarios para

encontrar la solución del problema.

¿ Qué tipo de ecuaciones ?
¿ Cuántas ecuaciones ?
¿ Qué transformaciones sobre la data?

Metodología de Desarrollo
de Programas

Análisis E-P-S

– Especificaciones de salida: Resultados finales de los

cálculos.

¿ Cuáles son los datos de salida
¿ Cuántos datos de salida se producirán
¿ Qué precisión tendrán los resultados
¿ Se debe imprimir un encabezado

Metodología de Desarrollo
de Programas

Diseño del algoritmo

Un algoritmo debe ser preciso e
indicar el orden de realización de cada
paso.
Un algoritmo debe ser finito. Si se
sigue un algoritmo, se debe terminar
en algún momento; o sea, debe tener
un número finito de pasos.

Ejemplo 1: Supóngase que tiene un examen de PDI.
Según una decisión aleatoria, algunos estudiantes
estudian antes del examen y otros se van a ver un
espectáculo. Realizar el análisis E-P-S y diseñar un
algoritmo para representar esta situaci
  • Links de descarga
http://lwp-l.com/pdf19341

Comentarios de: Introducción a la Programación (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad