ALGORITMOS-PARTE I

March 28, 2018 | Author: Jaison Steve Orihuela Bejarano | Category: Array Data Structure, Programming Language, Algorithms, Computer Program, Computer Programming


Comments



Description

UNIVERSIDAD NACIONAL DE INGENIERIAFacultad de Ingeniería Industrial y de Sistemas Area de Sistemas Computación e Informática ALGORITMOS Y ESTRUCTURAS DE DATOS PARTE I Profesora: Ing. Irma Inga Serrano 2011 FIIS DATOS DEL CURSO Universidad Nacional de Ingeniería CODIGO DEL CURSO: ST-221 CREDITOS: 03 SISTEMA DE EVALUACION: F Examen Parcial: Peso 1 Examen Final : Peso 2 Promedio de Prácticas: Peso 1 (4 Prácticas calificadas, se elimina la mas baja) CONTENIDO DEL CURSO FIIS 1.- Introducción y Conceptos Básicos 2.- Estructuras de Control 1ra PC 3.- Arreglos 2da PC 4.- Cadenas Examen Parcial 5.- Subprogramas 6.- Recursividad 3ra PC 7.- Registros 8.- Archivos 4ta PC 9.- Programación Dinámica Examen Final Universidad Nacional de Ingeniería Universidad Nacional de Ingeniería FIIS I. CONCEPTOS BASICOS . Tarea: hacer un pastel Problema: calcular el promedio final de un alumno de ST-221U Se puede observar los siguientes elementos: ELEMENTOS DE ENTRADA Ejecutor del algoritmo Algoritmo RESULTADO SALIDA . CONCEPTOS BASICOS En nuestra vida cotidiana.FIIS I. para realizar una tarea o resolver un problema . Universidad Nacional de Ingeniería Ejm. ejecutamos un conjunto de pasos o acciones previamente definidos (ALGORITMO). FIIS Procesamiento de Datos: Universidad Nacional de Ingeniería DATOS Entrada Procesador INFORMACIÓN Salida Algoritmo El procesador puede ser: • persona(s): procesamiento manual • computadora(s): procesamiento automatizado . atributo o característica de una entidad.2. La temperatura promedio de Lima en el mes de Julio fue de 16. etc Los datos son valores que por si solos son irrelevantes.FIIS  Algoritmo: Secuencia ordenada de pasos (acciones) que se debe ejecutar para para resolver un problema. Los datos se pueden transformar en información agregándoles valor (contexto. No dicen nada sobre el por qué de las cosas. Se expresa en lenguaje natural Dato: Es la representación simbólica de un hecho. Ejm. Lima.2 grados En la primera práctica del curso ST221U hay 20 aprobados . Marzo. Ejm: 27.  Universidad Nacional de Ingeniería  Información: conjunto de datos procesados y que tienen un significado . Es útil para el que toma decisiones. 25. categoría ó cálculo). ST221U. FIIS PROCESAMIENTO DE DATOS UTILIZANDO EL COMPUTADOR Hardware Universidad Nacional de Ingeniería Procesador DATOS Entrada INFORMACIÓN Salida Programas Software . Discos compactos. etc. Parlantes. Memoria Principal RAM y ROM Unidades de Almacenamiento. Impresora Monitor.FIIS HARDWARE (componentes físicos) Universidad Nacional de Ingeniería Unidades Periféricas De Entrada Ejem. Discos duros. . Teclado Mouse Escaner. Disquete. etc UNIDAD CENTRAL DE PROCESO Unidad de Control Unidad Aritmética Y Lógica Unidades Periféricas De Salida Ejm. etc. Ejem. Excel.FIIS SOFTWARE (programas) PROGRAMA Es el algoritmo escrito en un lenguaje de programación para ser ejecutado por el computador. Sistema de facturación. etc. DOS. Power Point. Sistema de Matrícula. Aplicaciones de uso general: Ejm. Sistema de procesamiento de notas. Windows. TIPOS DE PROGRAMAS: Sistemas operativos : Ejm. access. etc. etc Universidad Nacional de Ingeniería - - . Linux. Aplicaciones de uso específico Ejm. Word. FASES PARA LA CONSTRUCCION DE UN PROGRAMA FIIS Datos SOLUCION DEL PROBLEMA Algoritmo IMPLEMENTACION Programa EN LA COMPUTADORA (Software) Codificación del algoritmo (programa) Universidad Nacional de Ingeniería Análisis del problema Diseño del algoritmo Verificación Error de del algoritmo lógica OK Algoritmo Ejecución del Error programa sintaxis Verificación del programa OK Programa . Se componen de un conjunto de reglas sintácticas y semánticas que permiten al programador expresar acciones o instrucciones que luego serán interpretadas y ejecutadas por el computador. Tipos de lenguajes de Programación: • Lenguaje de máquina: lenguaje binario (0 y 1) entendible directamente por el computador. 0110 1001 1010 1011 • Lenguaje de bajo nivel: lenguaje mnemotécnico.FIIS Universidad Nacional de Ingeniería LENGUAJES DE PROGRAMACION Es un lenguaje artificial que se utiliza para controlar el comportamiento del computador. ADD M. etc. Son fáciles de escribir. P • Lenguaje de alto nivel: lenguaje similar al lenguaje natural. . Basic. Java. Ejm. Ejm. N. Pascal. Ejm. Es el mas usado por los programadores. C++. Prolog.  Universidad Nacional de Ingeniería TRADUCTORES DE LENGUAJE Programas que traducen programas fuente a lenguaje de máquina.  PROGRAMA OBJETO (PO): Programa escrito en lenguaje de máquina. Es el que ejecuta el computador.máq. . Tipos de Traductores: Compiladores e Intérpretes Programa Fuente Compilador Programa Objeto Ejecución del Programa Ejecución de la Instrucción Programa Fuente instrucción Intérprete Instrucción en leng.TIPOS DE PROGRAMAS (según el Lenguaje de Programación) FIIS PROGRAMA FUENTE (PF) Programa escrito en lenguaje de alto o bajo nivel. TIPOS DE DATOS reconocidos por el computador DATOS Universidad Nacional de Ingeniería FIIS BASICOS COMPUESTOS Numéricos -Enteros -Reales Caracter Lógico Estático -Arreglos -Registros -Archivos Dinámico -Listas -Arboles -Grafos . z Caracteres numéricos: 0 . etc. >. / . falso .  DATOS TIPO LOGICO Conjunto formado por dos valores lógicos: verdad.9 Caracteres especiales: *. Universidad Nacional de Ingeniería DATOS TIPO CARACTER Conjunto de caracteres que el computador reconoce.Z .DATOS SIMPLES O DATOS BASICOS FIIS  DATOS NUMERICOS Enteros y Reales El rango y precisión de los datos numéricos depende del lenguaje de programación que se utilice. <. =. a . Se encuentran normalizados bajo el código ASCII o EBCDIC En ambos se reconocen: Caracteres alfabéticos: A . +. Y. /. resto. . entero Relacionales >. <. >=. = Dato Numérico Dato Lógico DE COMPARACION LOGICAS Datos lógicos Lógicos No. O Dato lógico .. *. <=.FIIS Operaciones con los datos OPERACIONES Universidad Nacional de Ingeniería TIPO DE DATOS Datos Numéricos Datos del mismo tipo OPERADORES Aritméticos RESULTADO ARITMETICAS +. FIIS IMPORTANTE: En operaciones aritméticas: Muchos lenguajes cuentan con operadores adicionales a los conocidos como los operadores para los datos enteros a. 10+ resto(5/3) Resultado: 12 En operaciones de Comparación: En la comparación de datos tipo carácter se tiene: „0‟<„1‟<„2‟<.<„z‟ En datos tipo lógico: falso < verdad Universidad Nacional de Ingeniería .. b: entero (a/b): entrega el entero del número real (a/b) resto (a/b): entrega el resto de la división entera a/b Ejm..<‟9‟<„A‟<„B‟<…<„Z‟<„a‟<„b‟<. Universidad Nacional de Ingeniería  CONSTANTE Es un dato (de cualquier tipo) cuyo valor no cambia durante la ejecución del algoritmo o programa. variables. funciones. Tipos de constantes:  Literal: es un valor expresado en forma explícita.1416) . Pi (Previamente se debe definir que Pi = 3.FIIS Expresión de los datos Un dato puede venir expresado como: constantes. 3.1416  Simbólica: viene expresado bajo un nombre que guarda su valor Ejm. expresiones. Ejm. etc. vale  Puede cambiar de valor durante la ejecución del algoritmo perdiéndose cualquier otro dato previamente almacenado en ella. sexo. examen.FIIS  Universidad Nacional de Ingeniería VARIABLE  Es una porción de memoria que almacena un dato.  Para definir una variable es necesario: .Indicar el tipo de dato que va almacenar Tipos de variables: Entero: Ejm. Real: Ejm. sección. nota. encontrado. edad. Fin. Lógica: Ejm. talla Carácter: Ejm. .Darle un Nombre . sueldo. promedio. FIIS  Universidad Nacional de Ingeniería El almacenamiento de un dato en una variable puede ser: . . Para ello se utiliza la instrucción leer. Para ello se utiliza el operador de asignación que se representa con el símbolo  Ejm. Se tiene la variable entera Nota Nota Nota  12 12 Nota Nota  Nota +2 14 .Por lectura: se solicita al usuario que ingrese un dato.Por asignación: se asigna un dato a la variable. variables y expres.1 y PF>6. (EP + 2*EF + PP)/4  Expresiones lógicas Operando: constantes. (PP>6. variables y expres.FIIS  Universidad Nacional de Ingeniería EXPRESIONES Es una combinación de operandos y operadores Tipos:  Expresiones aritméticas Operando: constantes. lógicas Operadores: lógicos y relacionales Resultado: Dato lógico Ejm. Operadores: aritméticos Resultado: Dato numérico Ejm. numér.1) .    . Universidad Nacional de Ingeniería Generalmente los lenguajes de programación poseen funciones matemáticas. de cadenas y otros. Ejm. Constan de una cadena de caracteres que debe empezar con una letra.Tienen un nombre con el cual se les invoca y .FIIS  FUNCIONES Son programas predefinidas que: . variables. funciones y otros. En C++ Abs(X): devuelve el valor absoluto del número entero X Sqrt(X): devuelve la raiz cuadrada del número X (X>=0) Identificadores Son los nombres que se le dan a las constantes simbólicas. Deben ser significativos sugiriendo lo que representa.Aceptan datos y devuelven un resultado. Se desea acumular las notas de prácticas de un alumno Sum 0 (el valor de sum es 0) sum  sum + 13 (el valor de sum es 13) sum  sum + 10 (el valor de sum es 23) CONTADOR  Es un acumulador cuyo valor aumenta o disminuye en una cantidad constante cada vez que se produce un determinado suceso o acción. Contar número de aprobados Universidad Nacional de Ingeniería .FIIS VARIABLES IMPORTANTES ACUMULADOR  Es una variable cuyo valor aumenta o disminuye en una cantidad variable cada vez que se produce un determinado suceso o acción.  Se usa para contar sucesos. Ejm.  Debe ser inicializado Ejm. verificar y modificar. de control: EC Secuenciales. EC Repetitivas . leer.FIIS DISEÑO DE ALGORITMOS: TECNICA DE PROGRAMACION ESTRUCTURADA Conjunto de técnicas para desarrollar algoritmos fáciles de escribir. Universidad Nacional de Ingeniería  Diseño Modular ( Top-down ) En problemas grandes y complejos: dividir el problema en subproblemas y diseñar un subprograma para resolver cada uno de ellos  Descomposición del programa en recursos abstractos Descompone una acción compleja en acciones simples capaces de ser ejecutadas por un computador ( instrucciones )  Estructuras de control básicas Un programa se escribe utilizando 3 estruct. EC Selectivas. Instrucciones de escritura: Muestra los resultados a través de un dispositivo de salida por ejemplo la pantalla.  . etc. impresora.FIIS INSTRUCCIONES Son las acciones que van a ser ejecutadas por el computador para resolver el problema. TIPOS :  Instrucciones de Inicio/Fin : Indica el Inicio y el Fin del algoritmo  Universidad Nacional de Ingeniería Instrucciones de lectura: Solicita al usuario el ingreso de datos desde un dispositivo de entrada por ejemplo el teclado. Instrucciones selectivas: Permiten ejecutar unas u otras tareas de acuerdo al resultado de una expresión condicional Instrucciones repetitivas: Permiten la repetición de un grupo de instrucciones.   . generando un bucle (lazo o loop).FIIS  Universidad Nacional de Ingeniería Instrucciones de asignación: Almacena un valor en una variable. perdiéndose cualquier otro valor almacenado en ella. En el caso que ya no pueda rendir el ES. debe mostrar también el PF . EF y PP de un alumno. Se sabe que el promedio final (PF) se calcula con la fórmula: PF=(EP+ PP+2EF)/4 Si el alumno cumple con la siguiente condición: PP>6.1 y PF> 6.1 tiene opción a rendir un examen sustitutorio (ES) Escriba un algoritmo reciba las notas del alumno y luego muestre un mensaje indicando si el alumno puede rendir o no puede rendir el ES.FIIS EJEMPLO DE ALGORITMO Universidad Nacional de Ingeniería Se cuenta con las notas del EP. 1 y PF>6. PP mensaje y PF (si no puede rendir ES) Universidad Nacional de Ingeniería Algoritmo Inicio del algoritmo Ingresar las notas del alumno: EP.1entonces mostrar el mensaje “Puede rendir el ES” Si no cumple la condición entonces mostrar el mensaje “No puede rendir ES” y mostrar PF Fin del algoritmo.FIIS Análisis Datos de entrada: Salida: EP. . EF y PP Calcular PF con la siguiente fórmula: PF = (EP + 2EF + PP)/4 Si cumple la condición PP> 6. EF. FIIS HERRAMIENTAS PARA LA REPRESENTACION DE ALGORITMOS Para representar los algoritmos existen herramientas que permiten expresar las instrucciones en forma estandarizada: Universidad Nacional de Ingeniería  Diagrama de flujo Técnica tipo gráfico  Pseudocódigo Lenguaje de especificación (palabras reservadas) en lenguaje natural  Diagrama de Nassi-Scheneiderman Es una combinación de las dos anteriores . FIIS Diagrama de Flujo Símbolos Significado Inicio / Fin Universidad Nacional de Ingeniería Lectura / Escritura Proceso Selectiva Selectiva múltiple Dirección o flujo . Variables (obligatorio) Bloque de Instrucciones • Inicio/Fin • Lectura Leer ( lista de variables) • Escritura Escribir ( resultado) • Asignación • Selectiva Fin Algoritmo nombre del algoritmo Constantes Universidad Nacional de Ingeniería Variables Nombre-constante = valor Tipo-dato: nombre de variables Inicio instrucciones nombre de la variable  valor ó expresión // Otras instrucciones Si ( condición) instrucciones sino instrucciones fin-si .Pseudocódigo FIIS Cabecera Contiene el nombre del algoritmo (opcional) Bloque de Declaraciones Se utilizan para asignar espacios en la RAM Se declaran: Constantes (opcional). 1 y PF>6. PP) Leer EP. PP Universidad Nacional de Ingeniería PF=(EP+PP+2*EF)/4 F PP>6.1 V PF  (EP+PP+2*EF)/4 Si (PP>6.1 y PF>6.FIIS Representación del Algoritmo Ejemplo Diagrama de Flujo Inicio Pseudocódigo Algoritmo Ejemplo Variables entero: EP. PF Fin Fin .EF.1) Escribir ( “Puede rendir el ES”) Escribir “No puede rendir ES” Escribir “Puedes rendir ES” sino Escribir (“No puede rendir el ES”) Escribir (“La nota final es: “. PF) Fin-si Escribir “La nota Final es: “ . PF Inicio Leer (EP. EF. EF real: PP. PROGRAMACION EN PSEUDOCODIGO Estructuras de control .Universidad Nacional de Ingeniería FIIS II. hasta  E. Secuencial Simple Doble Múltiple Desde Mientras Repetir .C. Selectiva  E.FIIS ESTRUCTURAS DE CONTROL Un algoritmo debe ser escrito utilizando tres estructuras de control: Universidad Nacional de Ingeniería  E. Múltiple .C.C. acción 1 acción 2 acción 3 ------------acción n .FIIS Estructura SECUENCIAL Universidad Nacional de Ingeniería Las acciones del algoritmo se ejecutan en el orden que se encuentran escritos. Se tiene un número real G que representa la medida de un ángulo en grados sexagesimales. Luego muestre estos resultados. Se desea realizar el pago respectivo pero solo se cuenta con billetes de 100. Diseñe un algoritmo que reciba G y lo convierta en los números enteros grados. Note que si M tiene céntimos éstos deben ser redondeados para que el pago sea un valor entero.El salario de un empleado es M (real).. Diseñe un algoritmo que reciba M y determine la mínima cantidad de billetes y monedas de cada tipo con el que se debe pagar al empleado. 2. 50. minutos y segundos (redondeado).FIIS EJEMPLOS Universidad Nacional de Ingeniería 1.. . 10 y monedas de 5 y 1 sol. SELECTIVA SIMPLE: Las acciones se ejecutan si la condición es verdadera .FIIS Estructuras SELECTIVAS Permiten ejecutar unas acciones u otras dependiendo del resultado de una condición TIPOS DE ESTRUCTURAS SELECTIVAS Universidad Nacional de Ingeniería 1. Pseudocódigo Si (condición) entonces acción1 acción 2 ……… acción n fin-si condición F V acciones . SELECTIVA DOBLE Si la condición es Verdadera se ejecutan unas acciones. Si la condición es Falsa se ejecutan otras acciones Universidad Nacional de Ingeniería Pseudocódigo Si (condición) entonces acciones -V Sino acciones -F Fin-si F condición V Acciones-F Acciones-V .FIIS 2. Universidad Nacional de Ingeniería .El gobierno ha implementado como parte de su programa social un sistema de impuesto y subsidio familiar bajo la siguiente regla: .FIIS EJEMPLOS 1.00 y menor o igual a S/. 800.00 recibirán un subsidio de S/. 300. 2. 2.00 recibirán un subsidio del 10% sobre su ingreso pero deben pagar un impuesto del 2% sobre el total de sus ingresos.. . 800.Las familias cuyo ingreso familiar sea mayor a S/.00 .00 deberá pagar el 10% de impuesto sobre su ingreso.000.Las familias que poseen un ingreso familiar mayor a S/.Las familias que poseen un ingreso familiar mensual menor o igual a S/. el impuesto y el monto neto que obtendrá.000. Diseñe un algoritmo que reciba como dato un ingreso familiar mensual y entregue como resultado: el monto adicional por subsidio. .1 y (EP+2EF+PP)/4 >6.Se tiene las notas del Examen parcial (EP). ..Diseñe un algoritmo que lea tres números enteros de 3 cifras cada uno y los organice para mostrarlos en forma ascendente.Diseñe un algoritmo que determine las raíces de la siguiente ecuación cuadrática de segundo grado aX2 + bX + c = 0 Considere que los coeficientes son solicitados al usuario y pueden tomar cualquier valor real.el promedio de prácticas se obtiene eliminando la menor nota. Datos. Diseñe un algoritmo que reciba estas notas y luego muestre el promedio final (PF) del alumno sabiendo que: .El examen sustitutorio será considerado válido si cumple con la siguiente condición: PP>6.. del Examen sustitutorio (ES) y las 4 notas de prácticas calificadas de un alumno del curso de Algoritmos y Est.1. reemplaza al EP o EF (al que mas favorezca al alumno) 3. del Examen Final (EF). 4. .Universidad Nacional de Ingeniería 2.Si el ES es válido. FIIS . n Acciones n (opcional) Acciones 1 Acciones 2 acciones F Fin-caso . Sino ….3. 1 Alt.. El selector (variable.SELECTIVA MULTIPLE (Caso-sea) Se utiliza para seleccionar una de entre múltiples alternativas. Alt. Universidad Nacional de Ingeniería FIIS Pseudocódigo Caso selector sea alt 1: acciones 1 alt 2: acciones 2 Selector . El valor del selector debe ser escalar (número entero o carácter). expresión o función ) se evalúa y compara con las alternativas de Caso. 2 …. alt n: acciones n Alt. 000 y menor a S/. 5.Diseñe un algoritmo que reciba un mes en número y devuelva el nombre del mes correspondiente y la estación a la que pertenece.En una tienda que vende accesorios para computadoras. la marca C el 3% y la marca D el 4%.000: la marca A tiene un descuento del 5%.. Nota : considere que el mes no está validado. 1. 2. existe un descuento que varía de acuerdo al monto de la compra y a la marca: Si el monto de la compra es mayor a S/.EJEMPLOS FIIS 1. se tiene que el precio de los paquetes de CD‟s es de S/.. el descuento y el importe neto que debe pagar el cliente. Universidad Nacional de Ingeniería Diseñe un algoritmo que reciba la marca y la cantidad de paquetes de CD‟s comprada por un cliente y luego muestre el importe total. .50 para cualquier marca. la marca B el 7%.000: las marcas A y B tienen un descuento del 9% y las marcas C y D del 5%. Sin embargo. Si el monto es mayor a S/. 5. mientras o hasta que se cumpla una cierta condición. en inglés) es un trozo de algoritmo cuyas instrucciones se repiten un cierto número de veces. acciones n Fin-estructura repetitiva Universidad Nacional de Ingeniería Cuerpo del bucle . Un BUCLE (loop. Estructura repetitiva acciones 1 acciones 2 ….FIIS Estructuras REPETITIVAS Permiten repetir una o mas acciones un cierto número de veces. La condición será evaluada en cada iteración (repetición) del bucle. HASTA Las acciones del bucle se repite un determinado número de veces Universidad Nacional de Ingeniería Pseudocódigo Desde con  Vi hasta Vf (inc/dec) k acción1 acción 2 ……… Con  Vi F Con ≤ Vf V acciones acción n fin-desdei Con  con +k . DESDE .FIIS TIPOS DE ESTRUCTURAS REPETITIVAS 1. .. (Nota : para calcular PP.. se elimina las dos notas mas bajas.Universidad Nacional de Ingeniería EJEMPLO 1.Diseñe un algoritmo que muestre el factorial de un número entero mayor o igual a 0 3.. 5. Diseñe un algoritmo que reciba estos datos y luego muestre el promedio de prácticas (PP) de cada alumno y el número de aprobados. .Se cuenta con las 6 notas de prácticas calificadas de 40 alumnos del curso de Dibujo Técnico. 2..Diseñe un algoritmo que muestre las tablas de multiplicar de los números del 2 hasta el número N dada por el usuario. FIIS 4.Diseñe un algoritmo que muestre los divisores primos de un número entero positivo mayor que 1.Diseñe un algoritmo que muestre los N primeros términos de la serie Fibonacci (N>0). Las acciones se pueden ejecutar 0 o mas veces Universidad Nacional de Ingeniería Pseudocódigo F Mientras (condición) hacer acción1 acción 2 ……… Condición V acciones acción n fin-mientras .HACER (estructura de entrada controlada) Las acciones del bucle se ejecutan cuando la condición es V. MIENTRAS .FIIS 2. FIIS 3. REPETIR . Las acciones se ejecutan 1 o mas veces Universidad Nacional de Ingeniería Pseudocódigo Repetir acción1 acción 2 ……… acciones F Condición acción n Hasta (condición) V .HASTA (estructura de salida controlada) Las acciones del bucle se ejecutan si la condición es F.a. FIIS EJEMPLOS 1.- Diseñe un algoritmo que reciba un número entero positivo de tres o mas cifras e indique si es capicúa (Se lee igual de izquierda a derecha como de derecha a izquierda). 2.- Diseñe un algoritmo que muestre el máximo común divisor (MCD) de dos números enteros positivos A y B. 3.- Diseñe un algoritmo que reciba un número no determinado de caracteres alfabéticos (el ingreso termina cuando se ingresa el carácter „*‟), luego muestre el número de vocales y la secuencia de caracteres „U‟ ‟N‟ ‟I‟ ingresados. 4.- Diseñe un algoritmo que ingrese las notas de un número no determinado de alumnos. Luego muestre: a) El promedio de notas de los alumnos aprobados b) El mayor promedio y el número de alumnos que los poseen. Universidad Nacional de Ingeniería FIIS Universidad Nacional de Ingeniería 5.- Diseñe un algoritmo que reciba n número reales y luego muestre el mayor de los números negativos y el menor de los números positivos. 6.- Para ingresar a un sistema se debe ingresar la clave de usuario (999). Si el usuario tiene hasta 3 oportunidades para ingresarla correctamente. Si falla la tercera vez, el sistema se cierra con el mensaje “Vuelva otro día”. Si logra ingresar al sistema, éste le solicita que ingrese un número real entre 10 y 1 para calcular la siguiente suma: S= 1- x2 + x3 - x4 + …….. 2! 3! 4! El último término debe ser mayor a 10-5 FIIS NOTA: En algunos lenguajes de programación se tiene la estructura repetitiva REPETIR - MIENTRAS 3.b. REPETIR - MIENTRAS (estructura de salida controlada) Las acciones del bucle se ejecutan si la condición es V. Las acciones se ejecutan 1 o mas veces Universidad Nacional de Ingeniería Pseudocódigo Repetir acción1 acción 2 ……… acciones V Condición acción n Mientras (condición) F Universidad Nacional de Ingeniería FIIS III. ARREGLOS Y CADENAS . • Los arreglos almacenan los datos en la memoria RAM del computador mientras se ejecuta el programa. • Para acceder a un dato de un arreglo se utiliza el índice o índice(s) que indican la posición de dicho dato en el arreglo.FIIS ARREGLOS CARACTERISTICAS • Son estructuras que permiten almacenar datos del mismo tipo bajo un solo nombre (nombre del arreglo). • Se debe conocer el tamaño máximo del arreglo para la declaración de la variable TIPOS DE ARREGLOS: Arreglos unidimensionales o Vectores Arreglos bidimensionales o tridimensionales o Matrices Arreglos multidimensionales (mas de 3 dimensiones) Universidad Nacional de Ingeniería . esos datos se pierden. Una vez que se apaga el computador. Datos bajo el nombre NOTA Posición  1 12 NOTA(3) 2 8 3 13 NOTA 4 5 15 13 6 9 7 11 8 15 9 11 10 10 . Los elementos se encuentran almacenados en posiciones contiguas de la RAM. Ejemplo: Se desea almacenar notas (números enteros) de 10 alumnos del curso Algoritmos y Est.FIIS ARREGLOS UNIDIMENSIONALES (Vectores) • Universidad Nacional de Ingeniería • Características Para acceder a un elemento del vector se necesita un índice (posición del dato en el vector). Variables Arreglo(20) de entero: edad Arreglo (20) de real: talla .FIIS Universidad Nacional de Ingeniería Declaración de un Vector: Variables Arreglo (tamaño máximo) de tipo de dato: nombre del vector Ejemplo: Se desea almacenar las edades y tallas de un máximo de 20 alumnos FIIS. . 2. Luego debe mostrar los elementos comunes a ambos.Escriba un algoritmo que lea y almacene en una arreglo los sueldos (real) de máximo 50 empleados de la FIIS-UNI y muestre A) El sueldo promedio de ellos. B) El número de empleados que tienen sueldo mayor al sueldo promedio.. .Escriba un algoritmo que almacene en los elementos de los conjuntos A y B de m y n elementos diferentes respectivamente (los máximos valores para m y n es de 15).FIIS Problemas Universidad Nacional de Ingeniería 1. FIIS ARREGLOS BIDIMENSIONALES (Matrices) Características • Para acceder a un elemento del vector se necesita dos índices.2) Declaración de arreglos bidimensionales: Arreglo (tamaño-fila x tamaño-columna) de tipo de dato: nombre-var . VENTAS Universidad Nacional de Ingeniería i j 1 2 3 4 5 1 2 3 4 5 6 VENTAS(4. Diseñe un algoritmo que almacene estos datos y luego muestre el curso (o cursos) con el mayor número de aprobados y los que tienen el mayor promedio general. Se va a ingresar las notas solo de aquellos alumnos que rindieron la prueba.. .. En cada curso existe a los mas 50 alumnos matriculados.Una empresa es propietaria de una cadena de 5 tiendas comerciales.Universidad Nacional de Ingeniería Problema 1. Diseñe un algoritmo que almacene estos datos y luego muestre: a) Las ventas por mes b) La tienda (o tiendas) con la mayor venta en el período c) La tienda y el mes en que ha ocurrido la menor venta FIIS 2. Para cada una de ellas se cuenta con las ventas mensuales de un período de 6 meses.Se cuenta con las notas de la primera práctica calificada de los alumnos de n cursos (n≤ 20). para representarlos se necesita utilizar tablas en el que se puede apreciar sus dimensiones.FIIS Arreglos Multidimensionales Universidad Nacional de Ingeniería Características Para acceder a uno de sus elementos se necesitan 3 o mas índices. Muchas veces. Declaración de un arreglo multidimensional Variables arreglo(tamaño1 x tamaño2 x tamaño3 x ….) de tipo de dato: nombre de variable . Diseñe un algoritmo que almacene los datos mencionados y luego muestre: a) Por cada provincia: el número de turistas que ha recibido durante el año 2009 b) El mes o meses en el que hubo mayor número de turistas extranjeros c) La provincia y el mes que ha tenido el menor número de turistas Universidad Nacional de Ingeniería .FIIS PROBLEMA Para un conjunto de n provincias del país(n≤50) se cuenta con los siguientes datos: código (entero de 4 cifras). el número de turistas extranjeros y el número de turistas nacionales que visitaron mensualmente cada provincia durante el año 2009. .Búsqueda de un elemento único en un vector • • secuencial binaria (se requiere que el vector esté ordenado) Universidad Nacional de Ingeniería 2.Ordenamiento • • • • • • • Por selección Burbuja Inserción directa Inserción binaria Shell Quick Sort Por índices 3..Inserción de un elemento en un vector ordenado.. .FIIS OPERACIONES CON VECTORES 1.Eliminación (física) de un elemento de un vector 4.. FIIS Universidad Nacional de Ingeniería PROBLEMA 1. .-Una empresa comercial cuenta con los datos de las operaciones de ventas de sus productos que ha realizado durante un día: código del producto (entero de 4 cifras) y la venta (en soles) por cada operación. Sabiendo que cada producto puede repetirse mas de una vez. ordenado de mayor a menor. se debe presentar ordenado por código ordenado en forma ascendente. Nota: Si hay ventas iguales. diseñe un algoritmo que almacene estos datos y luego muestre un reporte con los códigos de los productos (sin repetir) y la venta total del día. FIIS Universidad Nacional de Ingeniería 2. Los números deben ser leídos dígito por dígito y almacenados en arreglos.Problema Una dificultad de las calculadoras y de las computadoras es calcular el producto de números grandes. Diseñe un algoritmo que permita ingresar un número entero positivo grande (mínimo de 10 dígitos y máximo de 40 dígitos) y luego calcule el producto de dichos números. .. Universidad Nacional de Ingeniería FIIS CADENAS . 0065:. &56 .  5. :  06510 5  0065:.  0065:.  . & ! $  4-0734.. .4245./4.86:0548003:3370841.7-.2. 8:039070.72038:. 84.2.790/08:5747.2.:388902.2./025:08948:-8/41..20347 4:.81.4.2502039.$.  70.-7E3:38:-8/4/0$. $.72.2.86:0548003:3370841.47.81.  .2.   203474:.$.. $.47./08:8370848 .81.7:325:0894/0 84-700949..780.  70.:4370841.2.8.2.-7E3:38:-8/4 /0 84-708:370845074/0-035.2. .1!.70 /025:089484-708:37084 80N0:3.424/. .31559 .   /0-07E5.7 2038:.065.03970:0.43..424708:9.2.547 8:-8/4 025:089402439430946:04-903/7E 59:1./4024394./.-.94:3370841.479246:070. 1!.  $09030.59:1.20347349.8804-9030023.:250.8/057E.089. ! /0./.:784/047924889 .8349.-03/46:0 057420/4/057E.:234/0.8/0:3.2033.E/48.43/.948  80N0:3.2035.9. 0..-.43 ..8349.8:0390.  /0.31559 .479246:070.8 . ! /0.438/07.065.O3!!  !  !! .8:042:089700 57420/413...3/4.2038:899:9474807E.2038:899:9474 $ ..9.8/0.7./4.1.:2348.8349. :.401./080:3/47.:8:.74 5:0/03942.97083207480390748/0.9.8..24897.17.05.O3.:.4770.748031472./.08/0.J..03/0390  & .7.8 .:344847.470.7..479246:00../48./4.479246:0/0907230.6:07.  80N0:3.!4 .8:0390 0..E/4 70025...8 1.:234  80N0:3..../7E9. - .6:02..  $0$08.0390884384.87.3. 438/0706:048.:. .5.O3 800.31559 .:6:30.0065:5 &56 67065.. ..7 320740390744.. $%'&%! .3 .8/0.0065: Ã ..3..3.7.907 59:1.7:3.9..7.1!.43.84 80.43./00397029508.947/0-0807 08.3.8  800. .8.5. $0:9.0065: 5....0065: .7.7E.9073.47/0800. & #:160 16 .9...69:.800.065.9073.-0 05708O341:3..425.84 .947 . 69 0065:  0065:  .  3.:6 3. 5 0065: 5 &30.  Ã 3.0. 438/0706:0020834089E.6:0908/0 808/0$.903/.4/0485.7.6:05079030.0847485.089.6:0.../4  3:3..03/0.:0./47.:32080332074/0./.! $ &  80N0:3.425:9.O3..47708543/0390.0 49.-.0 342-70/0208. ...479246:070..8 809030 6:00570.  24394/0.47.4257..2.4257...:.:07/4.$.7J...082..7.:03946:0../0.6:07 2.74 0890:3/08..  5..7. $024394/0.7. $302-.  20347.$.   .7.0 $024394082.2.. 0.7.2.0 .47..$..2.7..2.7.9030:3/08.:0394/0 . 0390 ...  .065.547:3.7.31559 . 0/08.:0394/0.39/.7.1!.890303:3 /08../..479246:070.8/0 59:1.6:0908/0 8... 80N0:3.0390:042:089700 254790949.82.4257.-.82..2.7 0..:0394025479030946:0/0-05.7.//0 5. 430880705903:3.8 3897:..90.89.O3 /0 -:.079432074/0...O3 .03.& 897:.8 4.079432074/0.:./.9.08 20397.0..43/.:25.O3 70509./.9:7.0.47924.6:080.08 &3& 445 033F8 08:39744/0.079.0065: Ã ...8#!%%'$ !072903705097:3...43/.. :3.97.8. .4308:3.42..O3807E0.0  :.907.0065:5 5.0065: ..:. 9. .065.. 976 13/03 59:1..:.1!.97.31559 .90. 0.& %! $$%#&%&#$#!%%'$  $ $% .1!./432074/0 . #:160 16 :1065 .4308/0-:.00 5 .08070590:3/090723.00 55 5..00 5  .31559 ..8.08 59:1.065. . 5010 2 65   65   .1:1  .:.0065: 65 065 2 . 9.08948/.948:042:08970 057420/4/057E..8 2..7!! 80023.8349./.476:0  80N0:3.89.8  80N0:3.8-./0:332074 0390742.479246:070.  & .31559 .74  80N0:3..3./.8/057E.7/0 48320748/0.59:1..4  80N0:3.479246:02:08970.-./... !  $0.065..474:.8/02:95..8070-43.479246:02:0897048/..89.1.8 !! /0..   80N0:3.42.8/0  .-./48  49..8...:2348/0.7.:234032074/0 .43..574-.032074/.8470857248/0:3 320740390745489.8/48349.:.479246:02:0897001.5.:039.5470:8:...947.1!..:784/0-:4%F.479246:02:089704857207489F72348/0 .9. /.31559 .4308/0-:.:.8.3/4./.:9.4308805:0/0300.08 59:1.3. .9./00397..9:7.1!.00 5  .: 06510 5 .065.7 42..&  %#$ # 0897:.43974.8.08000..8.O308' ..00 55 5.:9.43/.09 ..0.00 5 .. #:160 16  5. 0065: .: 6510 5  .9.45. .8.9:7.00 5 .08000.9 .00 55 .43974.1!..8.38.:9.4308/0-:. #:160 16 %7.08 59:1. #!%# $% 0897:.31559 .342.O308 .. 06510 5 .43/...0./.:9.0065:  6510 5  .065.&  ./08.:.43088000.. ../.8.00 5  . 4/0 970842.479246:070.08. 0.:03..5.803/6:0808.8/048.:23486:048548003  59:1.:33207434/090723.  80N0:3.423/.7./48 2.479246:02:0897002E24.:.. 80.17.90708...574-.1!..-.:2348 :042:08970 ..4.3/4803708./4/0. 57420/4/0349.424/0/070.1.4757420/4032074/0.7E.-..& ! $  80N0:3... $000:./070./48  80N0:3.479246:037080.907 :042:08970032074/0..8349./4/0 ./0.847  /0/4832074803907485489..../0 6:07/.31559 .065.48 03708490723.6:07/.48  80N0:3.8.479246:070...-F9.7.:2348.90708 &     3708. .:3320740390745489.8/0:33207434 /090723. .7.-.077.4974/J.4770.9.& 59:1..4302038..  $47.749030.9.  80N0:3.20390  $1.7..80/0-03708.45479:3/.0 ':0.0 088902.3 3207470.9.907..  ..7./085. F890084.065.3708.47..3708.:388902.07.88902.08:04 2:0897002.7.7.31559 .1!....89.6:037080:3 3207470.47/04832074830.80.:.48  !.74  $0:8:..7.0/0 :8:.03970 5. 3708. $      9249F7234/0-08072.8:03908:2..7.479246:070.7.48020347/048 3207485489. 356:35..& !"' 5.90..0 5:.97.:17969.4.53. :.%#'%.9. 1!.0./. #:160 16 %7...342.8.43974..8. .38.00 5  .43/.4308/0-:.O308' ./.: 06510 5 .31559 ..00 55 5.43088000.9:7..0065:  6510 5  .:9. !'%&  - #!%# %#$ 0897:.08000.9 ..8.00 5 ./08.08 59:1.9.065.:9. 065.59:1.1!.31559 . &  ## $$ .  /0.88000.7.0/07.& ## $ #%#$%$ W $430897:.065.7..03.94/0:3.434.4:3844342-70 342-70/0.#/0 ..94803.770480:9..2.94880507/03 W $0/0-0..948/02824954 -.94030.425:9.04 J3/.084'0.0.0 8 6:03/.1!..08497/203843.2.08 2.08 770482:9/203843.8/0/20384308 59:1.7704 W !....4/.5.O3/0../4720397.0J3/.77048.425:9.348/.O3/0/.77045.7.2.31559 .:3/.97. .7704 W 48.20247.3.06:080 .7/..N42E24/0.9:7./47 0848/. &3.548..7..0709..-0 %! $## $ 77048:3/203843.084.05747.94708 77048-/203843.:9.86:05072903.03.2. :3J3/.:0397.7349.0./4803548.8 3207480390748 /0 .0..7..:78447924889 .& ## $&$ $ '0.31559 .7...065.9478030.0/07.3.8 !.:2348 /0.0 548.O3  %    %           W 59:1..907J89.03.03. W .2..40342-70 % !48.1!.# 0254 $0/080.:30020394/0.4308 .8/0.439:.O3/0/.94708 ..947 48002039488003.2.948-.089.94030.. .947 0254 $0/080..7.31559 .7.94342-70/0./089.03.2...0.7.-08 7704  /00390740/..80/.8/0:32E24/0  ./ 7704  /070.065..1!.:2348$ '.9..2. 0.O3/0:3'0.-08 7704 9.N42E24 /0954/0/.7.947 '.& 59:1. /48/0.7-..43:3948/02300203948/10703908 70850..47085..  8.20390 482E248.03003:3.7.479246:0.8:0/4 57420/4  8.47..$ & 2:08970  8:0/457420/4/0048   32074/00250..2.42:308.2308/0  :04/0-024897./486:0903038:0/42.2.:3.8 59:1.31559 .2-48 . /02E24 0250..770448 8:0/48 70.7-.74800203948.065..479246:00.9.030034800203948/048 .:3.1!.& !74-02. 97.              '%$   0..7.0/07.907J89.1!.089.08 7704 9.9478030.N4 .77048-/203843..31559 .2..0.O3/0.7.9.4:23.2.08 '%$ 59:1...7..:30020394/0..8 W !.N4 1.94342-70 . /0954/0/./48J3/.& ## $$ $ .7 .08 ..065. 1!.039.97...8/0..948:04 2:08970 .  &3.08 !.4757420/40307. 80N0:3. .:7840890.48 2..43.4207./00.  $0.31559 .4302.03008948/.4.479246:0./.065.43.47.08574509.8 .4732074/0 .57E.948:04 2:089700.8349.43.8349../.:77/4.030507J4/4 .3708./0 48.8 .039..1.7.7. 4903/.903/.903/.8 2038:.2..8 .03008948/./48 $0.574-.6:048.8547208 ..479246:0./.. !74-02. & .:3.:039.:23486:073/0743. .9.08/0:3507J4/4/020808 80N0:3.039./03.:..2.:23482.:2348/03 .57:0-.039.:039..59:1.20347.025708..8../48486:09030302...880.2..7.8.0208036:0..:784 4.:7848 ./0903/.57207.:7848 3^ 3.8844 /0./0:3.. 2.907J89.7704 9.:9. '.77042:9/203843.7.7.-.79.8 !..08 :.065.7488030.8 J3/.7....8.08 5.8 0306:0805:0/0.0.O3/0:3..2.N49.2.7.N49.:34/08:8002039488030.78:8/20384308 0.N4 /0954/0/.089.08 59:1.-08 ...7...1!.089..31559 .570.0/07.-0 .7. .705708039.94 342-70/0.342.& 77048:9/203843. .N4  2084208080306:0:-42.17.03048/.-/4 /:7.948203.3.70.903/402034732074/0 9:789.7432038:.7..1!.& !#  !.:3.31559 .30748 .43. .N4  80N0:3.8097.:039.20390./48 :042:08970 ..83. ../...3. !47.086:0 .479246:0.574./:7.30748032074/09:789.8 032074/0 9:789.8/05.86:0.43:394/03 574.43..065.574.J8 3^ 80.8 097.4732074/09:789.3.032074/09:789..948.43 488:03908/.3900.2./.8 59:1.574.89.02086:0.3900.3..O/4 039074/0. $479 !47J3/.947089F47/03. 3807.O3/70.0. /0:300203943.7.0.31559 .  W W W W W W W 7/03.O3 :7-:.20394 !47800..0. /0:30020394/0:3.08  23./4  .0.1!.O3 /0:3002039403:3./4 59:1. -3.. $0 ":..94747/03.& !# $ '% #$  86:0/.:03.947  3807.O3 1J8. 80706:0706:00. 3807.947 W W 80.O3-3.9.7.403:3.065.. 31559 .O/447/03.025708.$.948/0.4348/.949.4207.039./4/02.4308/0.../0/J.8 ..0  /80N0:3.4348.8. 47/03. 038408 547.945:0/0705097802.70.390:3/J.1!.8 4507.. !#   &3.03/0390 .-03/46:0.039.2.O3 $.& 59:1.O/4/0574/:.479246:0.039.747/03.20347  49./4 /:7.8/0:3./4547 .4507...8:...17.08 80/0-05708039.9486:0.:039.. ./.039../..O/48/048574/:../4031472.94 039074/0.948:04 2:08970:37054790..03008948/.948 83 705097 ..574/:..47.065.8/08:8574/:. & 59:1..:..808 ./4803.3/0 2J324/0 /J9482E24/0  /J948 :04.70574/:./1.77048 ..:./47.47..:00574/:.31559 .425:9.94/03207487.8.7:332074039074 5489..065.479246:050729. &3..3/08 80N0:3.//0..94/0/.03.:9.2.48320748  48320748/0-038070J/48/J94547/J94 .8/0./47.1!.8.  !74-02.3708. 1!. & $ .31559 .065.59:1.
Copyright © 2024 DOKUMEN.SITE Inc.