Documente Academic
Documente Profesional
Documente Cultură
FIIS
CODIGO DEL CURSO: ST-221 CREDITOS: 03 SISTEMA DE EVALUACION: F Examen Parcial: Peso 1 Examen Final : Peso 2 Promedio de Prcticas: Peso 1 (4 Prcticas calificadas, se elimina la mas baja)
1.- Introduccin y Conceptos Bsicos 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.- Programacin Dinmica Examen Final
I. CONCEPTOS BASICOS
FIIS
I. CONCEPTOS BASICOS
En nuestra vida cotidiana, para realizar una tarea o resolver un problema , ejecutamos un conjunto de pasos o acciones previamente definidos (ALGORITMO).
Ejm.
DE ENTRADA
RESULTADO SALIDA
FIIS
PROCESAMIENTO DE DATOS: Tcnica usada para manipular datos y obtener informacin til para el usuario. Elementos:
DATOS Entrada
Procesador
INFORMACIN Salida
Algoritmo
Procesador : realiza las operaciones para convertir datos en informacin siguiendo las instrucciones del algoritmo. El procesador puede ser: persona(s): procesamiento manual computadora(s): procesamiento automatizado
FIIS
Algoritmo: Secuencia ordenada de pasos precisos, definidos y finitos, que se ejecutan para para resolver un problema. Se expresa en lenguaje natural Dato: Es la representacin simblica de un hecho, atributo o caracterstica de una entidad. Ejm: 27.2, Lima, Marzo, 25, ST221U, etc Los datos son valores que por si solos son irrelevantes. No dicen nada sobre el por qu de las cosas.
Informacin: conjunto de datos procesados y que tienen un significado . Es til para el que toma decisiones. Los datos se pueden transformar en informacin agregndoles valor (contexto, categora clculo). Ejm. La temperatura promedio de Lima en el mes de Julio fue de 16.2 grados En la primera prctica del curso ST221U hay 20 aprobados
FIIS
Procesador
DATOS Entrada INFORMACIN Salida
Programas
Software
FIIS
FIIS
SOFTWARE (programas)
PROGRAMA Es el algoritmo escrito en un lenguaje de programacin para ser ejecutado por el computador. TIPOS DE PROGRAMAS: Aplicaciones de uso especfico Ejm. Sistema de procesamiento de notas, Sistema de Matrcula, Sistema de facturacin, etc Aplicaciones de uso general: Ejm. Word, Excel, Power Point, Access, etc. Sistemas operativos : Ejm. DOS, Windows, Linux, etc.
Datos
Algoritmo
OK
Programa
FIIS
LENGUAJES DE PROGRAMACION Es un lenguaje artificial que se utiliza para controlar el comportamiento del computador. Se componen de un conjunto de reglas sintcticas y semnticas que permiten al programador expresar acciones o instrucciones que luego sern interpretadas y ejecutadas por el computador. Tipos de lenguajes de Programacin: Lenguaje de alto nivel: lenguaje similar al lenguaje natural. Son fciles de escribir. Es el mas usado por los programadores. Ejm. C++, Java, Basic, Pascal, Prolog, Delphi, etc. En C++: P = M+N Lenguaje de bajo nivel: lenguaje mnemotcnico. Ejm. Lenguaje ensamblador : ADD M, N, P Lenguaje de mquina: lenguaje binario (0 y 1) entendible directamente por el computador. Ejm. 0110 1001 1010 1011
PROGRAMA FUENTE (PF) Programa escrito en lenguaje de alto o bajo nivel. PROGRAMA OBJETO (PO): Programa escrito en lenguaje de mquina. Es el que ejecuta el computador.
Programa Fuente
instruccin
Intrprete
Instruccin en leng.mq.
FIIS
DATOS
BASICOS
ESTRUCTURADOS
Caracter
Lgico
DATOS BASICOS
FIIS
DATOS NUMERICOS Enteros y Reales El rango y precisin de los datos numricos depende del lenguaje de programacin que se utilice.
DATOS TIPO CARACTER Conjunto de caracteres que el computador reconoce. Se encuentran normalizados bajo el cdigo ASCII o EBCDIC En ambos se reconocen: Caracteres alfabticos: A - Z ; a - z Caracteres numricos: 0 - 9 Caracteres especiales: *, / , +, >, <, =, etc.
DATOS TIPO LOGICO Conjunto formado por dos valores lgicos: verdad, falso
FIIS
FIIS
2.- VARIABLE Es una porcin de memoria RAM que almacena un dato. Puede cambiar de valor durante la ejecucin del algoritmo perdindose cualquier otro dato previamente almacenado en ella. Para definir una variable es necesario: - Darle un Nombre - Indicar el tipo de dato que va almacenar Tipos de variables: Entero: Ejm. nota, edad, examen, Real: Ejm. promedio, sueldo, talla Carcter: Ejm. seccin, sexo, Lgico: Ejm. Fin, encontrado, vale
FIIS
Puede ser: - Por lectura: se solicita al usuario que ingrese un dato. Se utiliza la instruccin de lectura Ejm. Leer (edad). - Por asignacin: se asigna un dato a la variable. Se utiliza la instruccin de asignacin
En cualquier caso, se pierde el valor de la variable previamente almacenado en ella. Nota Ejm. Nota 12 12
Nota
Nota Nota +2
14
FIIS
3.- EXPRESIONES Es una combinacin de operandos y operadores Tipos de expresiones: A.- Expresiones aritmticas Operando: constantes, variables y expres. numricas Operadores: aritmticos (+, - , *, /, mod, div, **) (*) Resultado: dato numrico Ejm. (EP + 2*EF + PP)/4 (*) Operadores Aritmticos mod y div Si a y b son nmeros enteros: a div b devuelve el cociente (entero) de la divisin entera de a y b a mod b devuelve el resto (entero) de la divisin entera de a y b Ejm 13 div 5 = 2 y 13 mod 5 = 3
FIIS
B.- Expresiones lgicas Operando: constantes, variables y expres. lgicas Operadores: relacionales (>, <, >=, <=, =) y lgicos (NO, Y, O) Resultado: Dato lgico Ejm. (PP>6.1 y PF>6.1 ) o (PP>6.1 y (EP=0 o EF=0))
Prioridad de operadores:
4.- FUNCIONES Son programas predefinidas que: - Tienen un nombre con el cual se les invoca y - Aceptan datos y devuelven un resultado.
FIIS
Generalmente los lenguajes de programacin poseen funciones matemticas, de cadenas y otros que el programador puede utilizar.
Ejm. En C++ Abs(X): devuelve el valor absoluto del nmero entero X Sqrt(X): devuelve la raz cuadrada del nmero X (X0) Trunc (X): devuelve el nmero entero de X (real) Cos(X): devuelve el coseno de X
FIIS
Diseo Modular ( Top-down ) En problemas grandes y complejos: dividir el problema en subproblemas y disear un subprograma para resolver cada uno de ellos Descomposicin del programa en recursos abstractos Descompone una accin compleja en acciones simples capaces de ser ejecutadas por un computador ( instrucciones )
Estructuras de control bsicas Un programa se escribe utilizando 3 estruct. de control: EC Secuenciales, EC Selectivas, EC Repetitivas
FIIS
INSTRUCCIONES Son las acciones que van a ser ejecutadas por el computador para resolver el problema. TIPOS : Instrucciones de Inicio/Fin del algoritmo Instrucciones de lectura: Solicita al usuario el ingreso de dato desde un dispositivo de entrada (ejm. Teclado) y lo almacena en una variable. Instrucciones de escritura: Muestra los resultados a travs de un dispositivo de salida por ejemplo la pantalla, impresora, etc. Instrucciones de asignacin: asigna un dato a una variable. Instrucciones selectivas: se evala una condicin para ejecutar unas u otras acciones Instrucciones repetitivas: repite un grupo de acciones
FIIS
EJEMPLO
Se cuenta con las notas del EP, EF y PP de un alumno. Se sabe que el promedio final (PF) se calcula con la frmula: PF=(EP+ PP+2EF)/4 Si el alumno cumple con la siguiente condicin: PP>6.1 y PF> 6.1 tiene opcin 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. En el caso que ya no pueda rendir el ES, debe mostrar tambin el PF
FIIS
Algoritmo (en lenguaje propio) Inicio del algoritmo Ingresar las notas del alumno: EP, EF y PP Calcular PF con la siguiente frmula: PF = (EP + 2EF + PP)/4 Si cumple la condicin PP> 6.1 y PF>6.1entonces mostrar el mensaje Puede rendir el ES Si no cumple la condicin entonces mostrar el mensaje No puede rendir ES y mostrar PF Fin del algoritmo.
FIIS
Diagrama de flujo Tcnica tipo grfico Pseudocdigo Lenguaje de especificacin (palabras reservadas) en lenguaje natural. Diagrama de Nassi-Scheneiderman Es una combinacin de las dos anteriores
FIIS
Selectiva
Selectiva mltiple
Direccin o flujo
FIIS
Inicio
Leer EP,EF, PP
PF=(EP+PP+2*EF)/4
PP>6.1 y PF>6.1
Fin
FIIS
2.- Pseudocdigo
Elementos del Pseudocdigo:
Declaracin de constantes: nombre de la constante = valor Declaracin de variables: reserva espacio en la RAM para almacenar datos tipo de dato: nombre de variable Biblioteca de Funciones: abs(X): devuelve el valor absoluto de X raiz2(X): devuelve la raiz cuadrada de X (real) entero (X): devuelve la parte entera del real X. Es entero. trunc(X): trunca (elimina los decimales) del real X. Es real. aleatorio(): devuelve un nmero aleatorio real >0 y <1 sen(X), cos(X), .., ln(X), log10(X), etc.
FIIS
Identificadores: Empiezan con un carcter alfabtico. Comentarios: // No son ejecutados por el computador. Sirven como referencia para el programador. Instrucciones bsicas Instrucciones de Inicio/Fin del algoritmo Inicio Fin Instrucciones de lectura leer ( nombre-variable1, nombre-variable2, . ) Instrucciones de escritura: escribir ( lista de variables o expresiones) Instrucciones de asignacin: variable valor o expresin
FIIS
Nombre-constante = valor
Tipo-dato: nombre de variables
Inicio
instrucciones
Fin
FIIS
FIIS
ALGUNAS VARIABLES IMPORTANTES ACUMULADOR Es una variable cuyo valor aumenta o disminuye en una cantidad variable cada vez que se produce un determinado suceso o accin. Debe ser inicializado Ejm. Se desea acumular las notas de prcticas 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 accin. Se usa para contar sucesos. Ejm. Contar nmero de aprobados
FIIS
FIIS
ESTRUCTURAS DE CONTROL
E.C. Selectiva
E.C. Repetitiva
FIIS
Estructura SECUENCIAL
FIIS
EJEMPLOS
1.- Se tiene un nmero real G que representa la medida de un ngulo en grados sexagesimales. Disee un algoritmo que reciba G y lo convierta en los nmeros enteros grados, minutos y segundos (redondeado). Luego muestre estos resultados.
2.- El salario de un empleado es M (real). Se desea realizar el pago respectivo pero solo se cuenta con billetes de 100, 50, 10 y monedas de 5 y 1 sol. Disee un algoritmo que reciba M y determine la mnima cantidad de billetes y monedas de cada tipo con el que se debe pagar al empleado. Note que si M tiene cntimos stos deben ser redondeados para que el pago sea un valor entero.
FIIS
Estructuras SELECTIVAS
Permiten ejecutar unas acciones u otras dependiendo del resultado de una condicin TIPOS DE ESTRUCTURAS SELECTIVAS
Si (condicin) entonces
accin1 accin 2 accin n fin-si
condicin
V
acciones
FIIS
2. SELECTIVA DOBLE Si la condicin es Verdadera se ejecutan unas acciones. Si la condicin es Falsa se ejecutan otras acciones
Pseudocdigo
Si (condicin) entonces acciones -V Sino acciones -F Fin-si
condicin
Acciones-F
Acciones-V
FIIS
EJEMPLOS 1.- El gobierno ha implementado como parte de su programa social un sistema de impuesto y subsidio familiar bajo la siguiente regla: - Las familias que poseen un ingreso familiar mensual menor o igual a S/. 800.00 recibirn un subsidio de S/. 300.00 - Las familias que poseen un ingreso familiar mayor a S/. 800.00 y menor o igual a S/. 2,000.00 recibirn un subsidio del 10% sobre su ingreso pero deben pagar un impuesto del 2% sobre el total de sus ingresos. - Las familias cuyo ingreso familiar sea mayor a S/. 2,000.00 deber pagar el 10% de impuesto sobre su ingreso. Disee un algoritmo que reciba como dato un ingreso familiar mensual y entregue como resultado: el monto adicional por subsidio, el impuesto y el monto neto que obtendr.
2.- Se tiene las notas del Examen parcial (EP), del Examen Final (EF), del Examen sustitutorio (ES) y las 4 notas de prcticas calificadas de un alumno del curso de Algoritmos y Est. Datos. Disee un algoritmo que reciba estas notas y luego muestre el promedio final (PF) del alumno sabiendo que: - el promedio de prcticas se obtiene eliminando la menor nota. - El examen sustitutorio ser considerado vlido si cumple con la siguiente condicin: PP>6.1 y (EP+2EF+PP)/4 >6.1. - Si el ES es vlido, reemplaza al EP o EF (al que mas favorezca al alumno) 3.- Disee un algoritmo que lea cuatro nmeros enteros y muestre los dos mayores. 4.- Disee un algoritmo que determine las races de la siguiente ecuacin : aX2 + bX + c = 0 Considere que los coeficientes son solicitados al usuario y pueden tomar cualquier valor real.
FIIS
3.- SELECTIVA MULTIPLE (Caso-sea) Se utiliza para seleccionar una de entre mltiples alternativas. El selector (variable, expresin o funcin ) se evala y compara con las alternativas de Caso. El valor del selector debe ser escalar (nmero entero o carcter).
FIIS
Pseudocdigo
Caso selector sea alt 1: acciones 1 alt 2: acciones 2 Selector
.
Sino
alt n: acciones n
Alt. 1
Alt. 2
Alt. n Acciones n
(opcional)
Acciones 1 Acciones 2
acciones F Fin-caso
EJEMPLOS
FIIS
1.- Disee un algoritmo que reciba un mes en nmero y devuelva el nombre del mes correspondiente y la estacin a la que pertenece. Nota : considere que el mes no est validado. 2.- En una tienda que vende accesorios para computadoras, se tiene que el precio de los paquetes de CDs es de S/.50 para cualquier marca. Sin embargo, existe un descuento que vara de acuerdo al monto de la compra y a la marca: Si el monto de la compra es mayor a S/. 1,000 y menor a S/. 5,000: la marca A tiene un descuento del 5%, la marca B el 7%, la marca C el 3% y la marca D el 4%. Si el monto es mayor a S/. 5,000: las marcas A y B tienen un descuento del 9% y las marcas C y D del 5%.
Disee un algoritmo que reciba la marca y la cantidad de paquetes de CDs comprada por un cliente y luego muestre el importe total, el descuento y el importe neto que debe pagar el cliente.
FIIS
Estructuras REPETITIVAS
Permiten repetir una o mas acciones un cierto nmero de veces.
Un BUCLE (loop, en ingls) es un trozo de algoritmo cuyas instrucciones se repiten un cierto nmero de veces, mientras o hasta que se cumpla una cierta condicin. La condicin ser evaluada en cada iteracin (repeticin) del bucle.
Estructura repetitiva acciones 1 acciones 2 . acciones n Fin-estructura repetitiva
1. DESDE - HASTA Las acciones del bucle se ejecutan desde que el contador toma un valor inicial hasta que tome su valor final inclusive. En cada repeticin del bucle, el contador se incrementa o decrementa en una constante.
Con Vi
Pseudocdigo
F
Desde con Vi hasta Vf (inc/dec) k
accin1 accin 2 accin n fin-desde Con con +k Con Vf
V
acciones
EJEMPLO 1.- Se cuenta con las notas de EP, EF y PP de un grupo de 30 alumnos del curso de Algoritmos y Estructuras de Datos. Disee un algoritmo que reciba estos datos y luego muestre: a) el promedio final de cada alumno. b) el nmero de aprobados y el promedio general del grupo. 2.- Disee un algoritmo que muestre el factorial de un nmero entero mayor o igual a 0 3.- Disee un algoritmo que muestre las tablas de multiplicar de los nmeros del 2 hasta el nmero N dado por el usuario. 4.- Disee un algoritmo que muestre los divisores primos de un nmero entero positivo mayor que 1. 5.- Disee un algoritmo que muestre los N primeros trminos de la serie Fibonacci (N>0).
FIIS
FIIS
2. MIENTRAS - HACER (estructura de entrada controlada) Las acciones del bucle se ejecutan cuando la condicin es V. Las acciones se pueden ejecutar 0 o mas veces
Pseudocdigo
F
Mientras (condicin) hacer accin1 accin 2 Condicin
V
acciones
accin n
fin-mientras
FIIS
3.a. REPETIR - HASTA (estructura de salida controlada) Las acciones del bucle se ejecutan si la condicin es F. Las acciones se ejecutan 1 o mas veces
Condicin
accin n
Hasta (condicin)
FIIS
EJEMPLOS 1.- Disee un algoritmo que reciba un nmero entero positivo de tres o mas cifras e indique si es capica (Se lee igual de izquierda a derecha como de derecha a izquierda). 2.- Disee un algoritmo que muestre el mximo comn divisor (MCD) de dos nmeros enteros positivos A y B. 3.- Disee un algoritmo que reciba un nmero no determinado de caracteres alfabticos (el ingreso termina cuando se ingresa el carcter *), luego muestre el nmero de cada vocal y la secuencia de caracteres U N I ingresados. 4.- Disee un algoritmo que ingrese las notas de un nmero no determinado de alumnos. Luego muestre: a) El promedio de notas de los alumnos aprobados b) La mayor nota y el nmero de alumnos que los poseen.
FIIS
5.- Disee un algoritmo que reciba n nmero reales y luego muestre el mayor de los nmeros negativos y el menor de los nmeros 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 da. Si logra ingresar al sistema, ste le solicita que ingrese un nmero real X entre 0 y 1 para calcular la siguiente suma: S= 1- x2 + x3 - x4 + ..
2! 3! 4!
FIIS
7.- Crear un algoritmo que permita leer para un grupo de n obreros la siguiente informacin: cdigo (entero positivo de 2 dgitos) y sueldo. Luego presentar los cdigos de aquellos obreros que tienen el mximo sueldo.
8.- Para un nmero entero positivo N (N>1), se dice que los divisores de N forman un lgebra booleana si N es el producto de nmeros primos diferentes. Ejemplo: N= 30= 2x3x5 (producto de primos diferentes) Los divisores de N forman un lgebra booleana Disee un algoritmo que permita leer el nmero N y luego nos muestre un mensaje indicando si para este nmero tenemos un lgebra booleana.
9.- Para un conjunto de n nmeros enteros positivos de 2 o mas cifras, se desea determinar el mximo comn divisor de dichos nmeros. Disee el algoritmo que realice esta tarea.
FIIS
10.- Disee un algoritmo que lea n puntos (x,y) del primer cuadrante y luego muestre los vrtices del menor rectngulo (con base paralelo al eje X) que contenga a dichos puntos. 11.- Decimos que los nmeros enteros positivos A y B son un par de nmeros amigos si la suma de los divisores propios (o sea, desiguales a s mismos) son iguales al otro nmero. Es decir, los divisores propios de A suman B y los de B suman A. Ejm. 220 y 284 son amigos
Suma divisores de 220 = 1+2+4+5+10+11+20+22+44+55+110 = 284 Suma divisores de 284 = 1+2+4+71+142 = 220
Disee un algoritmo que encuentre y muestre el primer par de nmeros amigos de 3 cifras.
FIIS
3.b. REPETIR - MIENTRAS (estructura de salida controlada) Las acciones del bucle se ejecutan si la condicin es V. Las acciones se ejecutan 1 o mas veces
Universidad Nacional de Ingeniera
acciones
Condicin
accin n
Mientras (condicin)
FIIS
ARREGLOS
CARACTERISTICAS Son estructuras que permiten almacenar datos del mismo tipo bajo un solo nombre (nombre del arreglo). Para acceder a un dato de un arreglo se utiliza el ndice o ndice(s) que indican la posicin de dicho dato en el arreglo. Los arreglos almacenan los datos en la memoria RAM del computador mientras se ejecuta el programa. Una vez que se apaga el computador, esos datos se pierden. Se debe conocer el tamao mximo del arreglo para la declaracin de la variable TIPOS DE ARREGLOS: Arreglos unidimensionales o Vectores Arreglos bidimensionales o tridimensionales o Matrices Arreglos multidimensionales (mas de 3 dimensiones)
FIIS
Caractersticas Para acceder a un elemento del vector se necesita un ndice (posicin del dato en el vector). Los elementos se encuentran almacenados en posiciones contiguas de la RAM. Ejemplo: Se desea almacenar notas (nmeros enteros) de 10 alumnos del curso Algoritmos y Est. Datos bajo el nombre NOTA
Posicin 1
12 NOTA(3)
2
8
3
13
NOTA 4 5 15 13
6
9
7
11
8
15
9
11
10
10
FIIS
Declaracin de un Vector: Variables Arreglo (tamao mximo) de tipo de dato: nombre del vector Ejemplo: Se desea almacenar las edades y tallas de un mximo de 20 alumnos FIIS. Variables Arreglo(20) de entero: edad Arreglo (20) de real: talla
FIIS
Asignacin: A(3) 05
Lectura/escritura leer (A(4)) desde i 1 hasta n escribir (Nota (i) ) fin-desde Bsqueda de un elemento nico en un vector. Para ello se utiliza una variable lgica que controla si el elemento se encuentra en el vector. Si lo encuentra termina el bucle.
FIIS
Problemas
1.- Escriba un algoritmo que lea y almacene en un arreglo los sueldos (real) de mximo 50 empleados de la FIIS-UNI y muestre a) El sueldo promedio de ellos. b) El nmero de empleados que tienen sueldo mayor al sueldo promedio.
2.- Escriba un algoritmo que almacenen los elementos (enteros positivos de 2 cifras) de los conjuntos A y B de m y n elementos diferentes respectivamente (los mximos valores para m y n es de 15). Luego debe mostrar los elementos comunes a ambos.
FIIS
3.- PROBLEMA (2da PC 2009-2) Se cuenta con n (n<=50) nmeros enteros positivos. Disee un algoritmo que almacene estos datos y luego muestre el dgito (o dgitos) que mas se repite(n). 4.- Una empresa comercial cuenta con los datos de n (n 100) operaciones de ventas de sus productos que ha realizado durante un da: cdigo del producto (entero de 3 cifras) y la venta (en soles) por cada operacin. Sabiendo que cada producto puede repetirse mas de una vez, disee un algoritmo que almacene estos datos y luego muestre un reporte con los cdigos de los productos (sin repetir) y la venta total del da
FIIS
5.- PROBLEMA (2da PC 2007-1) Una dificultad de las calculadoras y de las computadoras es calcular el producto de nmeros grandes. Disee un algoritmo que permita ingresar dos nmeros enteros positivos grandes M y N (mnimo de 10 dgitos y mximo de 40 dgitos) y luego, utilizando arreglos calcule y muestre el producto de dichos nmeros. Nota: Cada nmero debe ser ledo dgito por dgito y almacenado en un arreglo.
FIIS
i j 1 2 3 4 5
VENTAS(4,2)
Declaracin de matrices: Arreglo (tamao-fila x tamao-columna) de tipo de dato: nombre-var
Problema 1.- Una empresa es propietaria de una cadena de 5 tiendas comerciales. Para cada una de ellas se cuenta con las ventas mensuales de un perodo de 6 meses. Disee 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 perodo c) La tienda y el mes en que ha ocurrido la menor venta 2.- Se cuenta con las notas de la primera prctica calificada de los alumnos de n cursos (n 20). En cada curso existe a los mas 50 alumnos matriculados. Se va a ingresar las notas solo de aquellos alumnos que rindieron la prueba. Disee un algoritmo que almacene estos datos y luego: a) muestre el promedio general y el nmero de alumnos cuya nota sea mayor que dicho promedio. b) El curso (o cursos) con el mayor nmero de aprobados.
FIIS
FIIS
Arreglos Multidimensionales
Caractersticas Para acceder a uno de sus elementos se necesitan 3 o mas ndices. Muchas veces, para representarlos se necesita utilizar tablas en el que se puede apreciar sus dimensiones. Declaracin de un arreglo multidimensional Variables
arreglo (tamao1 x tamao2 x tamao3 x .) de tipo de dato: nombre de variable
FIIS
PROBLEMA (2da PC 2007-2) Para un conjunto de n provincias del pas(n50) se cuenta con los siguientes datos: cdigo (entero de 4 cifras), el nmero de turistas extranjeros y el nmero de turistas nacionales que visitaron mensualmente cada provincia durante el ao 2009. Disee un algoritmo que almacene los datos mencionados y luego muestre: a) Por cada provincia: el nmero de turistas que ha recibido durante el ao 2009 b) El mes o meses en el que hubo mayor nmero de turistas extranjeros c) La provincia y el mes que ha tenido el menor nmero de turistas
FIIS
1.- Ordenamiento
Universidad Nacional de Ingeniera Por seleccin Burbuja Insercin directa Insercin binaria Shell Quick Sort Por ndices
FIIS
desde i 1 hasta n-1 desde j i+1 hasta n Si (A(i) > A(j)) entonces aux A(i) A(i) A(j) A(j) aux fin-si fin-desde Fin desde.
FIIS
FIIS
PROBLEMAS 1.- // ordenamiento simple y ordenamiento doble Se cuenta con la nota y la seccin (letra) de n (n 100) alumnos de un curso XYZ. Disee un algoritmo que almacene estos datos y luego: a) presente un reporte en el que se muestre por cada seccin : el nmero de alumnos y el promedio general de la seccin. El reporte debe estar ordenado por seccin en orden alfabtico. b) presente un reporte en el que se muestre por cada seccin: el nmero de alumnos y el promedio general de los alumnos de dicha seccin. El reporte debe estar ordenado en forma descendente segn el promedio general de la seccin. Si hay promedios iguales, se debe presentar ordenado por seccin en forma ascendente.
FIIS
// Buscar el elemento X en el vector A. Si ste se encuentra en la posicin i del vector: // Eliminacin del elemento X de A desde j i hasta n-1 A(j) A(j+1) fin-desde n n-1
FIIS
FIIS
Ejemplos
1.- Se cuenta con los cdigos y los promedios finales de n alumnos de un determinado curso. Disee un algoritmo que almacene estos datos en vectores y luego elimine del vector a aquellos alumnos que tengan promedio final menor al promedio general. Mostrar los elementos 2.- Se cuenta con los siguientes datos de n alumnos (n 100): cdigo (entero de 4 cifras), notas de 4 PC. Disee un algoritmo que almacene dichos datos y luego elimine a aquellos alumnos cuyo promedio de prcticas sea menor a 6.1. Luego debe mostrar los datos de los alumnos que quedan con su respectivo promedio de prcticas. Nota: el PP es el promedio de las 4 PC
FIIS
CADENAS
CADENA: es una secuencia de caracteres que tiene las siguientes caractersticas: a) para ingreso y salida se comporta como un dato bsico Ejm. Leer (apellido) Escribir (apellido) OJO: apellido es una variable tipo cadena de mximo 10 car b) para acceder a uno de sus caracteres se comporta como un arreglo de caracteres. Ejm. Apellido(3) Z
1 Apellido R 2
O
3
S A
4
L
6
E S
10
Nombre(3)
FIIS
Tipos de cadenas: Numricas: sus caracteres son dgitos numricos. Ejm. 2011 Alfanumricas: Sus caracteres son letras y dgitos numricos Ejm. 20100426A General: cualquier combinacin de caracteres. Ejm. 21/06/2011
Declaracin de variables tipo cadena cadena (tamao mximo de la cadena): nombre-cadena Ejm. cadena (10): apellido Longitud de cadena: Es el nmero de caracteres que posee la cadena. Para determinarla se usa la funcin Longitud n Longitud (apellido)
FIIS
Operaciones bsicas con cadenas Asignacin Ejm. Nombre JHONNI; palabra U; Nombre Y Lectura/escritura Ejm. Leer (nombre) ; Escribir (nombre)
Otras operaciones con cadenas Concatenacin o unin de cadenas cad3 cad1+cad2 cad3 cad1+ + cad2 Ejm. Nomap nombre+ apellido Extraccin de cadenas cad1 cad1 + carac1 Ejm. Extraer el mes del texto: Ingres a la UNI en Agosto del ao 2011 Conversin de cadenas numricas a nmeros enteros Ejm. Convertir la cadena 2010 al nmero entero 2010
FIIS
Problemas
1.- Disee un algoritmo que lea y valide: a) el cdigo de un alumno UNI (8 caracteres numricos y 1 letra que va de A-K) b) la fecha dada en nmeros enteros dia mes ao, para aos mayores a 1900
2.- Disee un algoritmo que muestre un mensaje indicando si una palabra ingresada es palndromo o no. (ANA es palndromo , se lee igual de izq a der como de der a izq ) 3.-Disee un algoritmo que reciba una lnea de texto (80 caracteres) y muestre el nmero de palabras que contiene el texto.
FIIS
Arreglos de Cadenas
CARACTERISTICAS: 1.- Los elementos del vector son cadenas. 2.- Para acceder a una cadena se utiliza un sub-ndice. 3.- Para acceder a un carcter de cualquiera de sus elementos, se utiliza 2 sub-ndices Declaracin:
arreglo (tamao mximo) de cadena (numero mx de caract): nombre del vector
FIIS
Segn la cadena Segn un carcter de la cadena Ejms. 1.- Arreglo de apellidos de n alumnos // ordenamiento alfabetico (ascendente) del vector nombre
2.- Arreglo de cdigos de n productos. El cdigo est compuesto por 5 dgitos y 1 letra al final que representa la seccin a la que pertenece) //ordenamiento de los cdigos de productos por secciones
FIIS
PROBLEMA (EP-2008-1)
La clnica XXX ofrece seguros mdicos en varios planes (A, B, C) los cuales tienen coberturas diferentes. La cuota mensual que paga un cliente depende del tipo de plan que escoge y del nmero de familiares que asegura. Para cada nuevo cliente afiliado, en base a sus datos (apellido patero, apellido materno, nombre, ao, mes, nmero de inscripcin (entero de 3 cifras), la clnica genera un cdigo que consta de 12 caracteres con la siguiente estructura: Los cuatro primeros caracteres representan el ao de ingreso. Las dos siguientes caracteres el mes de ingreso. El sptimo, octavo y noveno carcter son las letras iniciales del apellido paterno, apellido materno y nombre del cliente (en ese orden). Los 3 ltimos caracteres corresponden al nmero de inscripcin del cliente. Disee un algoritmo que permita leer los n datos (n 300) clientes afiliados durante el ao 2007 y almacene el cdigo generado, el plan y la cuota mensual de cada cliente y luego: a) Presente por cada tipo de plan un listado (cdigo y cuota) de los clientes afiliados en el 2007 ordenados en forma decreciente segn el monto de sus cuotas b) Dado un mes del 2007, presente el plan o planes cuyo monto total en dicho mes sea el mayor