Programación de Computadores

Slides:



Advertisements
Presentaciones similares
INFORMÁTICA PROGRAMACIÓN.
Advertisements

Diagramas de flujo Pseudo-código Ejercicios Instalación de C++
Sesión 3 Estructuras Repetitivas
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.
PROF. ING. JULIO CESAR CANO RAMIREZ
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
ALGORITMOS Y LENGUAJES Estructuras de Control CONDICIONAL
Programación Básica con NQC Pedro F. Toledo – Patricio Castillo 18/08/2006.
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Estructuras de Repetición Algoritmos
LÓGICA DE PROGRAMACIÓN
Introducción a los Algoritmos
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Estructuras de Control
INFORMÁTICA PROGRAMACIÓN.
Técnico en programación de Software
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.
Programación 1 Estructuras de control y pseudocódigo
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Estructuras de Control
Curso de Programación I Parte III
Introducción a la Programación
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.
Representación de los algoritmos
PSEUDOCÓDIGO. DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS.
Fundamentos de Programación

ESTRUCTURAS REPETITIVAS CICLOS O BUCLES EL MIENTRAS Y EL PARA
ESTRUCTURAS DE CONTROL
Tema 1 Algoritmos.
FORMULACIÓN DE ALGORITMOS
Academia de Informática
FUNDAMENTOS DE PROGRAMACIÓN
ESTRUCTURAS DO-WHILE Y FOR.
INTRODUCCIÓN A LA COMPUTACIÓN
Algoritmos ¿Que es un algoritmo?
WHILE Estructuras Repetitivas
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
ESTRUCTURA DE DATOS ESD-243
Teoría – Alejandro Gonzalez
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.

Estructuras de Control.
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
A continuación… Repaso Repaso Estructuras de Decisión Ejemplos
Sesión 13: Python (4) – Estructura Repetición. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
Lógica Computacional.
DEV- C++ ·include <iostream> Int x x=x+2(x)
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
Elaboración de algoritmos usando lógica de programación
Presente un cuestionario con los aspectos mas importantes sobre los
Estructuras de Decisió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.
Estructuras básicas Sentencias de control
Conceptos Generales Programación I Docente: Ing. Marleny Soria M.
Universidad Domingo Savio
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.
ALGORITMOS CLASE 2.
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.
Ciclos de Repeticion Yoel Gutierrez Unidad 6. Contenido DefinicionExplicacionEjemplosReferencias.
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Ciclos condicionales y exactos Estructura de control de ciclos
Transcripción de la presentación:

Programación de Computadores Lenguaje Pascal Sesión 2: Algoritmos Prof:Eridan Otto

Programación de Computadores Lenguaje Pascal Sesión 2: Algoritmos TEMARIO Estructuras de control: Introducción Selección Repetición Problemas resueltos Quiz #1

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Introducción La ejecución un paso tras otro de un algoritmo sigue una cierta pauta o estructura, ya se vió la estructura secuencial. Esta estructura es la más simple, pero muy rígida, sólo da a la capacidad de procesamiento, de una calculadora sencilla. (Hasta las calculadoras modernas hacen algo mas....). A veces es necesario ejecutar un grupo de sentencias u otro (Boloques en PASCAL), dependiendo de diversos factores condicionantes, o en función del valor que tome una variable de entre un conjunto de ellos. O tal vez necesitemos ejecutar unas sentencias determinadas un número dado de veces antes de que continúe la ejecución secuencial normal del código. Es en éste entorno en el que toman toda su importancia las estructuras de control, ya que nos van a permitir hacer precisamente eso, detener o condicionar ésta ejecución secuencial predeterminada en función de unos requisitos que podemos configurar a nuestra conveniencia. Las estructuras de control podemos dividirlas en dos clases fundamentales: las estructuras condicionales y los bucles (lo mismo que selección y repetición).

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Selección Ejemplo: diseñar un algoritmo que ingresada una edad de una persona, entregue por pantalla si esta persona es mayor o menor de edad. Con las instrucciones hasta ahora aprendidas, no se puede realizar esto, pues se necesita una bifurcación en la secuencia. Para lograr esto se introduce una nueva clase de instrucciones de tipo selección que permiten ejecutar un conjunto de sentencias u otras dependiendo de las condiciones que fijemos. Formato en pseudocódigo: SI <condición> ENTONCES     instrucción 1     instrucción 2     ...................     instrucción n   SI-NO       instrucción a     instrucción b      ...................      instrucción z   FIN-SI La instrucción que permite tomar una decisión, basada en una condición es Si...Entonces. Al evaluar la condición, Si...entonces puede devolver solo dos resultados posibles: Verdadero o Falso; es decir, Si o No.

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Selección, diagrama de flujo Inicio Inicio Instrucciones antes de la bifircación Instrucciones antes de la bifircación VERDADERO FALSO condición Todo este complejo se puede considerar como un bloque Instrucción 1 Instrucción a Instrucción 2 Instrucción b ....... ....... Instrucción n Instrucción xx Instrucciones después de la bifircación Instrucciones después de la bifircación Fin Fin

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Selección Algoritmo que resuelve el problema planteado ALGORITMO mayor de edad; VARIABLES edad :ENTERO; INICIO ingresar(‘por favor ingrese edad persona:’,edad); SI (edad < 18) ENTONCES escribir(‘La persona es menor de edad’ ); SI-NO escribir(‘La persona es mayor de edad’ ); FIN-SI FIN. Operador relacional Esta instrucción se ejecuta si la condición es VERDADERA Esta instrucción se ejecuta si la condición es FALSA. Es opcional.

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Selección Operadores relacionales: estos operadores funcionan con lógica booleana estándar y generan después de la evaluación de una expresión condicional un valor de verdad último, este evaluado permite ,en caso de ser verdadera ,bifurcar el control a un grupo de instrucciones y seguir ( SI xxx ENTONCES) el flujo normal o a un grupo alternativo en caso de ser falsa (SI .... SI-NO xxx FIN-SI). Los operadores relacionales se evaluan siempre entre tipos enteros , reales y en algunos casos de carácter. El resultado es booleanoy se puede combinar en expresiones con operadores booleanos (AND,OR y NOT): > : mayor que < : menor que = : igual a <> : distinto >= : mayor o igual que <=: menor o igual que Paréntesis para agrupar condiciones simples en exprsiones condicionales: (, )

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Selección Ejemplo 2. Dados dos números, establecer cuál es mayor . Comenzamos leyendo ambos números, que en el ejemplo se llamarán NumeroA y NumeroB. Luego debemos comparar como es uno contra el otro (puede ser NumeroA contra NumeroB o bien comparar NumeroB contra NumeroA): ALGORITMO comparaciones; VARIABLES NumeroA , NumeroB :ENTERO; INICIO ingresar(‘por favor ingrese valor primer número:’, NumeroA ); ingresar(‘por favor ingrese valor segundo número:’, NumeroB ); SI (NumeroA > NumeroB ) ENTONCES escribir(‘primer número es el mayor’); SI-NO SI (NumeroA <> NumeroB ) ENTONCES escribir(‘segundo número es el mayor’); escribir(‘los números son iguales’); FIN-SI FIN.

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Repetición La estructura repetitiva se utiliza cuando se quiere que un conjunto de instrucciones se ejecuten un cierto número finito de veces. Llamamos bucle o ciclo a todo proceso que se repite un cierto número de veces dentro de un pseudocódigo o un programa. Existen varias estructuras de control que realizan ciclos, por el momento nos concentraremos en una clase que se divide en dos sentencias. Mientras: La primera es una estructura de bucle que nos permite ejecutar un conjunto de instrucciones mientras se cumpla una condición, no siendo necesario conocer el número de veces que se tiene que iterar. Se producirá la iteración una y otra vez mientras se cumpla la condición fijada. Formato en pseudocódigo: MIENTRAS (condición) instrucción 1 instrucción 2 instrucción 3 ..... instrucción n FIN MIENTRAS NOTA: El ciclo puede repetirce 0, 1 o más veces dependiendo de la condición (si siempre es verdadera se da una anomalía llamada loop infinito)

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Repetición, diagrama de flujo, mientras Inicio Inicio Instrucciones antes de mientras Instrucciones antes de mientras VERDADERO condición Todo este complejo se puede considerar como un bloque Instrucción 1 FALSO Instrucción 2 ....... Instrucción n Instrucciones después de mientras Instrucciones después de mientras Fin Fin

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Repetición Repita: La segunda es una estructura de bucle cumple la misma función que la estructura mientras. La diferencia está en que la estructura mientras comprueba la condición al inicio y repetir lo hace al final; por eso la estructura repetir se ejecuta por lo menos una vez.. Formato en pseudocódigo: REPITA istrucción 1 istrucción 2 istrucción 3 ..... istrucción n HASTA (condición) NOTA: Las repeticiones terminan cuando la condición es FALSA

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Repetición, diagrama de flujo, repita-hasta Inicio Inicio Instrucciones antes de repita Instrucciones antes de repita Instrucción 1 Instrucción 2 Todo este complejo se puede considerar como un bloque ....... Instrucción n FALSO condición VERDADERO Instrucciones después de repita Instrucciones después de repita Fin Fin

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Repetición, diagrama de flujo, repita-hasta Ejercicio1: Leer una serie de notas que deben finalizar con –9999. Calcular e imprimir el promedio de las notas ingresadas. No se requiere validar ingreso. ALGORITMO media; VARIABLES N,contador, suma: ENTERO; promedio:REAL; INICIO contador 0 escribir(‘Ingrese notas [0..100], para terminar ingrese número -9999 “); ingresar( N); MIENTRAS (N <> -9999) contador  contador + 1 suma  suma + N ingresar (N); FIN MIENTRAS SI (contador = 0) entonces promedio  0 SI-NO promedio  suma / contador FIN-SI   escribir (‘El promedio de los números ingresados es: ‘, promedio); FIN

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Repetición Ejercicio2: Escribir un pseudocódigo que determine si un número ingresado es primo.  Un número es primo cuando es divisible solamente por sí mismo y por 1. Haga un ruteo para 2, 4 y 5. Puede escibirse otro algoritmo que haga lo mismo?? Para resolver este problema, se usará la función RESTO, pues si el resto de la división de el número por un numero inferior es 0, no es, entonces primo. ALGORITMO media; VARIABLES Bandera,contador, numero: ENTERO; INICIO Bandera  0 contador  2 ingresar(‘Ingrese entero para verificar si es primo:’, numero ); REPITA SI (numero MOD contador = 0 AND numero <> contador ) ENTONCES Bandera  1 FIN-SI contador  contador + 1 HASTA (contador >= numero OR Bandera=1) SI (Bandera = 1 ) ENTONCES escribir (‘El número no es primo”) SIN-NO escribir (‘El número es primo”) FIN  

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Ruteo Def: Es una técnica ordenada que permite seguir los valores de las variables paso a paso, suponiendo la ejecución del algoritmo. Sirve para saber qé hace un algoritmo y también para comprobar su correctitud. Para numero=5 Variables Valores iniciales Bandera contador numero 2 5 Sale de repita Y como Bandera no es 1 se ejecuta la instrucción SI-NO, esto es, escribe en pantalla:el número es primo 3 4 5 Sale de repita Y como Bandera es 1 se ejecuta la instrucción SI ENTONCES, esto es, escribe en pantalla:el número no es primo Para numero=4 2 4 1 3 Para numero=2 2 2 Sale de repita Y como Bandera no es 1 se ejecuta la instrucción SI-NO, esto es, escribe en pantalla:el número es primo 3

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Repetición Puede escibirse otro algoritmo que haga lo mismo??. Si, usando la instrucción mientras. ALGORITMO media; VARIABLES Bandera,contador, numero: ENTERO; INICIO Bandera  0 contador  2 ingresar(‘Ingrese entero para verificar si es primo:’, numero ); MIENTRAS (contador < numero AND Bandera=0) SI (numero MOD contador = 0) ENTONCES Bandera  1 FIN-SI contador  contador + 1 FIN MIENTRAS SI (bandera = 1) ENTONCES escribir (‘El número no es primo”) SI-NO escribir (‘El número es primo”) FIN  

Programación de Computadores Lenguaje Pascal Estructuras de control : Selección y Repetición Ejercicios (Hoja, nombre, rol, fecha) 1. Leer un número entero positivo menor que 35 y calcular su factorial. Rutee su algoritmo para entero 1, 3 y 4. Está correcto???

Fin Clase 2 MIENTRAS (N >= 35 OR N < 0) ALGORITMO factorial; VARIABLES N,producto, I: ENTERO; INICIO ingresar(N) MIENTRAS (N >= 35 OR N < 0) escribir (‘El numero debe ser positivo y menor que 35 !!`) ingresar (N) FIN MIENTRAS producto  1 I  1 MIENTRAS (I <= N) producto  producto * I I  I+1 escribir (‘El factorial de’, N, ‘es: ‘, producto) FIN   Fin Clase 2