Metodología de la Programación Sesión 1

39
METODOLOGÍA DE LA PROGRAMACIÓN Sesión 1:Algoritmos, Diagramas de flujo y Programas

description

Sesión 1:Algoritmos, Diagramas de flujo y Programashttp://fime-tech.vacau.comdescargar video y diapositivahttp://fime-tech.vacau.com/index.php?option=com_content&view=article&id=102&Itemid=100

Transcript of Metodología de la Programación Sesión 1

Page 1: Metodología de la Programación Sesión 1

METODOLOGÍA DE LA

PROGRAMACIÓN Sesión 1:Algoritmos, Diagramas de

flujo y Programas

Page 2: Metodología de la Programación Sesión 1

LUIS E. FUNESFIME-UANL

Page 3: Metodología de la Programación Sesión 1

1.1 PROBLEMAS Y ALGORITMOS

Formalmente definimos un algoritmo como un conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema

Page 4: Metodología de la Programación Sesión 1

No existen reglas especificas que nos permitan resolver un problema. Sin embargo se puede creer que se puede ofrecer un conjunto de técnicas y herramientas metodológicas que permitan flexibilidad y estructura al razonamiento utilizado en la solución de un problema. Esto provocara finalmente la construcción de algoritmos eficientes.

Page 5: Metodología de la Programación Sesión 1

Ejemplo 1.1Construya un algoritmo para preparar pechugas de pollo en salsa de elote y chile poblanoIngredientes (para 6 personas)3 pechugas deshuesadas, sin piel y partidas a la

mitad1 diente de ajo4 gramos de pimienta negraSal6 cucharadas de aceite5 chiles poblanos asados y limpios½ taza de leche¼ taza de crema ligera1 lata de crema de elote

Page 6: Metodología de la Programación Sesión 1

Algoritmo (preparación)Muela el ajo, la pimienta y un poco de sal y

únteselo a las pechugasCaliente el aceite y dore las pechugasLicue los chiles con la leche y la crema, y

mézclelos con la crema de eloteEn una fuente coloque las pechugas y báñelas

con la mezcla anteriorCubra el platón con papel aluminio y hornee a

200°C durante 15 minutos

Nota: El algoritmo fue repetido varias veces y siempre arrojo el mismo resultado: un platillo exquisito

Page 7: Metodología de la Programación Sesión 1

Podemos observar las etapas que debemos seguir para la solución de un problema.

Problema

Etapa 1Análisis

profundo del problema

Etapa 2Construcción del algoritmo

Etapa 3Verificación del

Algoritmo

Nota: por verificación del algoritmo entendemos el seguimiento del mismo con datos que sean representativos del problema que

queremos resolver

Page 8: Metodología de la Programación Sesión 1

Las características a seguir en el algoritmo deben que deben reunir son las siguientes:

Precisión: Los pasos a seguir en el algoritmo deben ser precisados claramente.

Determinismo: El algoritmo, dado un conjunto de datos idénticos de entrada, siempre deben arrojar los mismos resultados.

Finitud: El algoritmo, independientemente de la complejidad del mismo, siempre debe ser longitud finita

Page 9: Metodología de la Programación Sesión 1

Por otra parte, un algoritmo consta de tres secciones módulos principales

Algoritmo

Datos de

entrada

Procesamiento de los datos

Impresión de resultados

Page 10: Metodología de la Programación Sesión 1

1.2 DIAGRAMAS DE FLUJORepresenta la esquematización grafica

de un algoritmo. Realmente muestra los pasos o procesos a seguir para alcanzar una solución de un problema. Su correcta construcción es sumamente importante por que a partir del mismo se escribe un programa en algún lenguaje de programación. Si el diagrama de flujo esta completo y correcto, el paso del mismo a un lenguaje de programación es relativamente simple y directo

Page 11: Metodología de la Programación Sesión 1

1.2.1 REGLAS PARA LA CONSTRUCCIÓN DEL DIAGRAMA DE FLUJO

Los símbolos presentados , colocados adecuadamente permiten crear una estructura grafica flexible que ilustra los pasos a seguir para alcanzar un resultado especifico. El diagrama de flujo facilita mas adelante la escritura del programa en algún lenguaje de programación.

Page 12: Metodología de la Programación Sesión 1

Representación del Símbolo

Explicación del símbolo

Se utiliza para marcar el inicio y el fin del diagrama de flujo

Para introducir los datos de entrada. Expresa Lectura

Representa un proceso. Se expresan asignaciones, operaciones aritméticas, cambios de valor de celdas en memoria, etc.

Representa una decisión. Almacena una condición y dependiendo de l resultado de la evaluación, sigue por una de las ramas . Se usa en la estructura selectiva si entonces y en las estructuras repetitivas

Representa la estructura selectiva sobre si entonces/si no . Almacena una condición es verdadera continua por la izquierda si es falsa continua por la derecha

No

Si

Si No

Page 13: Metodología de la Programación Sesión 1

Representación del Símbolo

Explicación del símbolo

Se representa para una decisión múltiple. Se almacena un selector, y dependiendo del valor de dicho selector se sigue por una de las ramas. Se utiliza para estructura selectiva si múltiple

Se utiliza para representar la impresión de un resultado. Expresa escritura

Expresa la dirección del flujo

Expresa conexión dentro de una misma pagina

Expresa conexión entre paginas diferentes

Expresa un modulo de un problema. Para continuar con el flujo normal, primero hay que resolver el su problema.

Page 14: Metodología de la Programación Sesión 1

Inicio

Lectura de

datos

Procesamiento de datos

Impresión de

resultados

Fin

Nota:Se debe observar que estas fases se presentan en la mayoría de los diagramas de flujo, aunque a veces en orden diferente o repitiéndose algunas de ellas. También es frecuente tener que realizar toma de decisiones y repetir una serie de pasos un numero determinado o no de veces.

Page 15: Metodología de la Programación Sesión 1

1.- todo diagrama debe de tener un inicio y un fin

Inicio

Fin

2.- las líneas que indican el flujo deben de ser rectas, verticales y horizontales

Mal Mal

Bien

3.- todas las líneas deben estar conectadas, la conexión puede ser un símbolo que exprese lectura, proceso, decisión, etc.

Page 16: Metodología de la Programación Sesión 1

4.- El diagrama se debe de construir de arriba hacia abajo y de izquierda a derecha.5.- La notación del diagrama debe ser independiente del lenguaje de programación.6.- Es conveniente que cuando realizamos una tarea compleja, poner comentarios.7.- Si el diagrama requiere mas de una hoja, se debe usar los conectores adecuados y enumerar las paginas.8.- No puede llegar mas de una línea a un símbolo

Mal

Mal

Bien

Bien

Page 17: Metodología de la Programación Sesión 1

1.3 CONCEPTOS FUNDAMENTALES

Se trataran conceptos fundamentales para la construcción de algoritmos, diagramas de flujo y programas. Primero se analizara los tipos de datos, luego estudiaremos los conceptos de identificador, constantes y variables, después se analizara las operaciones aritméticas y expresiones lógicas. Y al final los bloques de asignación

Page 18: Metodología de la Programación Sesión 1

1.3.1 TIPOS DE DATOSLos datos a procesar por una

computadora pueden clasificarse en: Simples (solo ocupan una sola casilla) Estructurados (ocupan varias casillas

siendo esto un grupo de datos simples como una cadena de cadena de caracteres)

Page 19: Metodología de la Programación Sesión 1

Datos simplesNuméricos: se encuentran los enteros y los

reales, que son los números con decimalAlfanuméricos: pueden ser letras del alfabeto,

dígitos, o caracteres especiales (#,$,%,&,?,¡,*,+…etc.)

Tipo cadena: contiene un conjunto de caracteres y se escribe entre comillas

Datos lógicos: son los datos encontrados entre los booleanos. Solo toma dos valores Verdadero (true) o falso (false)

Page 20: Metodología de la Programación Sesión 1

1.3.2 IDENTIFICADORES, CONSTANTES Y VARIABLES

Identificadoresse le llamara identificador al nombre

que se le da a las casillas de memoria. Se forma de acuerdo a ciertas reglas(pueden tener alguna variantes dependiendo del lenguaje de programación):

El primer carácter debe ser una letra. Los demás caracteres pueden ser letras,

dígitos el siguiente símbolo especial: _ La Longitud del identificador es igual a 7 en

la mayoría de los lenguajes de programación

Page 21: Metodología de la Programación Sesión 1

Constantes:no cambian en la ejecución de un programa. Para nombrar la constante se utiliza los identificadores. Existen tipos de constantes como tipos de datos, así que hay de tipo entero, real, caracteres, cadena de caracteres, NREAL y NUMREA son de tipo real y RESU de tipo cadena de caracteres. Es muy importante que los nombres de las constantes sean representativas de la función que tiene las mismas en el programa

Variables:Estos pueden cambiar su valor durante la ejecución de un programa. También se utilizan identificadores para nombrar las variables e igual los tipos de variables son como los anteriores

Page 22: Metodología de la Programación Sesión 1

1.3.3 OPERACIONES ARITMÉTICAS

Estos operadores aritméticos nos permiten realizar operaciones entre operandos: numéricos, constantes o variables y su resultado será un numero

Page 23: Metodología de la Programación Sesión 1

1.3.4 EXPRESIONES LÓGICAS

Las expresiones lógicas o booleanas, están constituidas por números, constantes o variables y operadores lógicos o relacionales. El valor que pueden tomar son los de verdadero o falso. Se utiliza en las estructuras selectivas y en estructuras repetitivas

Page 24: Metodología de la Programación Sesión 1

Operadores RelacionalesSon operadores que permiten comparar dos operando. Pueden ser números, alfanuméricos, constantes o variables. Y estos dos a su vez pueden ser de tipo entero, real, carácter o cadena de caracteres. Su resultado es verdadero o falso

Operador operación

= igual que

< > Diferente a

< Menor que

> Mayor que

<= Menor o igual que

>= Mayor igual que

Page 25: Metodología de la Programación Sesión 1

Operadores LógicosSon operadores es permiten formular

condiciones complejas a partir condiciones simples. Estos son de conjunción , disyunción (o) y negación (no).

Operador lógico Expresión lógica significado

No (Not) ¬P No es cierto que P. es falso que P

Y (And) P^Q P sin embargo Q

O (Or) P v Q O P o Q o ambas

Page 26: Metodología de la Programación Sesión 1

1.3.5 BLOQUE DE ASIGNACIÓN

Se utiliza para la asignación de valores o expresiones a una variable. La do el nuevo valor. La asignación es una operación destructiva. Esto significa que si la variable tenia asignado un valor, este se destruye, y conserva el nuevo valor. El formato de la asignación es

Variable Expresión o valor

Donde: expresión puede ser aritmética o lógica, o una constante o variable

Page 27: Metodología de la Programación Sesión 1

1.4 CONSTRUCCIÓN DE

DIAGRAMAS DE FLUJO

Page 28: Metodología de la Programación Sesión 1

Ejemplo 1.4.1Construya un diagrama de flujo tal que dado los datos A, B, C y D que representan números enteros, escriba los mismos en orden inverso

Page 29: Metodología de la Programación Sesión 1

Inicio

A,B,C,D

D,C,B,A

Fin

Page 30: Metodología de la Programación Sesión 1

Ejemplo 1.4.2Construya un diagrama de flujo tal que dado los datos enteros A y B, escriban el resultado de la siguiente expresión

((A+B)**2)/3

Page 31: Metodología de la Programación Sesión 1

Inicio

A,B

Res (A+B)**2/3

RES

Fin

Page 32: Metodología de la Programación Sesión 1

Ejemplo 1.4.3Construya un diagrama de flujo tal que dado como datos la base y la altura De un rectángulo, calcule el perímetro y la superficie del mismo

Superficie= base*alturaPerímetro= 2*(base + altura)

Page 33: Metodología de la Programación Sesión 1

Inicio

BASE,ALTU

SUP BASE*ALTUPER 2*(BASE+ALTU)

SUP,PER

Fin

Page 34: Metodología de la Programación Sesión 1

1.5 PROGRAMASUn programa, concepto desarrollado por

Von Neumann en 1946, es un conjunto de instrucciones que sigue la computadora para alcanzar un resultado especifico. El programa se escribe en un lenguaje de programación a partir de un diagrama de flujo diseñado con anterioridad.Un lenguaje de programación, por otra parte esta constituido por un conjunto de reglas sintácticas (especifica la formación de instrucciones validad) y semánticas(especifica el significado de estas instrucciones), que hacen posibles escribir un programa.

Page 35: Metodología de la Programación Sesión 1

En este curso nos enfocaremos sobre el tipo de lenguaje de programación estructurada. En este enfoque los programas se diseñan de arriba hacia abajo jerárquicamente, usando solo un conjunto restringido de estructuras de conjunto restringido de estructuras de control de cada nivel, instrucciones secuenciales, estructuras selectivas y estructuras repetitivas.

Page 36: Metodología de la Programación Sesión 1

Ejemplo 1.5.1 Considerando el ejemplo 1.4.1 el de los números invertidos el programa escrito en el lenguaje algorítmico seria el siguiente

INVIERTE_DATOS{el programa dado un conjunto de datos de entrada invierte el orden de los mismos cuando los imprime}{A,B,C y D son variables de tipo entero}1. Leer A,B,C,D2. Escribir D,C,B,A

Nota: escribir un programa es muy sencillo, conociendo las instrucciones correspondientes. La tarea intelectual, creativa, radica en la construcción del diagrama de flujo

Page 37: Metodología de la Programación Sesión 1

Ejemplo 1.5.2

CALCULA{el programa, dados como datos los enteros A y B, calcula el resultado de una expresión}{A y B son variables de tipo entero. RES es una variables de tipo real}

1. Leer A,B2. Hacer RES (A+B)**2/33. Escribir RES

Page 38: Metodología de la Programación Sesión 1

Ejemplo 1.5.3

PERIMETRO_SUPERFICIE_RECTANGULO{el programa, dado como datos la base y la altura de un rectángulo, calcula su perímetro y superficie}

{BASE,ALTU,SUP Y PER son variables de tipo real}1. Leer BASE, ALTU2. Hacer SUP BASE*ALTU y PER

2*(BASE+ALTU)3. Escribir SUP y PER

Page 39: Metodología de la Programación Sesión 1

CONTACTOhttp://fime-tech.vacau.com

¡Muchas Gracias!