Anda di halaman 1dari 40

MATERIA

Sistemas de Automatización de Oficinas

DOCENTE:
Ing. Javier Brollo

1° Nivel

UNIVERSIDAD TECNOLÓGICA NACIONAL - FACULTAD REGIONAL SANTA FE


TE +54 (342) 460 1579 / 2390 - FAX 469 0348 / tsti.frsf.utn.edu.ar
Introducción a la Programación

UNIVERSIDAD TECNOLÓGICA NACIONAL - FACULTAD REGIONAL SANTA FE


TE +54 (342) 460 1579 / 2390 - FAX 469 0348 / tsti.frsf.utn.edu.ar
Aplicaciones
Es el Software que le permite al computador
realizar una tarea específica.

Procesadores de Texto Video Juegos Hojas de Calculo


Características de las Aplicaciones
• Tipos de software
• productos genéricos
• sistemas producidos por una organización y que se venden en el mercado abierto
• sistemas gestores de bases de datos, procesadores de texto, paquetes gráficos,...
• la organización que lo confecciona, controla la especificación
• productos personalizados
• desarrollados específicamente para un cliente
• aplicaciones de negocio, sistemas de control de tráfico aéreo, control de procesos
de fabricación,...
• el cliente controla la especificación de la aplicación

• Software
• programas
• archivos de configuración
• documentación de la estructura del sistema
• manuales de instalación y uso
El proceso de la información
• Componentes comunes
• Datos de entrada
• Algoritmo de resolución
• Información de salida Programa

Datos de entrada Datos de salida

Retroalimentación (Feedback)

05/06/2011 19:40
¿QUÉ ES PROGRAMAR?

• Es la actividad mediante la cual escribimos un


conjunto finito y ordenado de instrucciones que le
indican a un computador, cómo lograr un resultado
determinado.

• El resultado del proceso de programar es el programa.

• Un programa es escrito utilizando un lenguaje de


programación.
¿QUÉ ES UN PROGRAMA?

• Es un conjunto de instrucciones escritas, de manera lógica,


usando un lenguaje de programación entendible por la
máquina, que le indica a la computadora, cada uno de los
pasos que debe seguir para obtener un resultado
determinado.
¿QUÉ ES UN LENGUAJE DE PROGRAMACIÓN?

• Lenguaje: conjunto de reglas y convenciones que se utilizan para comunicar


información.

• Lenguaje de Programación: es un lenguaje que permite la traducción de un


algoritmo para que sea entendible por el computador. Son los lenguajes
utilizados para escribir programas de ordenadores.

Tipos de Lenguaje de Programación:

 Lenguaje de Máquina

 Lenguaje de Bajo Nivel (Ensamblador)


 Lenguaje de Alto Nivel
Lenguaje de Máquina

• Único lenguaje que entiende el hardware (máquina).


• Específico para cada hardware (procesador, dispositivos,
etc.).

• Programa: almacenado en memoria, contiene instrucciones


y datos.
Lenguaje Ensamblador
• Software,generalmente escrito en lenguaje de máquina,
capaz de traducir de lenguaje ensamblador a lenguaje de
máquina.

• Usa mnemónicos para codificar las operaciones. Los datos y/o


direcciones son codificados generalmente como números en
sistema hexadecimal.

• Esespecífico (aunque no único) para cada lenguaje de


máquina.
Lenguaje de Alto Nivel
• Es un lenguaje con una estructura sintáctica mas rica
que le permite mayor expresividad.

• Cuenta con un conjunto de palabras reservadas, para


codificar estructuras de control e instrucciones.

• Permite el uso de expresiones aritméticas y relacionales.


Lenguaje de Alto Nivel

COMPILADORES e INTERPRETES: software


capaz de traducir de un lenguaje de alto nivel al
lenguaje de máquina.

C++ Java Python


Paradigmas de programación
• Lenguajes imperativos
• Programa: serie de pasos
• Un cálculo, una entrada o una salida
• Condicionales, bucles y secuencias
• Cobol, Fortran, C
• Orientado a objetos
• Programa: colección de objetos
• Objetos interactúan entre sí
• Smalltalk, Java, C++
Paradigmas de programación
• Programación funcional
• Programa: colección de funciones
• Funciones matemáticas: dominio y codominio
• Interactúan entre sí
• Condicionales, recursividad, composición funcional
• Lisp, Scheme
Paradigmas de programación
• Programación Lógica
• Programa: declaraciones lógicas
• Falso o verdadero
• Backtracking
• Prolog
• Guiada por eventos
• Programa: ciclo de respuesta a eventos
• Evento: suceso generado por el entorno
• Visual Basic, Java
Solución de Problemas de Software

Problema

Metodología

Programa
Metodología de Programación

Especificación del problema.


 Análisis del problema.
 Diseño del algoritmo.
 Prueba del algoritmo y refinamiento.
 Codificación.
 Prueba y verificación.
Metodología aplicada.
El proceso de resolución de problemas INICIO
se separa en dos etapas:
ANALISIS DEL
PROBLEMA
 Etapa de resolución
DISEÑO DEL
• Análisis del problema ALGORITMO

• Diseño del algoritmo


VERIFICACION
• Verificación manual del MANUAL
algoritmo
 Etapa de implementación OK

ETAPA
IMPLEMENTACION
Metodología aplicada. INICIO
El proceso de resolución de problemas
ETAPA
se separa en dos etapas: RESOLUCION

 Etapa de resolución SELECCIÓN DEL


LENGUAJE
• Análisis del problema
CODIFICACION DEL
• Diseño del algoritmo PROGRAMA
• Verificación manual del
algoritmo PRUEBA DEL
PROGRAMA
 Etapa de implementación
• Selección del lenguaje OK
• Codificación del programa
• Prueba del programa PUESTA EN
PRODUCCION
• Puesta en producción.
FIN
Fases de la Solución a un Problema.
• Análisis del problema • Verificación.
• Comprender y entender cómo se • Determinar los posibles
llegaría a la solución del errores y depurarlos
problema.
• Definición • Documentación.
• Ingreso ( datos ) • Es el enunciado del problema
• Salida (información o datos
informativos). • Describir como se soluciono el
problema
• Diseño del algoritmo
• Que herramienta utiliza (dfd o ps)
• Qué resultados obtenemos.
• Codificación del programa. • Mantenimiento.
• Seleccionar el lenguaje de • Realizar algunas
programación para codificar el
algoritmo.
modificaciones para las
• Compilación. mejoras del programa.
• Comprobar la sintaxis del
programa.
Ciclo de Vida del Desarrollo de Software
1. Definición o análisis del
problema: Descripción
específica y comprensible del
problema a resolver
2. Diseño del algoritmo:
Planteamiento de los pasos a
seguir para resolver el
problema
3. Transformación del algoritmo
en un programa
independientemente del
lenguaje de programación.
4. Ejecución y validación del
programa
5. Mejoras y correcciones al
programa
Algoritmos

Secuencia bien definida y finita de tareas


bien definidas, cada una de las cuales se
puede realizar con una cantidad de
recursos finitos.
Características de un Algoritmo
De finitud o
Precisión Finitud
Determinismo

Hay un orden Todas las veces que se El algoritmo


preciso en el realicen las tareas o debe terminar
cual deben pasos de un algoritmo, en algún mo-
ejecutarse las con las mismas condi- mento y debe
tareas que ciones iniciales, se de- usar una can-
conforman el ben obtener resultados tidad finita de
algoritmo. idénticos. recursos.
Estructura de un Algoritmo

Datos Instrucciones Estructuras de


control
Para almacenar Las acciones o Las que determinan
información: da- procesos que el el orden en que se
tos de entrada, algoritmo realiza ejecutarán las ins-
de salida o inter- sobre los datos. trucciones del algo-
medios. ritmo.
Representación de Algoritmos

Las representaciones más conocidas


son:

Diagramas de flujo.

Pseudo-código.
Diagramas de Flujo

Esquema de representación gráfico de


algoritmos.

Usa elementos gráficos como rectángulos y


rombos.

Se pueden usar operaciones matemáticas.


Características y formas de los
algoritmos
En diagrama de flujo
Entrada (in) Entrada (in)

inicio ancho largo

Salida (out)

área Área = largo x ancho


fin
PseudoCódigo

Esquema de representación de algoritmos que


usa un subconjunto del lenguaje natural del
diseñador de algoritmos.

Elimina posibles ambigüedades empleando una


notación que aunque libre es más restringida
que la del lenguaje natural.
Características y formas de los
algoritmos
En pseudo-código
Inicio
Escribe: (“calcula el area de cualquier rectangulo”)
Escribe: (“de largo mide”)
Captura: (largo)
Escribe: (“de ancho mide”)
Captura: (“ancho”)
Formula: área = largo x ancho
Escribe: (“ el area mide:” , area)
fin
Estructura básica de un ALGORITMO
ALGORITMO Nombre_Descriptivo
Constantes
Variable = valor deseado o asignado según el enunciado del problema
VARIABLES
variable : tipo de dato
Instrucciones
INICIO
Leer y/o
Sentencias
Calcular

Escribir

FIN
Instrucciones de Entrada y Salida de
Información en un algoritmo
• Instrucción LEER : Se utiliza para ingresar un valor y
asignárselo a una variable del algoritmo.
• Sintaxis : LEER o Ingresar
• (Lista_Variables)
• Instrucción Calcular o Procesar : Se utiliza para los
procesos matemáticos , operaciones lógicos y de
cadena.
• Instrucción ESCRIBIR o Imprimir : Se utiliza para
visualizar el valor de una variable, constante, texto y
combinación de los mismos existentes en un
algoritmo.
¿DÓNDE GUARDA LOS DATOS EL PROGRAMA?
• En las variables

• ¿Qué es una variable?


• Es un sitio en la memoria donde el programa almacena
los datos mientras los está procesando. El dato que
almacena cambia durante la ejecución del programa.

• ¿Qué se necesita para tener una variable en un programa?


• Es necesario declarar la variable.
• La declaración de una variable consiste en asignarle
nombre y tipo a cada una de las variables que el
programa va a utilizar.
• TIPOS DE VARIABLES: los datos deben ser
almacenados en casillas o celdas de memoria.
Reciben el nombre de variables y en ellas se
almacenan los valores numéricos o alfanuméricos.
• VARIABLES REALES: únicamente almacenan números
“reales”, enteros o decimales, positivos o negativos.

• VARIABLES ALFANUMÉRICAS: almacenan cualquier


valor que no se utilice para realizar cálculos
aritméticos. Una letra, cadena de letras, direcciones,
nombres de personas, palabras…
Operadores
OPERADORES ARITMÉTICOS
Operador Operación Ejemplo Resultado
^ Potencia 4^3 64
* Multiplicación 4*3 12
/ División 4/2 2
+ Suma 4+2 6
- Resta 4–2 2
=, Asignación A=3
JERARQUÍA DE OPERACIONES
Jerarquía Resultado Comentario

1a. ( 4 / 2) paréntesis Se ejecutan antes que


ninguna.
2a 4^3 = 64 Después del ()

3a. 4 * 8 = 32 ó 4 / 2 = 2 Tienen la misma


jerarquía
4a. 7–2=5 ó 2+3=5 Tienen la misma
jerarquía
5a. A=A+1 Al final de la
operación se asigna el
valor
Estructura Secuencial
• Son los diversos pasos uno tras de otro siguiendo un orden y respetando las jerarquías que se
tienen, debe tener en cuenta la secuencia de la entrada de los datos, procesos y salidas.

• Todo algoritmo debe tener las siguientes características:


• Debe ser preciso, es decir, cada instrucción debe indicar de forma inequívoca que se tiene que hacer.
• Debe ser finito, es decir, debe tener un número limitado de pasos.
• Debe ser definido, es decir, debe producir los mismos resultados para las mismas condiciones de entrada.
• Todo algoritmo puede ser descompuesto en tres partes:
1. Entrada de datos.
2. Proceso.
3. Salida de resultados.
Ejemplo : Ingrese un número entero, luego súmele 2 unidades y
visualícelo .
ALGORITMO Ejemplo
VARIABLES
A : ENTERO
INICIO
LEER
( “ingresar valor de a:”, A )
Calcular
A← A + 2
ESCRIBIR
( “el valor de A es.:”, A)
FIN.
Ejemplo 2 : Ingrese 2 números enteros y luego calcule y
visualice la suma, diferencia y producto de los 2 números
ingresados.

ALGORITMO Ejemplo3
VARIABLES
A, B, Suma, Resta, Producto : ENTERO
INICIO
LEER
( A, B )
Calcular
Suma ← A + B
Resta ← A – B
Producto ← A * B
ESCRIBIR
(“LA SUMA ES:”, Suma)
ESCRIBIR
( Suma, Resta, Producto)
FIN.
Ejemplo 3 : Ingrese el precio y la cantidad comprada de un
producto, luego calcule y visualice el total a pagar por la
compra realizada.

ALGORITMO Ejemplo5
VARIABLES
Cantidad : ENTERO
Precio, Total : REAL
INICIO
LEER
( Cantidad, Precio )
Calcular
Total ← Cantidad * Precio
ESCRIBIR
( Total )
FIN.

Anda mungkin juga menyukai