M.C. Juan Carlos Olivares Rojas

Slides:



Advertisements
Presentaciones similares
ESTRUCTURAS DE CONTROL
Advertisements

Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
ESTRUCTURA DE DECISION LOGICA
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
LÓGICA DE PROGRAMACIÓN
Introducción a los Algoritmos
Lenguajes de programación
Resolución de Problemas Algoritmos y Programación
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Estructuras de Control
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Metodología de la Programación
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Curso de Programación I Parte III
DSUPE Pseudocódigo.
Estructuras de Repetición
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
Introducción a la Computación
Estructuras de Control
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
ESTRUCTURAS DE CONTROL
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Programación de Computadores
Proceso de información en la computadora
FORMULACIÓN DE ALGORITMOS
Programación II Profesor A.S. MOLINA, Carlos
ALGORITMOS.
Academia de Informática
CI TEORIA semana 4 Estructura Algorítmica: SELECCIÓN
Fundamentos de programación
Capítulo 1 “Elementos de Programación”
INTRODUCCIÓN A LA COMPUTACIÓN
Algoritmos ¿Que es un algoritmo?
Capítulo 2 – Estructuras de Control
ESTRUCTURA DE DECISION LOGICA
ESTRUCTURA DE DATOS ESD-243
Fundamentos de programación Organización de una computadora.
Juego de Preguntas y Respuestas
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Unidad II: Fundamentos de Programación
Estructuras de Control.
Tema 5 Diagramas de flujo Computacion - FA.CE.NA..
Introducción a la Ingeniería de Sistemas
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
Estructuras de control Resolución de problemas y algoritmos.
Santiago Pachón Pedroza Jesús Arley Bolaños 1002
DEV- C++ ·include <iostream> Int x x=x+2(x)
Elaboración de algoritmos usando lógica de programación
M.S.C. Ivette Hernández Dávila
Metodología de la programación
Estructuras de Decisión
Algoritmos Programación
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
Lenguaje Programación
Conceptos Generales Programación I Docente: Ing. Marleny Soria M.
Programación I Docente: Ing. Marleny Soria M..  Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
1 Lógica Computacional M.C. Juan Carlos Olivares Rojas.
INFORMÁTICA II TEMA: DISEÑA Y ELABORA ALGORITMOS DOCENTE: MARÍA DOLORES GARCÍA PONCE CAMPUS TONALÁ JALISCO.
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
Este material ha sido desarrollado para alumnos que cursan la asignatura de Programación Básica impartida en el primer semestre en la Facultad de Ingeniería.
ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Ciclos condicionales y exactos Estructura de control de ciclos
ALGORITMOS Y PROGRAMAS. OBJETIVOS  Resolver problemas mediante la especificación algorítmica.  Proporcionar los procedimientos y técnicas para el desarrollo.
Transcripción de la presentación:

M.C. Juan Carlos Olivares Rojas Lógica Computacional M.C. Juan Carlos Olivares Rojas

Introducción a la programación La principal razón para que las personas aprendan lenguajes de programación es utilizar la computadora como una herramienta para la resolución de problemas.

Construyendo Sistemas de Información Las fases del desarrollo de un S.I. - Análisis del Sistema - Diseño del Sistema - Programación - Pruebas - Conversión - Producción y Mantenimiento

¿Qué es un algoritmo? La creación de algoritmos se realiza durante la fase de análisis del sistema. Un algoritmo es la secuencia ordenada de pasos que conducen a la solución de un problema dado, y puede ser expresado en lenguaje natural, por ejemplo el castellano

Algoritmo Conjunto finito de reglas que dan una secuencia de operaciones para resolver todos los problemas de un tipo dado. De forma más sencilla, podemos decir que un algoritmo es un conjunto de pasos que nos permite obtener un dato. Algoritmo es el procedimiento o protocolo- paso por paso- que ideamos o escribimos para que se realice una tarea o para lograr objetivos o propósitos; es como un plan (ordenado, estructurado, específico, claro).

Algoritmo Algoritmo se define como una sucesión o serie de instrucciones, por pasos, que deben realizarse y que explica cómo deben procesarse los datos para producir sus resultados; los algoritmos deben escribirse en español o inglés, independientes de los lenguajes para programación (no mezclarlos).

Características de un Algoritmo Bien definido No ambiguo Finito (siempre termina) Efectivo Claridad: programación estructurada Correctitud: satisfacer especificación Cero o más entradas y una o más salidas

Características de un algoritmo Preciso. Indicar el orden de realización de cada paso. Definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. Finito. Debe terminar el algún momento

Ejemplo de algoritmo

Algoritmo para hacer una taza de té Inicio Tomar la tetera Llenarla de agua Encender el fuego Mientras no hierva el agua Esperar Introducir una bolsa de té en la tetera Vaciar el té en la taza Fin

Ejemplo Construya un algoritmo para preparar “Pechugas de pollo en salsa de elote y chile poblano”: Ingredientes (para 6 personas) 3 Pechugas deshuesadas, sin piel y partidas a la mitad. 1 diente de ajo 4 gramos de pimienta negra. Sal. 6 cucharadas de aceite 5 chiles poblanos asados y limpios. ½ Taza de leche. ¼ Taza de crema ligera. 1 lata de crema de elote.

Ejemplo Algoritmo (Preparación): Muela el ajo, la pimienta y un poco de sal y únteselo a las pechugas. Caliente el aceite y dore las pechugas. Licue los chiles con la leche y la crema, y mézclelos con la crema de elote. En una fuente coloque las pechugas y báñelas con la mezcla anterior. Cubra el platón con papel aluminio y hornee a 200 °C, durante 15 minutos.

Otros ejemplos de algoritmos Las instrucciones o serie de pasos que sigues para grabar un número telefónico en tu celular. Las instrucciones que te dan para resolver un examen. Los pasos que sigues para prender el carbón para una carne asada El procedimiento que sigues para inscribirte EL procedimiento para obtener tu pasaporte La receta que sigues para preparar un pastel Los pasos para invitar a alguien al cine

Herramientas para hacer un algoritmo Las distintas representaciones de un algoritmo son el Pseudocódigo, el Diagrama N-S, el Diagrama de Flujo

Pseudocódigo Es un lenguaje de especificación de algoritmos y no puede ser ejecutado por una computadora, la ventaja del pseudocódigo es que el programador se puede concentrar en la lógica y en las estructuras de control y no preocuparse de las reglas de un lenguaje específico. Es fácil de modificar y puede ser rápidamente traducido a un lenguaje de programación. Representa acciones sucesivas en un lenguaje similar al humano.

Ejemplo: Algoritmo para dividir 2 números algoritmo División variables real: dividendo, divisor, resultado_división inicio Leer (dividendo, divisor) si divisor <> 0 entonces resultado_división= dividendo / divisor escribir (resultado_división) si_no escribir (‘El resultado es infinito’) fin_si fin

Diagramas de Flujo Es una representación gráfica de las actividades, operaciones y decisiones lógicas que deben ser realizadas, su orden o secuencia en que se realizan. Utiliza símbolos unidos por flechas. Dentro de cada símbolo o caja se indican las operaciones que deben ser realizadas.

Diagrama de flujo para calcular una división

Diagramas Nassi-Scneiderman Conocidos como Diagramas N-S o Diagramas de Chapin. Las acciones se escriben dentro de cajas sucesivas.

Ejercicio Realizar el siguiente algoritmo REGISTRO DE VENDEDORES. Una tienda emplea un cierto número de vendedores. La mayoría de estos empleados obtienen sus ingresos de comisiones sobre los artículos que venden, pero existen algunos empleados que obtienen su salario fijo, sin importar el tipo o cantidad de artículos que venden, más una comisión por sobre ciertos artículos. La tienda ofrece distintos tipos de mercancías, algunas de las cuales se clasifican como artículos estándar por que son de uso común y no requieren de técnicas creativas de venta; además, hay artículos que son altamente remunerados pero difíciles de vender.

Ejercicio Los compradores también se clasifican. Algunos se conocen como compradores regulares, pues hacen transacciones tan a menudo que no se requiere de hacerles venta creativa. Sin embargo, la mayoría de los clientes hacen pocas transacciones dentro de la tienda, y es probable que entren, compren algo y no vuelvan a ser vistos.

Ejercicio Si un empleado vende cualquier tipo de artículo a un cliente regular, no se da comisión alguna. Si un empleado asalariado vende un artículo extra, recibe una comisión del 10% a menos que el artículo tenga un precio mayor de $10,000, en cuyo caso recibe una comisión del 15%.

Ejercicio Si un empleado no asalariado vende un artículo extra a alguien que no sea un comprador regular, recibe un 15% de comisión a menos que el artículo tenga un precio mayor a $10,000 en cuyo caso recibe una comisión del 20%. Si un empleado asalariado vende un artículo estándar recibe un 3% de comisión, en caso de ser un empleado no asalariado recibe un 7%.

Pseudocódigo

Diagrama de Flujo “Cálculo de comisión”

Ejercicio resuelto

Ejercicio resuelto

Diagrama de flujo Al diagrama de flujo también se le conoce como ordinograma o flujograma Diagrama de Sistema: Diagrama que representa gráficamente los dispositivos de entrada-salida que usa un programa de un sistema.

Ejemplo Diagrama de Sistema Flujo General Disco Lectura de Magnético Tarjeta Levantarse Arreglarse S/370 Computador Irse Impresora Perforadora

Símbolos del diagrama de Flujo

Símbolos del diagrama de Flujo

Símbolos del diagrama de Flujo

Símbolos del diagrama de Flujo

Símbolos del diagrama de Flujo

Símbolos del diagrama de Flujo

SENTENCIAS DE CONTROL

Lenguaje Estructurado Español Estructurado Para describir los procesos se utiliza el lenguaje natural. Este incluye estructuras de control como: Si Mientras Repetir-Hasta_que Según_sea- hacer

Español Estructurado Estructura selectiva Una estructura selectiva es aquella en que se ejecutan unas acciones u otras según se cumpla o no una determinada condición. La selección puede ser simple, doble o múltiple

Estructura Selectiva Simple Se evalúa la condición y si ésta da como resultado verdad se ejecuta una determinada acción o grupo de acciones; en caso contrario se saltan dicho grupo de acciones

Español Estructurado Estructura selectiva Diagrama de Flujo Diagrama N-S Pseudocódigo si <condición> entonces acción 1 fin_si

Español Estructurado Estructura selectiva Estructura Selectiva Doble Cuando el resultado de evaluar la condición es verdad se ejecutará una determinada acción o grupo de acciones y si el resultado es falso otra acción o grupo de acciones diferentes.

Español Estructurado Estructura selectiva Diagrama de Flujo Diagrama N-S Pseudocódigo si <condición> entonces acción 1 si_no acción 2 fin_si

Español Estructurado Estructura selectiva Estructura Selectiva Múltiple Se ejecutarán unas acciones u otras según el resultado que se obtenga al evaluar una expresión.

Español Estructurado Estructura selectiva Diagrama de Flujo Diagrama N-S

Español Estructurado Estructura selectiva Estructura Selectiva Múltiple Pseudocódigo según_sea <expresión> hacer <lista 1> : acción 1 <lista 2> : acción 2 . . . [si_no acción n] fin_según

Español Estructurado Estructura repetitiva mientras Lo que caracteriza este tipo de estructura es que las acciones del cuerpo del bucle se realizan cuando la condición es cierta. Además, se pregunta por la condición al principio, de donde se deduce que dichas acciones se podrán ejecutar de 0 a n veces.

Español Estructurado Estructura repetitiva Diagrama de Flujo Diagrama N-S Pseudocódigo mientras <expresión lógica> hacer acción fin_mientras

Español Estructurado Estructura repetitiva repetir-hasta_que El bucle repetir-Hasta_que es análogo al bucle mientras desde el punto de vista de que el cuerpo del bucle (acción) se ejecuta una y otra vez mientras la condición (expresión lógica) es verdadera. La diferencia entre ellos consiste en que en el bucle repetir-hasta_que, las sentencias del cuerpo se ejecutan, al menos una vez, antes de que se evalúe la expresión lógica. En otras palabras, el cuerpo del bucle siempre se ejecuta, al menos una vez, incluso aunque la expresión lógica sea falsa.

Español Estructurado Estructura repetitiva Diagrama de Flujo Diagrama N-S Pseudocódigo repetir acción hasta_que <expresión lógica>

Español Estructurado Estructura anidada Pseudocódigo si <condición1> entonces <acciónes1> si_no si <condición2> entonces <acciones2> si <condición3> entonces <acciones3> <accionesX> fin_si Tanto las estructuras selectivas como las repetitivas pueden ser anidadas, e introducidas unas en el interior de las otras.

PROGRAMA Es más que una secuencia ordenada de instrucciones que hacen algo con sentido. Las instrucciones tienen que ser las precisas y estar ordenadas de tal forma que, cuando el ordenador las ejecute, se consigan los efectos deseados. Las instrucciones que tendremos disponibles para escribir un programa y su sintaxis van a depender del lenguaje que vayamos a usar; en nuestro caso, el C.

Variables Una variable, en realidad, no es más que un nombre para identificar una (o varias) posiciones de memoria donde el programa guarda los distintos valores de una misma entidad. Un programa debe DEFINIR a todas las variables que utilizará, antes de comenzar a usarlas, a fin de indicarle al compilador de que tipo serán, y por lo tanto cuanta memoria debe destinar para albergar a cada una de ellas.

Variables Lenguaje Estructurado. Inicialización de Variables Es conveniente inicializar las variables al inicio del algoritmo. Ejemplo: algoritmo calcula_total var entero: contador=0, total=0 inicio leer numero mientras contador < numero hacer contador=contador+1 total=total+contador fin_mientras fin

Ejemplo de programa en Lenguaje C #include <stdio.h> main() { /* defino multiplicador como un entero */ int multiplicador; /* defino multiplicando como un entero */ int multiplicando; /* defino resultado como un entero */ int resultado; /* les asigno valores */ multiplicador = 1000 ; multiplicando = 2 ; resultado = multiplicando * multiplicador ; /* muestro el resultado */ printf("Resultado = %d\n", resultado); return 0; }

Los elementos de un programa en C son los siguientes: Comentarios Inclusión de archivos main() { variables locales flujo de sentencias } Definición de funciones creadas por el programador utilizadas en main()

Ejemplo1 /*Programa que despliega un mensaje de bienvenida en la pantalla*/ #include<stdio.h> #include<conio.h> void main() { clrscr(); gotoxy(20,10); printf("BIENVENIDO AL CURSO DE C ESTANDAR \n"); delay(2500); return 0; }

Lenguaje estructurado Estructura de un programa Diagrama Lenguaje estructurado Estructura de un programa 1. SIMPLE PROCESS (Secuencial) C++: n = n + 1; instructions(); …Sentencia(s) 2. IF-THEN-ELSE (Condición) Condición C++: if (first < second) return first; else return second; SI (condición) ENTONCES …sentencia(s) SINO FIN SI

Lenguaje estructurado Estructura de un programa Diagrama Lenguaje estructurado Estructura de un programa 3. Estructura CASE (Selección) C++: switch (conversion) { case ‘A’ : case ‘a”: result = FahrToCelsius(temp); break; case ‘B’ : case ‘b’: result = CelsiusToFahr(temp) …. } Variable SELECCION (variable) constante_1 : sentencia(s) constante_2 : sentencia(s) : constante_n : sentencia(s) C++ (for, while, do): WHILE (expresión) { proposición 1 ; proposición 2 ; ............... proposición n ; } DO {  proposición 1 ;  proposición 2 ;  ...............} WHILE (expresión) ; MIENTRAS (condicion) HACER sentencia(s) : FIN MIENTRAS 4. WHILE-DO (iteración) TEST A HACER sentencia(s) : MIENTRAS (condición)

¿Preguntas, dudas y comentarios?