Unidad4-Introducción A La Programación.

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 48

Software de ingeniería civil

MCyTE. María de los Ángeles Martínez Morales


Unidad 4. Introducción a la
programación.
4.1. Introducción.

4.2. Algoritmos.

4.3. Diagramas de flujo.

4.4. Estructuras lineales.

4.5. Estructuras selectivas.

4.6. Estructuras repetitivas.

5 de noviembre al 5 de diciembre

Evaluación: 6 de diciembre
Planeación de entrega de evidencias

No. Evidencia % Entrega


1 Glosario gráfico 10% 08/Nov/2018
UNIDAD 4

2 Ejercicios con algoritmos y Pseudocódigo 40% 21/Nov/2018


3 Examen práctico 40% 6/Dic/2018
4 Portafolio de evidencias 10% 06/Dic/2018
Total de puntos para la cuarta unidad 100%
4.1. Introducción.

Escribir un programa de
computadora es una actividad
compleja que exige
conocimientos, habilidades,
creatividad y dominio de las
técnicas y herramientas de
programación.
4.1. Introducción.

 Antes de escribir un programa es


necesario:

1. Pensar detenidamente sobre la


naturaleza y las características del
problema que se pretende resolver,
Analizo
2. Encontrar la forma de realizar cada
operación requerida para solucionar
el problema y
Resuelvo
Programo
3. Organizar las actividades a realizar
para obtener los resultados
esperados.
4.1. Introducción.

Sólo cuando se cuenta con


el diseño de la solución se
hace uso de una
computadora y un
lenguaje de programación
para escribir el código del
programa.
4.1. Introducción.

 Ejemplo
 Lista de productos que pidió mamá (Lista del súper
o mercado)

1 kg. de bistec de res


 1 kg. de tomate
 1 diente de ajo
 1 kg. de tortillas
 1 coca cola
4.2. Algoritmos.

 La palabra algoritmo proviene de la traducción al


latín del término árabe Al-Khowarizmi, que significa
originario de Khwarizm, nombre antiguo del mar de
Aral (Galve et al, 1993).

 De otra parte, Al-Khowarizmi es el nombre con que


se conoció a un matemático y astrónomo persa que
escribió un tratado sobre manipulación de números
y ecuaciones en el Siglo IX. (Brassard y Bratley,
1997), (Joyanes et al, 1998).
4.2. Algoritmos.

 CONCEPTO

 “Conjunto finito, y no ambiguo de etapas expresadas


en un cierto orden que, para unas condiciones iniciales,
permiten resolver el problema en un tiempo finito”
(Galve et al, 1993: 3);

 “Conjunto de reglas para efectuar un cálculo, bien sea


a mano, o más frecuentemente, en una máquina”
(Brassard y Bratley, 1997: 2).
4.2. Algoritmos.

 CARACTERÍSTICAS DE UN ALGORITMO

 Ser preciso: esto significa que las operaciones o pasos del algoritmo
deben desarrollarse en un orden estricto, ya que el desarrollo de
cada paso debe obedecer a un orden lógico.

 Ser definido: el resultado de la ejecución de un algoritmo depende


exclusivamente de los datos de entrada; es decir, siempre que se
ejecute el algoritmo con el mismo conjunto de datos el resultado
será el mismo.

 Ser finito: esta característica implica que el número de pasos de un


algoritmo, por grande y complicado que sea el problema que
soluciona, debe ser limitado.
4.2. Algoritmos.
 CARACTERÍSTICAS DE UN ALGORITMO

 Notación: Para que el algoritmo sea entendido por cualquier persona


interesada es necesario que se exprese en alguna de las formas
comúnmente aceptadas, esto con el propósito de reducir la ambigüedad
propia del lenguaje natural.

 Corrección: el algoritmo debe ser correcto, es decir debe satisfacer la


necesidad o solucionar el problema para el cual fue diseñado. Para
garantizar que el algoritmo logre el objetivo, es necesario ponerlo a
prueba; a esto se le llama verificación, una forma sencilla de verificarlo es
mediante la prueba de escritorio.

 Eficiencia: hablar de eficiencia o complejidad de un algoritmo es evaluar


los recursos de cómputo que requiere para almacenar datos y para
ejecutar operaciones frente al beneficio que ofrece. En cuanto menos
recursos requiera será más eficiente el algoritmo.
4.2. Algoritmos.

 NOTACIONES PARA ALGORITMOS

 Se ha definido un algoritmo como el conjunto de


pasos para encontrar la solución a un problema o
para resolver un cálculo.

 Estos pasos pueden expresarse de diferentes


formas, como: descripción, pseudocódigo,
diagramas y funciones matemáticas.
Ejercicio 1

 Vamos a realizar una suma de dos números

 Analizo
 Necesitamos 3 variables

 Resuelvo
2 +2=4

 Programo
Ejercicio 1

 Vamos a
realizar la
suma de dos
números
4.3. Diagramas de flujo.

Es la representación gráfica de un algoritmo


mediante un conjunto de símbolos que
representan las operaciones y estructuras básicas
de programación.
4.3. Diagramas de flujo.

 La representación mediante diagrama de flujo hace


que el algoritmo se comprenda fácilmente, por cuanto
es visible su estructura y el flujo de operaciones.

 No obstante, cuando el algoritmo es extenso es difícil


de construir el diagrama.

 Aunque se puede hacer uso de conectores dentro y


fuera de la página, el uso de estos afecta la
comprensión de la lógica del algoritmo.
4.3. Diagramas de flujo.

 La estandarización de los símbolos para la elaboración


de Diagramas de Flujo tardó varios años.

 Con el fin de evitar la utilización de símbolos diferentes


para representar procesos iguales, la Organización
Internacional para la Estandarización (ISO, por su sigla
en inglés) y el Instituto Nacional Americano de
Estandarización (ANSI, por su sigla en inglés),
estandarizaron los símbolos que mayor aceptación
tenían en 1985.
4.3. Diagramas de flujo.
4.3. Diagramas de flujo.

 Reglas para la elaboración de diagramas de flujo


 Cuando el algoritmo se desea expresar en forma de diagrama de flujo, se deben
tener en cuenta algunas reglas o principios básicos para su elaboración (Rojas &
Ñacato, 1980):

 Poner un encabezado que incluya un título que identifique la función del algoritmo;
el nombre del autor; y la fecha de elaboración;
 Sólo se pueden utilizar símbolos estándar (ISO 5807);
 Los diagramas se deben dibujar de arriba hacía abajo y de izquierda a derecha;
 La ejecución del programa siempre empieza en la parte superior del diagrama;
 Los símbolos de “Inicio” y “Final” deben aparecer solo una vez;
 La dirección del flujo se debe representar por medio de flechas (líneas de flujo)
 Todas las líneas de flujo deben llegar a un símbolo o a otra línea;
 Una línea de flujo recta nunca debe cruzar a otra. Cuando dos líneas de flujo se crucen,
una de ellas debe incluir una línea arqueada en el sitio donde cruza a la otra
(ilustración 2-5);
4.3. Diagramas de flujo.

 Reglas para la elaboración de diagramas de flujo


 Se deben inicializar las variables que se utilicen o permitir la asignación
de valores mediante consulta al usuario;
 Las bifurcaciones y ciclos se deben dibujar procurando una cierta simetría;
 Cada rombo de decisión debe tener al menos dos líneas de salida (una
para SI y otra para NO);
 Las acciones y decisiones se deben describir utilizando el menor numero de
palabras posible; sin que resulten confusas o poco claras;
 Si el Diagrama se vuelve complejo y confuso, es mejor utilizar símbolos
conectores para reducir las líneas de flujo;
 Todo el Diagrama debe ser claro, ordenado y fácil de recorrer;
 El Diagrama se debe probar recorriéndolo con datos iniciales simples
(prueba de escritorio).
4.3. Diagramas de flujo.

 Los Diagramas se pueden dibujar utilizando lápiz y papel.

 También existe software especial para elaborar Diagramas de Flujo en forma


rápida y fácil. Los programas para esta tarea permiten a los estudiantes:

 Almacenar digitalmente los diagramas construidos;


 Introducirles modificaciones fácilmente;
 Imprimir copias de los diagramas para compartirlos con compañeros o
documentar sus trabajos;
 Exportarlos en varios formatos gráficos para utilizarlos en otros programas;
 Alinear y organizar los símbolos automáticamente;
 Agregar colores, tamaño de letra y sombreados para
lograr una apariencia profesional;
 Ahorrar tiempo en la modificación de un diagrama ya que no es necesario
hacer todo el dibujo nuevamente;
4.4. Estructuras lineales.

 ESTRUCTURAS LÓGICAS DE SECUENCIA

 Definición:
 Las Estructuras Lógicas de Secuencia son aquellas en las que una instrucción sigue
a otra en secuencia.

 Las instrucciones se ejecutan una a una de tal modo que,finalizada la ejecución de


una instrucción, se inicia la ejecución de la siguiente hasta completar la ejecución de
todas las instrucciones que forman parte de la secuencia.

 Las Estructuras Lógicas de Secuencia son las estructuras lógicas más comunes y
constituyen la base sobre la cual se desarrollan las demás estructuras lógicas.
4.4. Estructuras lineales.

 ESTRUCTURAS LÓGICAS DE SECUENCIA

 Tipos

 Estructura para la salida de información


 Estructura para la entrada de datos
5.1. Entrada y salida de datos

 Estructura para la entrada de datos

 Definición:

 La entrada de datos se refiere a la forma o


mecanismos que se emplean para ingresar los datos
que necesita un algoritmo para procesarlos y obtener,
posteriormente, la información necesaria.

 Este tipo de estructura permite ingresar datos a través


de un dispositivo de entrada de una computadora.
5.1. Entrada y salida de datos

 Estructura para la entrada de datos


 Representación:
 Para representar la entrada de datos se utiliza:
 La regla;
LEER En pseudocódigo.
 El símbolo;

En diagrama de flujo.
5.1. Entrada y salida de datos

 Estructura para la salida de información


 Definición:

 La salida de información se refiere a la forma o


mecanismos que se emplean para poder conocer el
resultado de un determinado algoritmo.

 Este tipo de estructura permite mostrar información a


través de un dispositivo de salida de una
computadora.
5.1. Entrada y salida de datos

 Estructura para la salida de datos


 Representación:
 Para representar la salida o visualización de la
información se utiliza:
 La regla;
ESCRIBIR En pseudocódigo.
 El símbolo;
En diagrama de flujo.
4.5. Estructuras selectivas.

 Las Estructuras Lógicas de Decisión

 Son construcciones que permiten alterar el


flujo secuencial de una solución, de tal forma que en
función de una condición o el valor de una variable, se
pueda desviar la secuencia de la solución entre
diferentes alternativas.

 Las Estructuras Lógicas de Decisión son conocidas


también como Estructuras de Selección.
4.5. Estructuras selectivas.

 Una estructura selectiva se define como una rutina


que selecciona y ejecuta uno y solo uno de los
procesos alternativos posibles cuando cumplen con
la condición establecida.

 Estas sentencias o enunciados veritativos contienen


operadores relacionales de comparación (=, >, <,
>=, <=, <>) y/o booleanos (Y, O, NO) y su
resultado siempre es un valor verdadero o falso.
4.5. Estructuras selectivas.

 Dicha condición puede tomar cualquiera de las formas


relacionadas en las tablas de desigualdades para
sentencias simples y compuestas, en las cuales se
exhiben tres formas de representación matemática, su
explicación y la sintaxis a nivel de un algoritmo.

 Es una costumbre muy sana (y evitará muchos dolores


de cabeza) adquirir el hábito de realizar todas las
representaciones de una condición antes de empezar a
codificar mientras se adquiere destreza en el análisis y
diseño de algoritmos.
4.5. Estructuras selectivas.

 Estructuras lógicas de decisión simple

 Definición:

 Una estructura de decisión simple “SI... FINSI” permite


alterar el flujo secuencial (o pasos secuenciales) de una
solución ejecutando un conjunto de pasos adicionales si
el resultado de una condición lógica es verdadera.

 Este tipo de estructura es útil cuando se tiene la


posibilidad de escoger una determinada opción.
4.5. Estructuras selectivas.
4.5. Estructuras selectivas.
4.5. Estructuras selectivas.

 Estructuras lógicas de decisión doble

 Definición:

 Una estructura de decisión doble “SI... SINO... FINSI” permite alterar


el flujo secuencial (o pasos secuenciales) de una solución, ejecutando
un conjunto de pasos dependiendo del resultado de una condición
lógica. Si la condición resulta verdadera, se ejecuta un conjunto de
pasos, y si la condición resulta falsa, se ejecuta otro conjunto de pasos.

 En ningún caso se podrá ejecutar ambos conjuntos de pasos a la vez.


Este tipo de estructura es útil cuando se tiene la necesidad de escoger
entre dos posibles opciones.
4.5. Estructuras selectivas.
4.5. Estructuras selectivas.
4.5. Estructuras selectivas.

 Estructuras lógicas de decisión múltiple

 Definición:

 Una estructura de decisión múltiple “CUANDO... FINCUANDO”


permite alterar el flujo secuencial de una solución ejecutando un
conjunto de pasos dependiendo del valor de una variable.
Generalmente, para cada posible valor que pueda tener la variable se
define un conjunto de pasos a ejecutar. También se define un conjunto
de pasos a ejecutar en caso que uno de los valores de la variable no
tenga asociado un conjunto de pasos a ejecutar.

 Este tipo de estructura es útil cuando se tiene la necesidad de escoger


entre más de dos opciones.
4.5. Estructuras selectivas.
4.5. Estructuras selectivas.
4.6. Estructuras repetitivas.

 Este tipo de estructuras también se conocen como


ciclos, bucles o estructuras de iteración y son las que
se utilizan para programar que una o más acciones
se ejecuten repetidas veces.

 Son muy importantes en programación ya que hay


muchas actividades que deben ejecutarse más de
una vez.
4.6. Estructuras repetitivas.

 Considere el caso de una aplicación para elaborar una


factura.

 El cliente puede comprar un producto, pero también puede


comprar dos, tres o más.

 Las mismas operaciones ejecutadas para facturar el primer


producto deben ejecutarse para el segundo, el tercero, …,
y el enésimo producto.

 Las estructuras iterativas permiten que se escriba las


instrucciones una vez y se utilicen todas las que sea
necesario.
4.6. Estructuras repetitivas.

 Todas las estructuras de repetición tienen como mínimo dos


partes: definición y cuerpo.

 La definición incluye una condición que indica cuántas veces


ha de repetirse el cuerpo del ciclo; y, si no se conoce con
anticipación el número de repeticiones, la condición indicará
las circunstancias en que el cuerpo del ciclo se repite, por
ejemplo utilizando una variable de tipo conmutador.

 El cuerpo del ciclo está conformado por la instrucción o el


conjunto de instrucciones que incluye la estructura de
repetición y que serán ejecutadas repetidas veces.
4.6. Estructuras repetitivas.

 Control de iteraciones

 Para establecer la condición de iteración y tener


control sobre la misma, casi siempre, es necesario
utilizar una variable, ya se trate de un contador o
un conmutador. A esta variable se la denomina
variable de control de ciclo (Joyanes y Zahonero,
2002).
4.6. Estructuras repetitivas.

 Una variable de control de iteraciones tiene tres


momentos:

 Inicialización

 Evaluación

 Actualización
4.6. Estructuras repetitivas.

 Inicialización.

 Para que una variable sea utilizada en la definición de una


estructura iterativa es necesario conocer su valor inicial.

 Ya que se trata siempre de contadores o conmutadores, su


valor no será leído en la ejecución del programa y es
necesario que el programador lo asigne antes de incluir la
variable en una condición.

 Si la variable no se inicializa puede ocurrir que el ciclo no


se ejecute ninguna vez o que se ejecute infinitamente.
4.6. Estructuras repetitivas.

 Evaluación. La evaluación de la variable puede


realizarse antes o después de cada iteración, esto
depende de la estructura utilizada, para decidir si
ejecuta una vez más el cuerpo de ciclo o si sale y
continúa con la ejecución de las demás instrucciones.

 Actualización. Si la variable se inicializa en un valor


que permite la ejecución del ciclo es necesario que, en
cada iteración, se actualice de manera que en algún
momento de la ejecución se produzca la salida del
ciclo. Si el bucle está controlado por una variable y
esta no se actualiza se genera un ciclo infinito.
4.6. Estructuras repetitivas.

 Al especificar iteraciones controladas por una variable


es importante formularse las preguntas:

 ¿Cuál es el valor inicial de la variable?


 ¿Qué valor debe tener la variable para que el cuerpo del
ciclo se repita?
 ¿Cómo cambia la variable?

 Las respuestas a estas preguntas obligarán a definir los


tres momentos referidos y evitar errores de lógica.
4.6. Estructuras repetitivas.

Niño1 Condición
Dar cinco vueltas
Niño5 Niño2 Instrucción
Dar un salto

Contador
Niño4 Niño3 1

También podría gustarte