Anda di halaman 1dari 55

Asignatura : Programación de ingeniería

Docente: Mg. Ing. Frans Fuentes Maza

FACULTAD DE INGENIERIA CIVIL

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 1


FUNDAMENTOS DE
PROGRAMACIÓN

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 2


Contenidos temáticos
Lenguajes de Programación.
FUNDAMENTOS DE PROGRAMACIÓN:
Definición de Algoritmos y Diagramas de flujo (DFD), casuísticas,
concepto de programa e instrucciones

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 3


ALGORITMO: Definición
Es un conjunto de pasos lógicos
ordenados, secuencialmente y finita,
escritos de tal forma que permiten
visualizar la solución de un problema
determinado en un momento
específico.

Un algoritmo es un procedimiento para resolver un problema. Éste


describe un conjunto finito y ordenado de pasos, reglas o instrucciones
para producir la solución a un problema dado.
Un algoritmo puede ser definido como una secuencia de instrucciones
bien definidas y efectivas, y finaliza con la producción del resultado
esperado a partir de las entradas dadas.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 4


ALGORITMO: Nombre

El nombre en latín de algoritmo


proviene de la traducción que
realizó Fibonacci, de la obra del
matemático árabe Al'Khwarizmi
llamada , Algoritmi de Numero
Indorum.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 5


ALGORITMO: Características
LEGIBLE
CONCRETO

EFICIENTE
FINITO Debe realizar las
Debe
Debe
Debe
Debe
Debe
Debe Debe ser...
generar
indicar
tener
funciones
de
resultado
realizar
estarun
operaciones
estar
estructurado
realización
elbien
orden
mismo
las
terminar
libre
con un
usiempre
deen
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.

NO
DEFINIDO
AMBIGUO
PRECISO

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 6


PARTES DE UN ALGORITMO

Partes que debe describir la definición de un algoritmo:

 Entrada
 Proceso
 Salida

Entrada Proceso Salida

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 7


ALGORITMOS

 Son independientes tanto del lenguaje de programación en el


que se expresan como del hardware en que se ejecutan los
programas
Expresado en Ejecutado en
Código en C
Computadora con
los compiladores
de C y visual
Algoritmo Código en
visual

Computadora con
Código en java el compilador de
java

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 8


ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar
el algoritmo (datos de Datos
entrada) y los datos que
son generados (datos de
salida)
Conforma el grupo de
instrucciones que realizan
las operaciones con los Procesos
datos.

Determinan la organización Estructuras de


de las instrucciones que Control
deben ser realizadas.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 9


ALGORITMO: Elementos
Es necesario
identificar que datos Definición
se necesitan ingresar, de variables y constantes
cuales sirven de
forma auxiliar y
cuales se van a Proceso
Entrada Salida
generar. Estructuras
de control
Las instrucciones que se van a
realizar deben estar bien
estructuradas y tener un orden
lógico, con el fin de evitar Cuerpo del algoritmo
inconsistencias en el resultado.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 10


ALGORITMO: QUIENES PUEDEN HACER UN
ALGORITMO?

Toda persona, implícitamente


y diariamente diseña y realiza
algoritmos, para dar solución
a situaciones cotidianas de
forma natural.
Se diseña algoritmos
consiente de que al realizar
cada paso se obtendrá la
solución de un problema
específico.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 11


ALGORITMO: REQUISITOS
Los algoritmos se crean para resolver
problemas. Debe Definirse del
Es importante que junto al algoritmo, describamos problema
claramente el problema que éste nos permite resolver.

No debemos omitir el contexto de nuestros algoritmos.


Es necesario establecer lo que se necesita y dónde se debe comenzar. Debe estar dentro de
contexto
Seguir los pasos del algoritmo debe llevarnos a la resolución del
problema.
Siempre que sea posible seguiremos los pasos de nuestro Debe resolver el
algoritmo para comprobar que son efectivamente correctos y problema
conducen efectivamente a la solución esperada.

Por ejemplo:
Si se requiere hallar la velocidad de un automóvil, es necesario,
Debe evitar la
definir si la distancia debe ser en metros, kilómetros, etc y el
tiempo estará dado en segundos u horas, ya que la velocidad puede ambigüedad
representarse en Km/h ó mts/seg.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 12


ALGORITMO: Cómo se hace?

Supongamos que deseamos ir al cine a


ver la tercera película de La Guerra delas
Galaxias, ¿cómo procedemos?

Buscar la página de cines en el


diario local y mirar si ve la película
anunciada. Si la ve anunciada mira
en qué cine la hacen y se va a verla.
Si no la ve anunciada, espera a los
estrenos de lasemana que viene.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 13


ALGORITMO: Cómo se hace?

Buscar la página de cines en el diario


1
local, con fecha de hoy

2 Revisar la cartelera de arriba abajo y de izquierda


a derecha, buscando entre los títulos existentes.

3 Si se encuentra el título La Guerra de las


Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios

Si no se encuentra el título en la cartelera,


4
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 14


ALGORITMO: Fases de Diseño
Definición del problema

Análisis del problema

Selección de la mejor alternativa

Diagramación

Prueba de escritorio

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 15


ALGORITMO: Definición del Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo

Es importante que conozcamos


exactamente que se desea.

Mientras qué esto no se comprenda, no


tiene caso pasar a la siguiente etapa.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 16


ALGORITMO: Análisis del Problema
Los datos de
entrada que nos Recursos
suministran Fórmulas

Área
Proceso de
Trabajo

Los datos de
salida o
resultados que
Entendido el problema para se esperan
resolverlo es preciso analizar

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 17


ALGORITMO: Selección de Alternativa

Analizado el problema
Posiblemente tengamos Lo importante es determinar
varias formas de cuál es la mejor alternativa
resolverlo
Se debe tener en La que produce los
cuenta el principio de resultados Esperados en el
que las cosas siempre menor tiempo y al menor
se podrán hacer de una costo
mejor forma.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 18


ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada

Una vez que


sabemos
cómo resolver el
problema Plasmar la
solucion
mediante el
Pseudocódigo

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 19


ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:

Dar diferentes datos


de entrada al programa

Es Recomendable
Dar diferentes datos de entrada y seguir la secuencia indicada
considerar todos los posibles
casos, aún los de excepción o no
esperados, para asegurar que el hasta
programa no produzca errores en obtener los resultados
ejecución cuando se presenten
estos casos.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 20


ALGORITMO: CONCEPTOS

Mínima parte de la información.


Dato Se refiere a los elementos que se
utilizan en los algoritmos para realizar
alguna operación sobre estos.

Corresponde a un espacio de memoria


Constante que almacena un dato que dentro del
programa en ejecución mantiene siempre
su contenido (valor).

Corresponde a un espacio de memoria


Variable que almacena un dato que dentro del
programa en ejecución cambia o varía
su contenido (valor)..

Corresponde al tipo de valor que puede


almacenarse en un espacio de memoria
Tipo de Dato definido y a la cantidad de espacio que
requiere para almacenar un valor.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 21


ALGORITMO: Tipos de Datos
Boleano

Real
cadena

Lógicos
Entero
Caracter
Numéricos Carácter
Tipos
de
Datos

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 22


ALGORITMO: Operadores
+ Aritméticos
> -
>= <
=
/ %
<=
Relacionales ^
!=
<> No
Y &&
Lógicos

O ||

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 23


ALGORITMO: OTRO EJEMPLO
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar la
llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 24


ALGORITMO: OTRO EJEMPLO
El siguiente algoritmo calcula el área y el perímetro de un rectángulo

Datos de entrada: b y a (base y altura)


Datos de salida: ar y pe (área y perímetro) Análisis resumido
Procesos: ar = b*a, pe = 2*(b + a) del problema

1. Inicio
2. Leer base y altura (b, a)
3. ar ← b*a
4. pe ← 2*(b + a)
5. Escribir “Área del rectángulo: ”, ar
6. Escribir “Perímetro del rectángulo: ”, pe
7. Fin

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 25


ALGORITMO: TÉCNICAS DE DISEÑO

Es una técnica de diseño Top Down


descendente donde se realiza
un refinamiento sucesivo, Divide y vencerás
que permite darle una
organización a las
instrucciones, en forma de
módulos o bloques.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 26


ALGORITMO: TÉCNICAS DE REPRESENTACIÓN
Pseudocódigo Inicio
Instrucción 1
Instrucción 2
Describen un algoritmo de forma similar a un
Si condición entonces
lenguaje de programación pero sin su rigidez, de
Instrucción 3
forma más parecida al lenguaje natural. El ..
pseudocódigo no está regido por ningún estándar. .
Algunas palabras usadas son LEER/IMPRIMIR para Instrucción n
representar las acciones de lectura de datos y Fin
salida de datos.

Diagrama de Flujo
Es una técnica que permite representar
gráficamente las operaciones y estructuras
que se van a realizar, mediante una
simbología estándar, con un único punto
de inicio y uno de finalización.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 27


PSEUDOCÓDIGO:Cómo se Hace?
Cada instrucción que se va a realizar
1
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.

2 Se debe mantener una identación o sangría


sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras

3 La representación de las estructuras son


similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 28


PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.

Leer : Denota la acción de introducir datos o variables


desde un dispositivo estándar de entrada.

Imprimir : Representa la acción de enviar datos desde


variables a un dispositivo estándar de salida.

Calcular : Denota la realización de cualquier operación


aritmética que genere valores para ser
almacenados en una variable.

Fin: Denota el punto de finalización del algoritmo.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 29


DIAGRAMA DE FLUJO

El uso de diagramas de flujo como herramienta de programación


tiene beneficios que resumidamente se detallan:
Rápida comprensión de las relaciones
Se pueden usar como modelos de trabajo para el diseño de nuevos
programas
Documentación adecuada de los programas
Produce una codificación eficaz en los programas
Depuración y pruebas ordenadas de programas
Fácil de traducir a cualquier lenguaje de programación.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 30


Representación gráfica del algoritmo:
Diagramas de flujo

Símbolo Representación Significado

Flechas o líneas de flujo Indica el sentido de


ejecución de las acciones
Rectángulo Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo Representa una entrada o
salida
Rombo Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado Representa el inicio y fin del
diagrama
Círculo Se usa como conector entre
dos partes del diagrama

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 31


Recordemos …

◦ Un programa se define:

1. Bloque de declaraciones
“Secuencia de instrucciones
lógicamente ordenadas que Su misión consiste en indicar
pueden ser ejecutadas en una al procesador que reserve
computadora”. espacio en la memoria para
una constante, variable u
objeto del programa, indicando
asimismo su tipo y nombre.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 32


Recordemos …

◦ Un programa se define: 2. Bloque de instrucciones


Constituído por un conjunto de operaciones
y la secuencia de instrucciones que se han
“Secuencia de instrucciones de realizar para la obtención de los
lógicamente ordenadas que resultados deseados. Dentro de éste bloque
se diferencian tres partes fundamentales:
pueden ser ejecutadas en una
computadora”. (a) Entrada de datos: instrucciones que toman
datos de un dispositivo externo.

(b) Proceso: instrucciones que


modifican/procesan los datos.

(c) Salida de resultados: instrucciones que


toman los datos finales de la memoria
central y los envía a dispositivos externos.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 33


Metodología de diseño
Programación estructurada
– Conjunto de técnicas que aumentan la productividad de un programa,
reduciendo el tiempo para:
• Escribir • Depurar
• Verificar • Mantener

– Utiliza un número limitado de estructuras de control que minimizan la


complejidad de los problemas

– Teorema de BOHM-JACOPINI: cualquier programa, por complejo que


sea, puede escribirse utilizando sólo tres estructuras de control:
– Secuencial
– Selectiva
– Repetitiva

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 34


Secuencial

Actividad 1

Actividad 2

Actividad n

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 35


Simple: Selección Doble:


Condición sí no
condición

actividad Actividad 1
no Actividad 2

Múltiple:

sino sino
Condición Condición Condición

sí sí sí
Actividad 1 Actividad 2 Actividad n-1 Avtividad n

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 36


Repetición

Test false
condition

true
activity

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 37


1. Secuenciales
Implica escribir un paso tras de otro, donde el primero
que se haya escrito es el primero que se ejecutará.

Inicio
Acción1
Acción2
.
.
AcciónN
Fin

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 38


1. Secuenciales
Ejemplo:

Pseudocódigo DFD

Inicio
Leer N1, N2
SUMA=N1+N2
Escribir SUMA
Fin

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 39


2.Selectivas: Se utilizan para TOMAR DECISIONES.

 Simples
Lo que se hace es EVALUAR la condición, si la condición
es verdadera realiza la acción, en caso contrario
termina el programa.

Si <condición> entonces
Acción(es)
Fin-si

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 40


2) Selectivas Simples
Ejemplo:
Pseudocódigo DFD
Inicio
Leer COMPRA
Si COMPRA>1000 entonces
DESCUENTO=COMPRA*0.10
PAGO=COMPRA–DESCUENTO
Escribir PAGO
Finsi
Fin

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 41


2) Selectivas
 Doble
Luego de evaluar una condición si esta se cumple, es
decir si es verdadera realiza una serie de acciones, y si
esta es falsa se realiza otra serie de acciones distinta a
la primera.

Si <condición> entonces
Acción(es)
Sino
Acción(es)
Finsi

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 42


2) Selectivas Doble
Ejemplo:
Pseudocódigo DFD
Inicio
Leer EDAD
Si EDAD>=18 entonces
Escribir “Mayor de edad”
Sino
Escribir “Menor de edad”
Finsi
Fin

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 43


2) Selectivas
 Múltiple
Se realiza a partir de anidar estructuras simples y/o
dobles, de manera tal que se realicen diferentes
acciones con base a varias comparaciones, así habrá
tantas opciones como se requieran.
Si <condición> entonces
Acción(es)
Sino
Si <condición> entonces
Acción(es)
Sino
.
. Varias condiciones
.
Finsi
Finsi

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 44


2) Selectivas Múltiple
Ejemplo:
Pseudocódigo DFD
Inicio
Leer NUMERO
Si NUMERO=0 entonces
Escribir “Número cero”
Sino
Si NUMERO>0
Escribir “Número positivo”
Sino
Escribir “Número negativo”
Finsi
Finsi
Fin

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 45


3. Repetitivas: Este tipo de estructura se utilizan
para ejecutar acciones repetidamente, esto se
hace posible mediante una secuencia de
instrucciones que se repiten una y otra vez y así
evitamos escribir múltiples veces las mismas
instrucciones.

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 46


3) Repetitiva
 Para
Esta estructura ejecuta los pasos de la solución del
algoritmo un número definido de veces y de modo
automático controla el número de iteraciones o
pasos a través del cuerpo del ciclo. Para el control se
utiliza un contador en el cual se va acumulando el
número de veces que se ha repetido las
instrucciones.
Hacer para V.C = LI a L.S
Acción1
Acción2 V.C Variable de control de ciclo
. L.I Límite inferior
L.S Límite superior
.
AcciónN
Fin para

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 47


3) Repetitiva Para
Ejemplo:
Pseudocódigo

Proceso sin_titulo
Para DATOS<-1 Hasta 5 Con Paso 1 Hacer
Leer NUM1,NUM2;
SUMA<-NUM1+NUM2;
Escribir "el resultado de sumar ",NUM1," + ",NUM2," = ",SUMA;
FinPara
FinProceso

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 48


3) Repetitiva Para
Ejemplo:

DFD

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 49


3) Repetitiva
 Mientras
Este se utiliza cuando NO sabemos el número de
veces que se ha de repetir un ciclo, los ciclos se
determinan por una condición que se evalúa al inicio
del ciclo, es decir, antes de ejecutarse todas los
pasos.
Hacer mientras <condición>
Accion1
Accion2
.
.
AccionN
Fin-mientras

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 50


3) Repetitiva Mientras
Ejemplo

Pseudocódigo
Proceso sin_titulo
Escribir "Hay alumno";
Leer ALUM;
Mientras ALUM="s" Hacer
Leer CALIF1,CALIF2;
PROM<-(CALIF1+CALIF2)/2;
Escribir "El promedio del alumno es ",PROM;
Escribir "Hay alumno";
Leer ALUM;
FinMientras
FinProceso

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 51


3) Repetitiva Mientras
Ejemplo

DFD

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 52


3) Repetitiva
 Hacer – Mientras ó Repetir
En esta estructura el ciclo se va a repetir hasta que la
condición se cumpla, a diferencia de las estructuras
anteriores la condición se escribe al finalizar la
estructura.
Repetir
Accion1
Accion2
.
.
AccionN
Hasta <condicion>
INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 53
3) Repetitiva Hacer – Mientras ó Repetir
Ejemplo
Pseudocódigo
Proceso sin_titulo
Repetir
Leer SALARIO;
SAL_FIN<-SALARIO*1.15;
Escribir "El salario con aumento es",SAL_FIN;
Escribir "hay otro empleado";
Leer EMPLEA;
Hasta Que EMPLEA="n"
FinProceso

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 54


3) Repetitiva Hacer – Mientras ó Repetir
Ejemplo

Convertido a
diagrama de flujo
desde PseInt

INGENIERIA CIVIL- PROGRMACIÓN DE INGENIERIA 55

Anda mungkin juga menyukai