SlideShare una empresa de Scribd logo
Introducción a los algoritmos Profesores: Jazna Meza Hidalgo Grisell Osses Díaz Luis Ángulo Mura Manuel Crisosto Muñoz Introducción a la Programación
Motivación OBJETIVO GENERAL DE LA ASIGNATURA   Resolver problemas básicos a través de la construcción de programas basados en algoritmos y un lenguaje de programación, generando acciones hacia la búsqueda de propuestas pertinentes. APRENDIZAJES ESPERADOS (COMPETENCIAS)   Interpretar algoritmos y programas para la solución de problemas básicos de programación. Construir algoritmos y programas para la solución de problemas básicos de programación. Descomponer un problema en subproblemas para facilitar el proceso de definir una solución. Trabajar colaborativamente, cumpliendo un rol y responsabilizándose de él.
Pasos en la resolución de un problema Entender el problema Conceptualización Objetivo Contexto Buscar soluciones Elegir solución Diseñar solución Descomposición Especificar tareas Modelar solución Implementar solución Validar solución
Programa de Aplicación Programa que permite resolver la ecuación de primer grado a x + b = 0  Programa que permite resolver la ecuación de primer grado ? a b x = -b / a #include <stdio.h> int main() { int a,b,x; printf( “Ingrese valores de EC”); scanf( “%d %d”,&a,&b); if (a ==0) printf ( “error”); else { x = -b / a; printf( “La solución es %d:”,x);  } printf( “Fin programa”); return 0; } Proceso Ecuacion_primer_grado Variables a,b,x de tipo entero Escribir 'Ingrese valores de EC' Leer a,b Si a = 0 Entonces Escribir 'Error' Sino x<- -1*b/a; Escribir 'La solución es: ',x; FinSi Escribir 'Fin programa'; FinProceso
¿Qué es un problema? Es una situación concreta sobre la cual se quiere implementar una solución (ejemplos) Solución: procedimiento que nos lleva a satisfacer ciertos requerimientos Esquema básico para la resolución de un problema a través de un programa con un enfoque sistémico Proceso Entrada Salida Datos Externos Datos auto generados Lectura de dispositivo de almacenamiento Informes Datos para otro programa Datos grabados en dispositivos externos de almacenamiento
Datos y Variables Datos: objetos simbólicos que representan objetos del mundo real. Ejemplos: 10 de Marzo de 2003, 3.14 Variables: En programación corresponde a un espacio de memoria reservado para almacenar un dato, al cual se le asigna un nombre y un tipo de dato. Ejemplos: velocidad del móvil, factor de crecimiento
¿Qué es un algoritmo? Procedimiento detallado para resolver un problema en pasos y en un tiempo finito. Se especifican en base a operaciones básicas que controlan las variables y el flujo del algoritmo El algoritmo lleva desde un estado inicial a un estado final El algoritmo recibe Entradas y entrega Salidas
¿Cómo desarrollar un algoritmo? Imaginación No reinventar la rueda Dividir para conquistar Para ser efectivo se requiere practicar constantemente El diseño de algoritmos es una rama de la Ciencia de la Computación
¿Cómo se describe un algoritmo? Lenguaje natural Pseudo código Lenguaje de programación La precisión es importante Un algoritmo no puede ser descrito de forma ambigua: Todos tienen que entender lo mismo (incluido el computador!)
Llamada telefónica Se desea conceptualizar el problema de efectuar una llamada telefónica en un teléfono público que recibe monedas de $10, $50 y $100. El costo mínimo de la llamada es de $100 por 5 minutos. El proceso se inicia desde que se levanta el auricular y finaliza cuando se cuelga.
Conceptos Básicos de Algoritmos La forma en que se ejecutan las operaciones básicas en un computador, es similar a lo que ocurre en nuestro cerebro. Por ejemplo, suponga que se nos pide sumar dos números: ¿Cuáles son los pasos básicos para realizar la operación solicitada?
Conceptos Básicos de Algoritmos Primero debemos pedirle a la persona (usuario) que nos diga el primer valor.  Luego de que conocemos este valor, debemos almacenarlo (para recordarlo después) en una neurona (Suponemos que un valor se puede almacenar en una neurona). Ya conocemos el primer valor y está almacenado en nuestro cerebro!!!. Ahora debemos pedir el segundo valor. Una vez conocido, lo almacenamos en otra neurona distinta de la anterior. ¿ Por qué?....... Ahora que conocemos los dos valores procedemos a sumarlos, y dicho resultado lo almacenamos en otra neurona distinta de las anteriores. Por último, le decimos el resultado a la persona que nos entrego los números.
Conceptos Básicos de Algoritmos De lo anterior, al menos necesitamos 3 neuronas para sumar dos números.  Le pedimos explícitamente que nos dijeran dichos valores. Le asignamos dichos valores a las neuronas La suma la realizó nuestro cerebro de forma mecánica. Note que no existen detalles de la operaciones básicas (*,/,+, -). Finalmente se da el resultado
Conceptos Básicos de Algoritmos Algoritmo para sumar dos números: Definimos tres neuronas Pedimos el primer valor Almacenamos ese valor en la neurona 1. Pedimos el segundo valor Almacenamos ese valor en la neurona 2. Almacenamos la suma de las neuronas 1 y 2 en la neurona 3 Entregamos el resultado que se encuentra en la neurona 3.
Conceptos Básicos de Algoritmos Sin embargo, en los lenguajes no se pueden usar neuronas, pero podemos definir variables (Recuerde que las variables pueden tomar cualquier  valor) En lugar de usar neurona 1 y neurona 2, se utilizan espacios de memoria que llamaremos  “var_1” y “var_2”, y así sucesivamente.  También las podemos llamar “x1” y “x2” ó “x” e “y” ….
Conceptos Básicos de Algoritmos Ejercicio: Cree un algoritmo que multiplique tres números. Algoritmo para multiplicar tres números: Definimos cuatro variables Pedimos el primer valor Almacenamos ese valor en var 1. Pedimos el segundo valor Almacenamos ese valor en var 2. Pedimos el tercer valor Almacenamos ese valor en var 3. Almacenamos la multiplicación de las variables en var 4 Entregamos el resultado que se encuentra en var 4. ¿Podemos intentar multiplicar tres valores usando solo dos variables?
Conceptos Básicos de Algoritmos La manera en que hemos detallado nuestros dos algoritmos se llama PSEUDOCÓDIGO. Y este pseudocódigo fue escrito en lenguaje natural. Otra manera de poder detallar nuestros algoritmos es a través de los diagrama de flujo. Un diagrama de flujo es una representación simbólica de la lógica del algoritmo.
Elementos básicos presentes en un Algoritmo PROGRAMA : Conjunto de instrucciones, con una secuencia lógica, escrito en algún  Lenguaje de Programación  que permite resolver un  Problema . El programa recibe datos de entrada, realiza las operaciones de transformación requeridas, y entrega los resultados esperados. ALGORITMO :  Una secuencia de pasos (modelo) para realizar una tarea.
Estructura general de un Algoritmo utilizando Pseudocódigo Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción_1 Acción_2 Acción_3 : : Acción_n FinProceso Las variables son espacios de memoria reservados para el almacenamiento de datos requeridos por el algoritmo Las instrucciones o acciones presentes en un programa o algoritmo se pueden clasificar de la siguiente manera: Instrucciones o acciones de transferencia de datos Instrucciones o acciones aritméticos / lógicos Instrucciones o acciones de transferencia de control (condicional o incondicional)
Variables Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción1 Acción_2 Acción_3 : : Acción_n FinProceso Las variables quedan definidas por un  nombre  y el  tipo de dato  que pueda contener.  La posición de memoria especificada por una variable solo puede contener un valor a la vez.  Nombre de Variable:  se recomienda usar nombres  “significativo”, asociado al uso que se le dará al dato almacenado.  Tipo de dato:  Corresponde a un atributo del dato que permite especificar el dominio de valores que puede tomar y las operaciones que se pueden hacer sobre ellos. Los tipos de datos primitivos (básicos) son:  Numérico  (Entero o Decimal),  Carácter  y  Lógicos . Las variables son espacios de memoria reservados para el almacenamiento de datos requeridos por el algoritmo.
Instrucciones Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción_1 Acción_2 Acción_3 : : Acción_n FinProceso Las instrucciones o acciones presentes en un programa o algoritmo se pueden clasificar de la siguiente manera : Instrucciones o acciones de transferencia de datos: INGRESO/SALIDA DE DATOS (LECTURA/ESCRITURA) Leer lista_de_variables ; //separadas por coma Escribir lista_de_expresiones ; //separadas por coma lista_de_expresiones : pueden ser variables, expresiones aritméticas,  'mensajes entre comillas simples' ASIGNACIÓN variable   <expresión>/<variable> expresión:  corresponde a una transformación matemática que usa variables definidas y/o funciones predefinidas o desarrolladas.
Instrucciones ASIGNACIÓN a    5; b    a+z; c    (a*a+b*b)/(a*b); Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción_1 Acción_2 Acción_3 : : Acción_n FinProceso Ejemplos Instrucciones o acciones de transferencia de datos: INGRESO/SALIDA DE DATOS (LECTURA/ESCRITURA) Leer a, b, c;  Escribir 'El valor ingresado de a =',a; Escribir 'La suma de a y b es =', a+b; Escribir 'La suma de ', a , ' +  ‘ , b , 'es =', a+b;  Escribir  'Ingrese un ´numero: '; Leer n
Instrucciones Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción_1 Acción_2 Acción_3 : : Acción_n FinProceso Las instrucciones o acciones presentes en un programa o algoritmo se pueden clasificar de la siguiente manera: Instrucciones o acciones aritméticos / lógicos: Suma (+), Resta(-), Multiplicación(*), División (/),  Módulo (%), Raíz cuadrada (RC) (el módulo como la raíz cuadrada pueden ser implementados con las operaciones básicas, pero por comodidad los utilizaremos en forma explicita)  y (and o &), o (or 0 |), no (not o ~) (los operadores lógicos, al igual que los aritméticos y relacionales se utilizan en las expresiones lógicas presentes en las transferencias de control condicional)
Ejemplos de Algoritmo básicos utilizando Pseudocódigo Construir los algoritmos en pseudocódigo que permita resolver los siguientes problemas, mostrando el resultado por pantalla: sume dos valores multiplica  tres números  divida dos números Calcular el cuadrado de un número Determine los años de nacimiento de una persona a partir de la edad
Ejemplos de Algoritmo básicos utilizando Pseudocódigo Sume dos valores Proceso Suma Variables  a,b,c Entero; Escribir 'Ingrese los datos a sumar'; Leer a,b; c<-a+b; Escribir 'La suma de los numeros ingresados es = ',c; FinProceso Multiplica  tres números Proceso Suma Variables  a,b,c,d Entero; Leer a,b,c; d<-a*b*c; Escribir d; FinProceso Nota: //En la herramienta PSeInt no se definen previamente las variables
Ejemplos de Algoritmo básicos utilizando Pseudocódigo Divida dos números Proceso División Variables  a,b,c Entero ; Escribir 'Ingresar el dividendo y divisor'; Leer a,b; c<-a/b; Escribir 'El resultado es =', c; FinProceso Calcular el cuadrado de un número Proceso cuadrado Variables  a,c Entero; Escribir 'Ingresar un numero'; Leer a; c<-a*a; Escribir 'El cuadrado es ', c; FinProceso Determine los años de nacimiento de una persona a partir de la edad Proceso cuadrado Variables  a Entero;  //una sola variable Escribir 'Ingresar un numero'; Leer a; a<-a*a; Escribir 'El cuadrado es', a; FinProceso
Ejemplos de Algoritmo básicos utilizando Pseudo-Código Construir los algoritmos en pseudocódigo que permita resolver los siguientes problemas, mostrando el resultado por pantalla: Determinar la distancia entre dos puntos en el plano cartesiano Evaluar la función f(x)=3*x 3 +4*x 2  - 5 para un valor especifico de x Evaluar la ecuación de primer grado Evaluar la ecuación de segundo grado
Instrucciones de transferencia de control Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción_1 Acción_2 Acción_3 : : Acción_n FinProceso Las instrucciones o acciones presentes en un programa o algoritmo se pueden clasificar de la siguiente manera: Instrucciones o acciones de transferencia de control: Transferencia condicional Esta instrucción es necesaria cuando el flujo de ejecución del algoritmo depende de una condición lógica. La instrucción más simple es la  bifurcación , en la cual la ejecución puede tomar dos cursos de acción dependiendo de una condición lógica.  Si  expresion_logica  Entonces acciones_por_verdadero; Sino acciones_por_falso; FinSi Transferencia repetitiva (se vera con posterioridad) Transferencia incondicional (se explicara el porque no es aconsejable usar)
Instrucciones de transferencia de control Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción_1 Acción_2 Si expresion_logica Entonces acciones_por_verdadero; Sino acciones_por_falso; FinSi : Acción_n FinProceso Proceso Ecuacion_primer_grado Variables a,b Entero; x Flotante; Leer a,b; Si  a = 0  Entonces Escribir 'La ecuacion no es de primer grado'; Sino x<- -b/a;  //probar la solución con PSeInt Escribir x; FinSi Escribir 'Fin de Programa'; FinProceso Evaluar la ecuación de primer grado a x + b = 0  ? a b x = -b / a a ≠ 0
Del ejemplo anterior podemos observar que la bifurcación permite seguir el flujo adecuado dada una condición. Las condiciones lógicas que se evalúan en las bifurcaciones son siempre verdaderas o falsas.  También es posible que existan bifurcaciones contiguas. No necesariamente deben existir los dos cursos de acción. Instrucciones de transferencia de control
En las bifurcaciones, se evalúan proposiciones utilizando: Operadores lógicos y  (and o  & ),  o  (or 0  | ),  no  (not o  ~ ) Operadores aritméticos   ( * ) multiplicación, ( / ) división, ( + ) suma, ( - ) resta, ( % ) módulo Operadores Relacionales >  (mayor que),  <  (menor que),  =  (igual),  <=  (menor o igual),  >=  (mayor o igual), != (distinto)* Instrucciones de transferencia de control * No presente en PSeint
y, And, & Tablas de verdad asociadas a los operadores lógicos and, or, not Ejemplos de proposición lógica: 7 > 3 (a + b  >  c)  y   (b>0) ~ (a  =  0) (b*b  –  4 * a * c)  >=  0 ((b * b  –  4 * a * c)  <  0)  o  (a = 0) Deportes concepción es el mejor equipo del año Cada una de estas expresiones tendrá un valor de verdad dependiendo de los valores de los operandos. Y & V F V V F F F F O, Or, || No, ~
Ejemplos se evaluación de proposiciones lógicas Proceso <Nombre_Proceso> Variables Var1, var2, var3, var4 Entero; var1    2; var2    0; var3    4; var4    (var1*var1)/var3; Si  (var4>=1) y (var1 !=0)  Entonces acciones_por_verdadero; Sino acciones_por_falso; FinSi : Acción_n FinProceso Proceso <Nombre_Proceso> Variables Var1, var2, var3, var4 Entero; var1    2; var2    0; var3    4; var4    (var3%var1) Si  ((var4!=0) o (var2 >0)) y (var3 =4)  Entonces acciones_por_verdadero; Sino acciones_por_falso; FinSi : Acción_n FinProceso Es importante notar que existen prioridades entre los operadores. Por lo tanto, deben utilizarse paréntesis en los casos que correspondan
Ejercicios: Construir, utilizando pseudocódigo, un algoritmo para cada uno de los siguientes enunciados Cree  un algoritmo  que divida dos números y muestre el resultado Crear un algoritmo que muestre en forma ordenada tres números enteros ingresados desde teclado. Cree  un algoritmo  que resuelva la ecuación de segundo grado, para valores reales, y muestre el resultado Cree  un algoritmo  que resuelva la ecuación de segundo grado, para valores reales e imaginarios, y muestre el resultado Cree  un algoritmo  que permita evaluar la siguiente función para un valor de x: (3x 2 -5x)/ (x-10)  si x > 0 f(x)=  (5x)/x  si 0  < x  <=10 x 2   si x <=0 Cree  un algoritmo  que permita calcular el valor absoluto de un número Cree  un algoritmo  que permita calcular el promedio de 20 números Cree  un algoritmo  que permita sumar n números y muestre el resultado. El valor de n debe ser ingresado por teclado al igual que los números que se sumarán.
Instrucciones de transferencia repetitiva El último ejemplo planteado permite introducir el concepto de  iteración o ciclo . Las estructuras iterativas permiten la ejecución de un grupo de instrucciones un número conocido o desconocido de veces. Concepto de Ciclo Un ciclo es la repetición de un conjunto de instrucciones. Dicho ciclo culmina cuando se cumple una condición lógica de  de término. Cuándo se aplican los Ciclos Se aplican cuando queremos ejecutar un conjunto de instrucciones varias veces.
Bloque de Instrución1; Mientras  Condición_Logica  Hacer Bloque de Instrución2; FinMientras Bloque de Instrución3; Bloque de Instrución1; Repetir Bloque de Instrución2; Hasta Que  Condición_Logica Bloque de Instrución3; Estructuras Iterativas Bloque de Instrucción1  Condición lógica Bloque de Instrucción2 Bloque de Instrucción3 Verdadero Falso Bloque de Instrucción1  Condición lógica Bloque de Instrucción2 Bloque de Instrucción3 Verdadero Falso
Construir un algoritmo que permita imprimir los primeros n números pares Programa n > 0 Proceso Numeros_Pares Variables n,i Entero; Repetir Escribir 'Ingrese numeros de pares a imprimir'; Leer n; Hasta Que (n > 0) i <-1; Mientras (i <=n) Hacer Escribir 2*i; i <- i+1; FinMientras  Escribir 'Fin del Programa'; FinProceso n 2 4 6 8 : : 2*n
Construir un algoritmo que permita calcular el promedio de n números ingresados por teclado Programa n > 0 Proceso Promedio Variables n,i,x,suma, prom Entero; Repetir Escribir 'Cuántos números sumara?'; Leer n; Hasta Que (n > 0) i <-1; suma<-0; Mientras (i <=n) Hacer Leer x; suma<-suma+x; i <- i+1; FinMientras prom<-suma/n Escribir 'Resultado:',prom; FinProceso  Promedio= (x 1 + x 2 + x 3 +…. +x n )/n n (∑  x i  = x 1 + x 2 + x 3 +…. +x n   ) / n   i=1 n X 1 X 2 X 3 : X n Promedio
Construir un algoritmo que permita sumar números ingresados por teclado. El ingreso de números debe realizarse hasta que se ingrese un 0. Se debe imprimir la suma y la cantidad de números ingresados. Programa Proceso Sumatoria Variables n,i,x,suma Entero; Escribir 'El programa terminara cuando ingrese un cero'; i<-0; suma<-0; Repetir Escribir 'Ingrese un numero'; Leer x; suma<-suma+x; i<-i+1  Hasta Que (x = 0) Escribir 'Resultado:',suma; Escribir 'Numeros ingresados: ' , i; FinProceso suma= x 1 + x 2 + x 3 +…. +x ? X 1 X 2 X 3 : X ? suma
Construir un algoritmo que permita sumar números ingresados por teclado. El ingreso de números debe realizarse hasta que se ingrese un 0. Se debe imprimir la suma, la cantidad de números ingresados, además el menor y mayor valor ingresado.
Estructuras Iterativas Otra estructura iterativa es la siguiente: Bloque de Instrución1; Para  Variable_Numerica <- valor_inicial   Hasta  valor_final   Con Paso  paso   Hacer Bloque de Instrución2; FinPara Bloque de Instrución3; Bloque de Instrucción1  Bloque de Instrucción2 Bloque de Instrucción3 VC ← VI , VF, Salto
Construir un algoritmo que permita calcular el promedio de n números ingresados por teclado Programa n > 0 Proceso Promedio Variables n,i,x,suma, prom Entero; Repetir Escribir 'Cuantos numeros sumara?'; Leer n; Hasta Que (n > 0) suma<-0; Para i<-1 Hasta n Con Paso 1 Hacer Leer x; suma<-suma+x; FinPara prom<-suma/n Escribir 'Resultado: ',prom; FinProceso Promedio= (x 1 + x 2 + x 3 +…. +x n )/n n (∑  x i  = x 1 + x 2 + x 3 +…. +x n   ) / n   i=1 n X 1 X 2 X 3 : X n Promedio
¿Preguntas?
Ejercicios Crear un algoritmo que encuentre e imprima el número mayor de N números enteros positivos ingresados por teclado. Crear un algoritmo que calcule e imprima el resultado de la siguiente sumatoria n ∑ i i=1 Cree un algoritmo que permita evaluar la siguiente función, para n valores de x: (3x 2 -5x)/ (x-10)  si x > 0 f(x)=  (5x)/x  si 0  < x  <=10 x 2   si x <=0 Crear un algoritmo que permita evaluar la función f(x)=3*x 3 +4*x 2 -5 para todos los valores enteros de x comprendidos en el intervalo [a,b] Crear un algoritmo que permita generar los primeros n números de la serie de Fibonacci Crear un algoritmo que permita calcular la siguiente sumatoria: S= n + 2*n + 3*n +4*n +…….+ n*n

Más contenido relacionado

PPT
Diagramas De Flujo
PDF
Apartes De Algoritmos
DOCX
Algoritmos
PDF
01 presentación - módulo n°1 • algoritmos
PPT
Algoritmos Y Programas Unidad1
DOCX
Guia de aprendizaje VS2005-2010
PDF
Guía didáctica estructura secuenciales
PDF
Algoritmos 02
Diagramas De Flujo
Apartes De Algoritmos
Algoritmos
01 presentación - módulo n°1 • algoritmos
Algoritmos Y Programas Unidad1
Guia de aprendizaje VS2005-2010
Guía didáctica estructura secuenciales
Algoritmos 02

La actualidad más candente (20)

PPT
Algoritmo
PPSX
Estructura secuencial
DOCX
Algoritmos y diagramas de flujos
PPTX
Tipos de algoritmos
PDF
Fundamentos de Algoritmia
PDF
EJERCICIOS BUCLES REPETITIVOS LENGUAJE C
PPTX
Tipos de algoritmos
PDF
Guia didactica programacion estructurada unidad 4
PPTX
Fundamentos básicos de algoritmos (1)
PPT
Algoritmos
PPTX
Sesión 09 Fund Programación
PPT
Algoritmos y clase
PDF
Algoritmo fundamentos de la programación
PPT
Entidades primitivas para algoritmos
DOCX
Algoritmo variables, constantes, tipos de datos y asignacion
PPTX
PSEUDOCODIGO
PDF
Lenguaje c sintaxis
PPT
Algoritmos y diagramas de flujo
PDF
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
PDF
Clase de metodologia para analisis y planteamiento de problemas
Algoritmo
Estructura secuencial
Algoritmos y diagramas de flujos
Tipos de algoritmos
Fundamentos de Algoritmia
EJERCICIOS BUCLES REPETITIVOS LENGUAJE C
Tipos de algoritmos
Guia didactica programacion estructurada unidad 4
Fundamentos básicos de algoritmos (1)
Algoritmos
Sesión 09 Fund Programación
Algoritmos y clase
Algoritmo fundamentos de la programación
Entidades primitivas para algoritmos
Algoritmo variables, constantes, tipos de datos y asignacion
PSEUDOCODIGO
Lenguaje c sintaxis
Algoritmos y diagramas de flujo
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase de metodologia para analisis y planteamiento de problemas
Publicidad

Similar a Unidad 1, 2 y_3_algoritmos (20)

PPT
Unidad 2 introducción a los algoritmos
PPT
Unidad 1 Introducción a los Algoritmos.ppt
PDF
Tutorial sencillo manejo_de_pseint_y_dfd
PPT
Unidad 2 Principios de programación
PPTX
algoritmos y fundamentos de programacion
PDF
Semana 1 - Principios de Algoritmos.pdf
PPTX
Tarea6
PPTX
Tarea6
PDF
Unidad 1
PPT
Fundamentos-de-Algoritmos.ppt
PPT
Clase 05 (2)
PPT
Ii corte algoritmo_tr_1era_clase
PPTX
Principios de Algoritmos - SEMANA 02-1.pptxxxxxx
PPT
Video Primer Bimestre Metodologia Abierta
PPT
Introducción a la Informática - Los Algoritmos
DOCX
Qué es un algoritmo 10
PDF
PDF
Intro algoritmos, como programar 2025.pdf
PPSX
Tema nº 2 102
PPSX
Unidad 2 introducción a los algoritmos
Unidad 1 Introducción a los Algoritmos.ppt
Tutorial sencillo manejo_de_pseint_y_dfd
Unidad 2 Principios de programación
algoritmos y fundamentos de programacion
Semana 1 - Principios de Algoritmos.pdf
Tarea6
Tarea6
Unidad 1
Fundamentos-de-Algoritmos.ppt
Clase 05 (2)
Ii corte algoritmo_tr_1era_clase
Principios de Algoritmos - SEMANA 02-1.pptxxxxxx
Video Primer Bimestre Metodologia Abierta
Introducción a la Informática - Los Algoritmos
Qué es un algoritmo 10
Intro algoritmos, como programar 2025.pdf
Tema nº 2 102
Publicidad

Último (20)

PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
biología es un libro sobre casi todo el tema de biología
PDF
Lección 6 Escuela Sab. A través del mar rojo.pdf
PDF
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PPT
Cosacos y hombres del Este en el Heer.ppt
PPTX
caso clínico iam clinica y semiología l3.pptx
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
biología es un libro sobre casi todo el tema de biología
Lección 6 Escuela Sab. A través del mar rojo.pdf
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
Escuelas Desarmando una mirada subjetiva a la educación
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
Cosacos y hombres del Este en el Heer.ppt
caso clínico iam clinica y semiología l3.pptx
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
Híper Mega Repaso Histológico Bloque 3.pdf
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...

Unidad 1, 2 y_3_algoritmos

  • 1. Introducción a los algoritmos Profesores: Jazna Meza Hidalgo Grisell Osses Díaz Luis Ángulo Mura Manuel Crisosto Muñoz Introducción a la Programación
  • 2. Motivación OBJETIVO GENERAL DE LA ASIGNATURA   Resolver problemas básicos a través de la construcción de programas basados en algoritmos y un lenguaje de programación, generando acciones hacia la búsqueda de propuestas pertinentes. APRENDIZAJES ESPERADOS (COMPETENCIAS)   Interpretar algoritmos y programas para la solución de problemas básicos de programación. Construir algoritmos y programas para la solución de problemas básicos de programación. Descomponer un problema en subproblemas para facilitar el proceso de definir una solución. Trabajar colaborativamente, cumpliendo un rol y responsabilizándose de él.
  • 3. Pasos en la resolución de un problema Entender el problema Conceptualización Objetivo Contexto Buscar soluciones Elegir solución Diseñar solución Descomposición Especificar tareas Modelar solución Implementar solución Validar solución
  • 4. Programa de Aplicación Programa que permite resolver la ecuación de primer grado a x + b = 0 Programa que permite resolver la ecuación de primer grado ? a b x = -b / a #include <stdio.h> int main() { int a,b,x; printf( “Ingrese valores de EC”); scanf( “%d %d”,&a,&b); if (a ==0) printf ( “error”); else { x = -b / a; printf( “La solución es %d:”,x); } printf( “Fin programa”); return 0; } Proceso Ecuacion_primer_grado Variables a,b,x de tipo entero Escribir 'Ingrese valores de EC' Leer a,b Si a = 0 Entonces Escribir 'Error' Sino x<- -1*b/a; Escribir 'La solución es: ',x; FinSi Escribir 'Fin programa'; FinProceso
  • 5. ¿Qué es un problema? Es una situación concreta sobre la cual se quiere implementar una solución (ejemplos) Solución: procedimiento que nos lleva a satisfacer ciertos requerimientos Esquema básico para la resolución de un problema a través de un programa con un enfoque sistémico Proceso Entrada Salida Datos Externos Datos auto generados Lectura de dispositivo de almacenamiento Informes Datos para otro programa Datos grabados en dispositivos externos de almacenamiento
  • 6. Datos y Variables Datos: objetos simbólicos que representan objetos del mundo real. Ejemplos: 10 de Marzo de 2003, 3.14 Variables: En programación corresponde a un espacio de memoria reservado para almacenar un dato, al cual se le asigna un nombre y un tipo de dato. Ejemplos: velocidad del móvil, factor de crecimiento
  • 7. ¿Qué es un algoritmo? Procedimiento detallado para resolver un problema en pasos y en un tiempo finito. Se especifican en base a operaciones básicas que controlan las variables y el flujo del algoritmo El algoritmo lleva desde un estado inicial a un estado final El algoritmo recibe Entradas y entrega Salidas
  • 8. ¿Cómo desarrollar un algoritmo? Imaginación No reinventar la rueda Dividir para conquistar Para ser efectivo se requiere practicar constantemente El diseño de algoritmos es una rama de la Ciencia de la Computación
  • 9. ¿Cómo se describe un algoritmo? Lenguaje natural Pseudo código Lenguaje de programación La precisión es importante Un algoritmo no puede ser descrito de forma ambigua: Todos tienen que entender lo mismo (incluido el computador!)
  • 10. Llamada telefónica Se desea conceptualizar el problema de efectuar una llamada telefónica en un teléfono público que recibe monedas de $10, $50 y $100. El costo mínimo de la llamada es de $100 por 5 minutos. El proceso se inicia desde que se levanta el auricular y finaliza cuando se cuelga.
  • 11. Conceptos Básicos de Algoritmos La forma en que se ejecutan las operaciones básicas en un computador, es similar a lo que ocurre en nuestro cerebro. Por ejemplo, suponga que se nos pide sumar dos números: ¿Cuáles son los pasos básicos para realizar la operación solicitada?
  • 12. Conceptos Básicos de Algoritmos Primero debemos pedirle a la persona (usuario) que nos diga el primer valor. Luego de que conocemos este valor, debemos almacenarlo (para recordarlo después) en una neurona (Suponemos que un valor se puede almacenar en una neurona). Ya conocemos el primer valor y está almacenado en nuestro cerebro!!!. Ahora debemos pedir el segundo valor. Una vez conocido, lo almacenamos en otra neurona distinta de la anterior. ¿ Por qué?....... Ahora que conocemos los dos valores procedemos a sumarlos, y dicho resultado lo almacenamos en otra neurona distinta de las anteriores. Por último, le decimos el resultado a la persona que nos entrego los números.
  • 13. Conceptos Básicos de Algoritmos De lo anterior, al menos necesitamos 3 neuronas para sumar dos números. Le pedimos explícitamente que nos dijeran dichos valores. Le asignamos dichos valores a las neuronas La suma la realizó nuestro cerebro de forma mecánica. Note que no existen detalles de la operaciones básicas (*,/,+, -). Finalmente se da el resultado
  • 14. Conceptos Básicos de Algoritmos Algoritmo para sumar dos números: Definimos tres neuronas Pedimos el primer valor Almacenamos ese valor en la neurona 1. Pedimos el segundo valor Almacenamos ese valor en la neurona 2. Almacenamos la suma de las neuronas 1 y 2 en la neurona 3 Entregamos el resultado que se encuentra en la neurona 3.
  • 15. Conceptos Básicos de Algoritmos Sin embargo, en los lenguajes no se pueden usar neuronas, pero podemos definir variables (Recuerde que las variables pueden tomar cualquier valor) En lugar de usar neurona 1 y neurona 2, se utilizan espacios de memoria que llamaremos “var_1” y “var_2”, y así sucesivamente. También las podemos llamar “x1” y “x2” ó “x” e “y” ….
  • 16. Conceptos Básicos de Algoritmos Ejercicio: Cree un algoritmo que multiplique tres números. Algoritmo para multiplicar tres números: Definimos cuatro variables Pedimos el primer valor Almacenamos ese valor en var 1. Pedimos el segundo valor Almacenamos ese valor en var 2. Pedimos el tercer valor Almacenamos ese valor en var 3. Almacenamos la multiplicación de las variables en var 4 Entregamos el resultado que se encuentra en var 4. ¿Podemos intentar multiplicar tres valores usando solo dos variables?
  • 17. Conceptos Básicos de Algoritmos La manera en que hemos detallado nuestros dos algoritmos se llama PSEUDOCÓDIGO. Y este pseudocódigo fue escrito en lenguaje natural. Otra manera de poder detallar nuestros algoritmos es a través de los diagrama de flujo. Un diagrama de flujo es una representación simbólica de la lógica del algoritmo.
  • 18. Elementos básicos presentes en un Algoritmo PROGRAMA : Conjunto de instrucciones, con una secuencia lógica, escrito en algún Lenguaje de Programación que permite resolver un Problema . El programa recibe datos de entrada, realiza las operaciones de transformación requeridas, y entrega los resultados esperados. ALGORITMO : Una secuencia de pasos (modelo) para realizar una tarea.
  • 19. Estructura general de un Algoritmo utilizando Pseudocódigo Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción_1 Acción_2 Acción_3 : : Acción_n FinProceso Las variables son espacios de memoria reservados para el almacenamiento de datos requeridos por el algoritmo Las instrucciones o acciones presentes en un programa o algoritmo se pueden clasificar de la siguiente manera: Instrucciones o acciones de transferencia de datos Instrucciones o acciones aritméticos / lógicos Instrucciones o acciones de transferencia de control (condicional o incondicional)
  • 20. Variables Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción1 Acción_2 Acción_3 : : Acción_n FinProceso Las variables quedan definidas por un nombre y el tipo de dato que pueda contener. La posición de memoria especificada por una variable solo puede contener un valor a la vez. Nombre de Variable: se recomienda usar nombres “significativo”, asociado al uso que se le dará al dato almacenado. Tipo de dato: Corresponde a un atributo del dato que permite especificar el dominio de valores que puede tomar y las operaciones que se pueden hacer sobre ellos. Los tipos de datos primitivos (básicos) son: Numérico (Entero o Decimal), Carácter y Lógicos . Las variables son espacios de memoria reservados para el almacenamiento de datos requeridos por el algoritmo.
  • 21. Instrucciones Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción_1 Acción_2 Acción_3 : : Acción_n FinProceso Las instrucciones o acciones presentes en un programa o algoritmo se pueden clasificar de la siguiente manera : Instrucciones o acciones de transferencia de datos: INGRESO/SALIDA DE DATOS (LECTURA/ESCRITURA) Leer lista_de_variables ; //separadas por coma Escribir lista_de_expresiones ; //separadas por coma lista_de_expresiones : pueden ser variables, expresiones aritméticas, 'mensajes entre comillas simples' ASIGNACIÓN variable <expresión>/<variable> expresión: corresponde a una transformación matemática que usa variables definidas y/o funciones predefinidas o desarrolladas.
  • 22. Instrucciones ASIGNACIÓN a  5; b  a+z; c  (a*a+b*b)/(a*b); Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción_1 Acción_2 Acción_3 : : Acción_n FinProceso Ejemplos Instrucciones o acciones de transferencia de datos: INGRESO/SALIDA DE DATOS (LECTURA/ESCRITURA) Leer a, b, c; Escribir 'El valor ingresado de a =',a; Escribir 'La suma de a y b es =', a+b; Escribir 'La suma de ', a , ' + ‘ , b , 'es =', a+b; Escribir 'Ingrese un ´numero: '; Leer n
  • 23. Instrucciones Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción_1 Acción_2 Acción_3 : : Acción_n FinProceso Las instrucciones o acciones presentes en un programa o algoritmo se pueden clasificar de la siguiente manera: Instrucciones o acciones aritméticos / lógicos: Suma (+), Resta(-), Multiplicación(*), División (/), Módulo (%), Raíz cuadrada (RC) (el módulo como la raíz cuadrada pueden ser implementados con las operaciones básicas, pero por comodidad los utilizaremos en forma explicita) y (and o &), o (or 0 |), no (not o ~) (los operadores lógicos, al igual que los aritméticos y relacionales se utilizan en las expresiones lógicas presentes en las transferencias de control condicional)
  • 24. Ejemplos de Algoritmo básicos utilizando Pseudocódigo Construir los algoritmos en pseudocódigo que permita resolver los siguientes problemas, mostrando el resultado por pantalla: sume dos valores multiplica tres números divida dos números Calcular el cuadrado de un número Determine los años de nacimiento de una persona a partir de la edad
  • 25. Ejemplos de Algoritmo básicos utilizando Pseudocódigo Sume dos valores Proceso Suma Variables a,b,c Entero; Escribir 'Ingrese los datos a sumar'; Leer a,b; c<-a+b; Escribir 'La suma de los numeros ingresados es = ',c; FinProceso Multiplica tres números Proceso Suma Variables a,b,c,d Entero; Leer a,b,c; d<-a*b*c; Escribir d; FinProceso Nota: //En la herramienta PSeInt no se definen previamente las variables
  • 26. Ejemplos de Algoritmo básicos utilizando Pseudocódigo Divida dos números Proceso División Variables a,b,c Entero ; Escribir 'Ingresar el dividendo y divisor'; Leer a,b; c<-a/b; Escribir 'El resultado es =', c; FinProceso Calcular el cuadrado de un número Proceso cuadrado Variables a,c Entero; Escribir 'Ingresar un numero'; Leer a; c<-a*a; Escribir 'El cuadrado es ', c; FinProceso Determine los años de nacimiento de una persona a partir de la edad Proceso cuadrado Variables a Entero; //una sola variable Escribir 'Ingresar un numero'; Leer a; a<-a*a; Escribir 'El cuadrado es', a; FinProceso
  • 27. Ejemplos de Algoritmo básicos utilizando Pseudo-Código Construir los algoritmos en pseudocódigo que permita resolver los siguientes problemas, mostrando el resultado por pantalla: Determinar la distancia entre dos puntos en el plano cartesiano Evaluar la función f(x)=3*x 3 +4*x 2 - 5 para un valor especifico de x Evaluar la ecuación de primer grado Evaluar la ecuación de segundo grado
  • 28. Instrucciones de transferencia de control Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción_1 Acción_2 Acción_3 : : Acción_n FinProceso Las instrucciones o acciones presentes en un programa o algoritmo se pueden clasificar de la siguiente manera: Instrucciones o acciones de transferencia de control: Transferencia condicional Esta instrucción es necesaria cuando el flujo de ejecución del algoritmo depende de una condición lógica. La instrucción más simple es la bifurcación , en la cual la ejecución puede tomar dos cursos de acción dependiendo de una condición lógica. Si expresion_logica Entonces acciones_por_verdadero; Sino acciones_por_falso; FinSi Transferencia repetitiva (se vera con posterioridad) Transferencia incondicional (se explicara el porque no es aconsejable usar)
  • 29. Instrucciones de transferencia de control Proceso <Nombre_Proceso> Variables Lista de variables Tipo_Dato; Acción_1 Acción_2 Si expresion_logica Entonces acciones_por_verdadero; Sino acciones_por_falso; FinSi : Acción_n FinProceso Proceso Ecuacion_primer_grado Variables a,b Entero; x Flotante; Leer a,b; Si a = 0 Entonces Escribir 'La ecuacion no es de primer grado'; Sino x<- -b/a; //probar la solución con PSeInt Escribir x; FinSi Escribir 'Fin de Programa'; FinProceso Evaluar la ecuación de primer grado a x + b = 0 ? a b x = -b / a a ≠ 0
  • 30. Del ejemplo anterior podemos observar que la bifurcación permite seguir el flujo adecuado dada una condición. Las condiciones lógicas que se evalúan en las bifurcaciones son siempre verdaderas o falsas. También es posible que existan bifurcaciones contiguas. No necesariamente deben existir los dos cursos de acción. Instrucciones de transferencia de control
  • 31. En las bifurcaciones, se evalúan proposiciones utilizando: Operadores lógicos y (and o & ), o (or 0 | ), no (not o ~ ) Operadores aritméticos ( * ) multiplicación, ( / ) división, ( + ) suma, ( - ) resta, ( % ) módulo Operadores Relacionales > (mayor que), < (menor que), = (igual), <= (menor o igual), >= (mayor o igual), != (distinto)* Instrucciones de transferencia de control * No presente en PSeint
  • 32. y, And, & Tablas de verdad asociadas a los operadores lógicos and, or, not Ejemplos de proposición lógica: 7 > 3 (a + b > c) y (b>0) ~ (a = 0) (b*b – 4 * a * c) >= 0 ((b * b – 4 * a * c) < 0) o (a = 0) Deportes concepción es el mejor equipo del año Cada una de estas expresiones tendrá un valor de verdad dependiendo de los valores de los operandos. Y & V F V V F F F F O, Or, || No, ~
  • 33. Ejemplos se evaluación de proposiciones lógicas Proceso <Nombre_Proceso> Variables Var1, var2, var3, var4 Entero; var1  2; var2  0; var3  4; var4  (var1*var1)/var3; Si (var4>=1) y (var1 !=0) Entonces acciones_por_verdadero; Sino acciones_por_falso; FinSi : Acción_n FinProceso Proceso <Nombre_Proceso> Variables Var1, var2, var3, var4 Entero; var1  2; var2  0; var3  4; var4  (var3%var1) Si ((var4!=0) o (var2 >0)) y (var3 =4) Entonces acciones_por_verdadero; Sino acciones_por_falso; FinSi : Acción_n FinProceso Es importante notar que existen prioridades entre los operadores. Por lo tanto, deben utilizarse paréntesis en los casos que correspondan
  • 34. Ejercicios: Construir, utilizando pseudocódigo, un algoritmo para cada uno de los siguientes enunciados Cree un algoritmo que divida dos números y muestre el resultado Crear un algoritmo que muestre en forma ordenada tres números enteros ingresados desde teclado. Cree un algoritmo que resuelva la ecuación de segundo grado, para valores reales, y muestre el resultado Cree un algoritmo que resuelva la ecuación de segundo grado, para valores reales e imaginarios, y muestre el resultado Cree un algoritmo que permita evaluar la siguiente función para un valor de x: (3x 2 -5x)/ (x-10) si x > 0 f(x)= (5x)/x si 0 < x <=10 x 2 si x <=0 Cree un algoritmo que permita calcular el valor absoluto de un número Cree un algoritmo que permita calcular el promedio de 20 números Cree un algoritmo que permita sumar n números y muestre el resultado. El valor de n debe ser ingresado por teclado al igual que los números que se sumarán.
  • 35. Instrucciones de transferencia repetitiva El último ejemplo planteado permite introducir el concepto de iteración o ciclo . Las estructuras iterativas permiten la ejecución de un grupo de instrucciones un número conocido o desconocido de veces. Concepto de Ciclo Un ciclo es la repetición de un conjunto de instrucciones. Dicho ciclo culmina cuando se cumple una condición lógica de de término. Cuándo se aplican los Ciclos Se aplican cuando queremos ejecutar un conjunto de instrucciones varias veces.
  • 36. Bloque de Instrución1; Mientras Condición_Logica Hacer Bloque de Instrución2; FinMientras Bloque de Instrución3; Bloque de Instrución1; Repetir Bloque de Instrución2; Hasta Que Condición_Logica Bloque de Instrución3; Estructuras Iterativas Bloque de Instrucción1 Condición lógica Bloque de Instrucción2 Bloque de Instrucción3 Verdadero Falso Bloque de Instrucción1 Condición lógica Bloque de Instrucción2 Bloque de Instrucción3 Verdadero Falso
  • 37. Construir un algoritmo que permita imprimir los primeros n números pares Programa n > 0 Proceso Numeros_Pares Variables n,i Entero; Repetir Escribir 'Ingrese numeros de pares a imprimir'; Leer n; Hasta Que (n > 0) i <-1; Mientras (i <=n) Hacer Escribir 2*i; i <- i+1; FinMientras Escribir 'Fin del Programa'; FinProceso n 2 4 6 8 : : 2*n
  • 38. Construir un algoritmo que permita calcular el promedio de n números ingresados por teclado Programa n > 0 Proceso Promedio Variables n,i,x,suma, prom Entero; Repetir Escribir 'Cuántos números sumara?'; Leer n; Hasta Que (n > 0) i <-1; suma<-0; Mientras (i <=n) Hacer Leer x; suma<-suma+x; i <- i+1; FinMientras prom<-suma/n Escribir 'Resultado:',prom; FinProceso Promedio= (x 1 + x 2 + x 3 +…. +x n )/n n (∑ x i = x 1 + x 2 + x 3 +…. +x n ) / n i=1 n X 1 X 2 X 3 : X n Promedio
  • 39. Construir un algoritmo que permita sumar números ingresados por teclado. El ingreso de números debe realizarse hasta que se ingrese un 0. Se debe imprimir la suma y la cantidad de números ingresados. Programa Proceso Sumatoria Variables n,i,x,suma Entero; Escribir 'El programa terminara cuando ingrese un cero'; i<-0; suma<-0; Repetir Escribir 'Ingrese un numero'; Leer x; suma<-suma+x; i<-i+1 Hasta Que (x = 0) Escribir 'Resultado:',suma; Escribir 'Numeros ingresados: ' , i; FinProceso suma= x 1 + x 2 + x 3 +…. +x ? X 1 X 2 X 3 : X ? suma
  • 40. Construir un algoritmo que permita sumar números ingresados por teclado. El ingreso de números debe realizarse hasta que se ingrese un 0. Se debe imprimir la suma, la cantidad de números ingresados, además el menor y mayor valor ingresado.
  • 41. Estructuras Iterativas Otra estructura iterativa es la siguiente: Bloque de Instrución1; Para Variable_Numerica <- valor_inicial Hasta valor_final Con Paso paso Hacer Bloque de Instrución2; FinPara Bloque de Instrución3; Bloque de Instrucción1 Bloque de Instrucción2 Bloque de Instrucción3 VC ← VI , VF, Salto
  • 42. Construir un algoritmo que permita calcular el promedio de n números ingresados por teclado Programa n > 0 Proceso Promedio Variables n,i,x,suma, prom Entero; Repetir Escribir 'Cuantos numeros sumara?'; Leer n; Hasta Que (n > 0) suma<-0; Para i<-1 Hasta n Con Paso 1 Hacer Leer x; suma<-suma+x; FinPara prom<-suma/n Escribir 'Resultado: ',prom; FinProceso Promedio= (x 1 + x 2 + x 3 +…. +x n )/n n (∑ x i = x 1 + x 2 + x 3 +…. +x n ) / n i=1 n X 1 X 2 X 3 : X n Promedio
  • 44. Ejercicios Crear un algoritmo que encuentre e imprima el número mayor de N números enteros positivos ingresados por teclado. Crear un algoritmo que calcule e imprima el resultado de la siguiente sumatoria n ∑ i i=1 Cree un algoritmo que permita evaluar la siguiente función, para n valores de x: (3x 2 -5x)/ (x-10) si x > 0 f(x)= (5x)/x si 0 < x <=10 x 2 si x <=0 Crear un algoritmo que permita evaluar la función f(x)=3*x 3 +4*x 2 -5 para todos los valores enteros de x comprendidos en el intervalo [a,b] Crear un algoritmo que permita generar los primeros n números de la serie de Fibonacci Crear un algoritmo que permita calcular la siguiente sumatoria: S= n + 2*n + 3*n +4*n +…….+ n*n