Professional Documents
Culture Documents
Guia#1. PreparaduriaAlgoritmosyprogramacionISeccion010. Programa:Unprogramaesunconjuntodeinstruccionesurdenesqueindicanala mquina las operaciones que sta debe realizar con unos datos determinados. En general,todoprogramaindicaalacomputadoracmoobtenerunosdatosdesalida,a partirdeunosdatosdeentrada. Algoritmo:Enprogramacin,unalgoritmoestablece,demaneragenricaeinformal, lasecuenciadepasosoaccionesqueresuelveundeterminadoproblema. Funcionamientobsicodeunprograma:
Pararesolverconxitounproblemadeprogramacin: 1. Definicindelproblema 2. Anlisisdelproblema 3. Diseodelalgoritmo 4. Implementardiseo.Esimportantequealestarimplementarloircomentandoel codigo, es decir, se coloca en pocas palabras la funcionalidad de los segmentos delcodigo,seintentaexplicarquesehaceensegmentosdelcodigooseexplican elfuncionamientodedeterminadascosas.
Preparaduria Algoritmos y Programacin I. Seccin 010 Luis Exposito.
Pascal:
Tiposdedatos:
Tipodedato Entero Real Lgico Carcter Cadena Declaracin PASCAL Integer Real Boolean Char String Valoresquepuedetomar Conjuntodelosnumeros Z={...,3,2,1,0,1,2,3,...} Conjuntodelosnumeros R.(racionaleseirracionales) {FALSE,TRUE} SolotomaUN(1)carcter ASCII Tomanporvaloruna secuenciadecaracteres Rango [32768,32767] [2.9e39,1.7e38] >Solotomaunode estosdosvalores. >Serepresentadentro decomillassimples() ejm.:a >Serepresentadentro decomillassimples() ejm.:Luis
Operadoresaritmticosbsicos
Operador + * / Div mod Sqr Sqrt Operacin Suma Resta Multiplicacin Divisin Divisinentera Modulo Elevaral cuadrado Raizcuadrada Operandos Real,integer Real,integer Real,integer Real,integer Integer Integer Integer,real Integer,real Ejemplo A+B AB A*B A/B AdivB AmodB Sqr(A) Sqrt(A) Resultado SumadeAyB DiferenciadeAyB ProductodeAyB CocientedeAyB CocienteenterodeA yB RestodedeAyB ElcuadradodeA LarazcuadradadeA
Operadoresrelacionales UnaRELACINconsistededosoperandosseparadosporunoperadorrelacional.Sila relacin es satisfecha => true; si la relacin no se satisface => false. Los operadores debenserdelmismotipo.
Smbolo = <> < > <= >= Significado Igualque Distintoa Menorque Mayorque Menoroigualque Mayoroigualque
EstructuradeunprogramaenPascal: Constaentresseccionesprincipales: *Encabezado *Declaraciones *Cuerpo END. DeclaraciondePROCEDIMIENTOS.(Procedure) DeclaraciondeFUNCIONES.(Function) CuerpoPrincipal. BEGIN Instrucciones; BEGIN Instrucciones; END;
Encabezado.
DefiniciondeTIPOS.(Type) DefiniciondeVARIABLES.(Var)
Declaraciones.
Cuerpoprincipal
OTRO BLOQUE.
Declaraciones: Uses: Esta clausula es para la utilizacion de modulos externos al lenguaje de programacion,esdecir,esdondesedeclaranlaslibrerias.LibreramasusadaCRT. otros. Sintaxis: 1.Porsuvalor(literal). NOMBRECONSTANTE=Expresion; ejm.: PI=3,14159265; Enprogramacinesunabuenaprcticaescribirlosidentificadoresdelasconstantes enmaysculas,deestaformaesmsfcillocalizarlosenelcdigodeunprograma. Tipos: Aqudeclaramoslostiposdedatosdefinidosporelusuario. Sintaxis: nombreTipo=declaracionTipo; Variables: nombreVariable:TipoDeDato;
Preparaduria Algoritmos y Programacin I. Seccin 010 Luis Exposito.
Constantes:
En Pascal, una constante puede ser de tipo entero, real, carcter, cadena, entre
ejm.: mayusculas=A..Z;
Sintaxis:
yparadeclararvariasvariablesdelmismotipodedato: nombreVariable1,nombreVariable2,,nombreVariableN:TipoDeDato; (*)Restriccion: Los nombres de: Programas, Variables y Constantes tienen que empezar con algun carcter alfabetico, y no puede ser alguna palabra reservada de Pascal. AESTETIPODEPROGRAMACIONSELELLAMAPROGRAMACIONESTRUCTURADA. Todo lenguaje de programacion tiene la sentencia basica de ASIGNACION, es decir, esta sentencia es la que permite modificar el valor de una variable en el codigo, en Pascalserepresentaporlasistaxis: Sixesunavariableenteraentonces,x:=4; Operacionesdeentradaysalida(I/O): Esta invocacion sirve para escribir por consola o pantalla, pudiendo ser los items alguna variable con un dato, o simplemente una cadena de caracteres colocandolo entrecomillassimples.
Preparaduria Algoritmos y Programacin I. Seccin 010 Luis Exposito.
Ejm. Write(hola,nombre); nombre: variable definida anteriormente y en alguna parte del codigoseleasignaunvalorespecifico. Porque existen WRITE y WRITELN? La primera solo escribe los items que les indiques, y writeln luego de escribir los items que colocaste + una nueva linea, dejandoelcursoraliniciodelasiguientelinea. Encambioestasinvocacionessonparalalecturadedatosqueelusuariointroduzca porpantalla,esdecir,elusuarioalescribirporconsola(luegodepedirlealgunvaloro dato) estos datos tienen que ser GUARDADOS en alguna VARIABLE ya declara en el programayusandoestasfuncionesseguardan. Ejm. Read(cedula); cedula: variable definida anteriormente y lo que introduzca el usuarioporconsolaseraguardadoenestavariable. NOTAIMPORTANTE:Lalecturavaadependerdeltipodedatoqueseesteleyendo,y aquesdondeseencuentraladiferenciadelREADyelREADLN,yaqueelreadleede BUFFERhastaqueescuentraelcarcterdeenterodeespacio,encambioreadlnleelo mismo pero baja el cursor a la siguiente linea sin importar si hay algo mas en esta linea. Si la lectura es de un tipo de dato REAL uno puede truncar para que muestre la cantidaddeenterosydecimalesdeseados.Ejm.:read(nota:2:2);
Preparaduria Algoritmos y Programacin I. Seccin 010 Luis Exposito.
MiprimerprogramaenPascal: Escribirporpantalla: Holamundo! EnPascal,elcdigofuentededichoprogramapuedeser: programHolaMundo; usesCrt; Begin ClrScr; Write('Holamundo'); End. MisegundoprogramaenPascal:(2*pi*R) Unprogramaquecalculeelareadeuncirculo. INVESTIGAR: FuncionespredeterminadasdellenguajedeprogramacionPASCAL. HACER: Un programa que le pida al usuario una cantidad que representara SEGUNDOS y a partirdeestedato,imprimaporpantallacuantosminutos,horas,diasrepresentaeste.