Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Secciones 2, 3, 4 y 5
Taller de Laboratorio
Utilizar la metodologa Top-Down para la resolucin de problemas de programacin. Utilizar expresiones aritmticas y lgicas para manipular variables numricas. Implementar estructuras de repeticin para generalizar programas parcialmente resueltos. Utilizar instrucciones de seleccin. Manipular la salida formateada de programas. Conocer en qu consiste un programa interactivo.
aparezca el editor de cdigo, cierre los paneles laterales y verifique que el tamao de letra es cmodo
Pag. 2 de 3
(14 o ms). Gurdelo en una carpeta de nombre Capicuas, ubicada bajo la carpeta de la seccin en el disco D.
2) Escriba el siguiente programa que lee un nmero entero de varias cifras e imprime cada dgito del
nmero ingresado en una lnea diferente. Analcelo y trate de entender lo que hace cada instruccin, para ello utilice la corrida en fro. Prubelo hasta que funcione correctamente.
Var Original, Auxiliar, Digito: Integer; begin Write('Ingrese un numero entero: '); Readln(Original); Auxiliar:=Original; Repeat Digito:=Auxiliar mod 10; Writeln(Digito); Auxiliar:=Auxiliar div 10; Until Auxiliar=0; Readln; end. 3) Modifique luego el programa para que, con cada dgito del nmero ingresado, forme otro con los
dgitos del original en orden inverso. Tenga como dato que, si el nuevo nmero lo almacenamos en la variable Construido, entonces Construido:=Construido*10+Digito. Agregue esta instruccin en el lugar adecuado del listado anterior. Pruebe el programa.
4) Agregue ahora una instruccin de seleccin que compare los dos nmeros el original y el construido
capicas entre 1 y M.
6) Agregue las instrucciones necesarias para que el programa imprima adems la suma de todos los
Pag. 3 de 3
entera -j-. Se le recuerda que una expresin lgica puede tener operandos aritmticos.
2) Comience un nuevo programa en Delphi. El programa debe ser tipo cnsola, por lo que, una vez que
aparezca el editor de cdigo, cierre los paneles laterales y verifique que el tamao de letra es cmodo (14 o ms). Gurdelo en una carpeta de nombre Primos, ubicada bajo la carpeta de la seccin en el disco D.
3) Escriba ahora las declaraciones y las instrucciones que permitan verificar si un nmero entero ledo
por el teclado -N-, es primo. Utilice la expresin lgica escrita anteriormente y una instruccin REPEAT que tome una variable -por ejemplo j-, le asigne valores desde 2 hasta N-1 y, en cada paso, verifique si N es divisible entre j. Si alguna de estas verificaciones es cierta, entonces N no es primo. Si el nmero ledo resulta ser primo, imprima en pantalla un mensaje que muestre el nmero y el mensaje "es primo". Se aconseja escribir primero este segmento de programa en forma de diagrama de flujo. Tip: Utilice una variable lgica que tome el valor TRUE si el nmero es primo y FALSE en caso contrario, asgnele el valor TRUE al principio del programa y, durante las pruebas de verificacin, si resulta que el nmero es divisible entre otro, asgnele el valor FALSE. Esta es una tcnica de programacin importante. Por favor, trate de entenderla detalladamente.
4) Pruebe el programa y agrguele instrucciones de impresin de mensajes para hacerlo ms amigable.
Agrguele tambin comentarios, sobre todo los de identificacin a principio del listado.
5) En este punto debe tener usted entonces un programa que lee un nmero entero por el teclado N y
verifica si ste es primo. Para transformarlo ahora en uno que imprima la lista de primos desde 1 hasta M, donde M es un nmero ledo por el teclado, sustituya la lectura de datos del nmero N por otro ciclo REPEAT que use a N como variable de control y que le asigne los valores mencionados.
6) Pruebe el programa. Para el caso de M=1000, la salida deber arrojar los siguientes resultados:
1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997
7) Agregue una variable para contar el nmero de primos encontrados. Imprima el valor de esta variable
al final del programa. Averige cmo hacer que el programa sea ms eficiente, por ejemplo, haciendo que se ejecute ms rpido. Prubelo con valores mayores de M como uno o diez millones. Con esto queda concluido el taller.
Noviembre 2012