Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Las integrales

263 views

Published on

  • Be the first to comment

  • Be the first to like this

Las integrales

  1. 1. LAS INTEGRALESPROGRMACION DE CONTROLADORES -PROGRAMACIÓN-Una operación es una acción específica que realiza el microprocesador siempre queejecuta una instrucción. Existen diferentes operaciones que realiza el microprocesador,las operaciones asociadas con el Z80 son: o Transferencia de información o Operaciones aritméticas o Operaciones lógicas o Subrutinas o Entradas y salidas o Incrementar y decrementar bytes o Realizar saltos
  2. 2. o Comprobar, poner en uno o en cero a los bits o Realizar ajustes a BCD o Ejecutar interrupciones-LENGUAJE MÁQUINA-Se dice que un programa se forma con un grupo de patrones binarios, por ejemplosumar las localidades 1500H y 3020H y almacenar el resultado en la localidad 3000H elprograma a ejecutar es el siguiente: 0011 1010 0000 0000 0001 0101 0100 0111 0011 1010 0010 0000 0011 0000 1000 0000 0011 0010 0000 0000 0011 0000A estos patrones binarios se les conoce como "LENGUAJE MÁQUINA" ya que estees el único lenguaje que entienden las computadoras. -PROBLEMAS CON LOS PATRONES BINARIOS- 1. Es muy difícil para el programador entender o depurar los programas. 2. El proceso de cargar el programa en la computadora es muy lento ya que se tiene que alimentar bit por bit. 3. El programa no describe la tarea que realiza de una forma fácil de entender para el usuario. 4. Los programas largos son cansados en su elaboración. 5. Existe una gran posibilidad de que el programador se equivoque en la redacción del programa, produciendo de esta forma, una gran dificultado para encontrar los errores. 6. Si en el programa binario existiera un bit erróneo sería laborioso el detectarlo y corregirlo.
  3. 3. -MNEMÓNICOS-Un método de mejorar el manejo de las instrucciones para el programador consiste enasignar un nombre a cada instrucción, por ejemplo a la instrucción de decrementar se lenombra como "DEC" y a la de cargar un dato se nombra como "LD", a los nombres delas instrucciones se les conoce como "MNEMÓNICOS", se escogen de tal manera queorienten en forma fácil al programador.Es más fácil recordar que INC A es el mnemónico de la instrucción para incrementar enuno el contenido del registro acumulador que recordar que 3Ch es el código operacionalcorrespondiente a la misma instrucción, cada fabricante de microprocesadoresproporciona una serie de mnemónicos para el conjunto de instrucciones de cadamicroprocesador, el programa anterior queda en la forma siguiente al usar losmnemónicos del Z80: PROGRAMA OBJETO PROGRAMA FUENTE 1000 3A 0015 LD A, (1500) 1003 47 LD B,A 1004 3 20030 LD A, (3000) 1007 80 ADD B 1008 32 0030 LD (3000),AEsta representación del programa es más comprensible que la que usa patrones binarios,en este caso ya que se identifican qué partes son instrucciones y qué partes sondirecciones o datos, a la representación de las instrucciones de un programa usandomnemónicos se le conoce como "programa fuente".-MODOS DE DIRECCIONAMIENTO-Una parte importante en la programación es el de entender las formas dedireccionamiento para las localidades de memoria que contienen los datos que seprocesan como instrucciones, la CPU Z80 tiene 10 modos diferentes para direccionarlos datos almacenados en la memoria y en los registros:Implícito o inherenteInmediatoInmediato extendidoRegistroRegistro indirectoExtendidoPágina cero modificadaRelativoIndexadoBit
  4. 4. -DIRECCIONAMIENTO IMPLÍCITO O INHERENTE-Este modo de direccionamiento se refiere a operaciones en donde el código operacionalimplica automáticamente a uno o más registros de la CPU, el código operacional es fijoy no tiene campos variables de tal forma que la instrucción siempre ejecuta la mismaoperación.Ejemplos de este modo de direccionamiento son las instrucciones CPL y RRA.El código operacional de CPL es 2Fh, ésta instrucción toma el contenido delacumulador, lo complementa a uno, cambia los ceros por unos y los unos por ceros, ydeposita el resultado en el acumulador, las bandeas de condiciones no se afectan, lafuente y el destino siempre son fijos;-DIRECCIONAMIENTO INMEDIATO-Este modo no constituye un direccionamiento propiamente dicho, pues aquí lainstrucción no contiene ninguna dirección, en su lugar figura un operando sobre el cualse realiza la operación que indica la instrucción, no hay necesidad del ciclo de memoria(ejecute) de ejecución, una denominación más precisa es la de operando inmediato.Una instrucción con direccionamiento inmediato es la que contiene en el byte 2 o en elbyte 3 de la propia instrucción en el dato de la transferencia, es decir, el dato es parteintegral de los bytes que constituyen la instrucción. OP-CODE <----- uno o más bytes OPERANDOEste tipo de direccionamiento es útil al cargar o efectuar una operación aritmética ológica con un dato constante.Ejemplo: Para cargar 07h en el acumulador se utiliza la instrucción LD A,N x 3E LD A,N x+1 N A  07h
  5. 5. El código operacional de la instrucción es 3Eh y el segundo byte es el dato que se va acargar en el acumulador, en este caso N = 07h, los movimientos que realiza el CPU Z80son los siguientes: 1. El contenido de la localidad op-code que apunta el contador del programa (PC) se carga en el registro de instrucciones IR y se incrementa el PC en uno. 1. La unidad de control ordena, después de decodificar la instrucción que el contenido de la localidad (dato inmediato u operando) que apunta el PC se cargue en el registro "r" indicado por el código de la instrucción, el PC se incrementa en uno y apunta a la próxima instrucción a ejecutarse.En general este tipo de direccionamiento lo utilizan las instrucciones aritméticas ylógicas de 8 bits, ejemplo de estas son: ADD N, XOR N, AND N, etc. -DIRECCIONAMIENTO INMEDIATO EXTENDIDO-Este modo de direccionamiento como su nombre lo indica es una extensión delDireccionamiento Inmediato, este tipo de direccionamiento permite cargar con un datode 16 bits a un registro par y obtiene la dirección donde continua el procesamiento enforma inmediata. x OP-CODE x+1 BYTE BAJO x+2 BYTE ALTOEste modo de direccionamiento lo utilizan las instrucciones del grupo "cargar 16 bits" ydel grupo de instrucciones "saltos, llamadas y regresos", (JP, CALL y RET).El primero de los dos bytes del dato o de la dirección contiene los bits menossignificativos (LSB) y el segundo byte contiene los bits más significativos (MSB).Ejemplo: X 01 x+1 68 NN = 7968 x+2 79Los movimientos de esta instrucción son los siguientes: 1. El contenido de la localidad "x" apuntada por el contador de programa (PC) se carga en el registro de instrucciones IR y se incrementa el contador de programa, (PC  PC + 1)
  6. 6. 1. La unidad de control después de decodificar la instrucción ordena que el contenido de la localidad "x + 1" apuntada por el PC se cargue en el registro B, y se incrementa el contador de programa ( PC  PC + 1) 1. La unidad de control ordena que el contenido apuntado por el PC se cargue en el registro C, se incrementa el contador de programa, (PC  PC + 1) y el PC apunta a la siguiente instrucción a ejecutarse.-DIRECCIONAMIENTO DE REGISTRO-Muchas instrucciones utilizan los registros del Z80 para recibir o proporcionar un dato,el código de la instrucción tiene un campo que se usa para especificar el ó los registrosque se utilizan en la ejecución de la instrucción.Ejemplo: LD r,sEsta instrucción ordena que el contenido del registro "s" se deposite en el registro "r". R  registro destino S  registro fuente"r" y "s" pueden ser cualquiera de los registros activos o primarios de 8 bits de la CPUZ80, el movimiento de la información de esta instrucción es: 1. El contenido de la localidad apuntada por el PC se deposita en el registro de instrucciones IR, la unidad de control ordena copiar en el registro r el contenido del registro s, PC  PC + 1, y el contador de programa apunta a la siguiente instrucción a ejecutarse.Los grupos de instrucciones que utilizan este tipo de direccionamiento de registro, sonlos de aritmética y lógica de 8 bits y de 16 bits como son: 1. Rotar 1. Girar 1. Poner en uno 1. Poner en cero y 1. Probar bits
  7. 7. -DIRECCIONAMIENTO DE REGISTRO INDIRECTO-Este tipo de direccionamiento utiliza el contenido de un registro par, como la direcciónde una localidad de memoria, los registros pares son BC, DE y HL, en donde losregistros B, D y H contienen los bits menos significativos, el código operacional de lainstrucción puede ser de uno o de dos bytes:Ejemplo: LD r, (HL)Los movimientos de esta instrucción son:El contenido de la localidad que contiene el código operacional, al cual apunta elcontador de programa PC, se deposita en el registro de instrucciones IR y se incrementael contador de programa. PC  PC + 1.La unidad de control envía los 16 bits del registro par HL por el bus de direcciones, leeel contenido de la localidad con esta dirección y deposita su contenido sobre el registror.Este tipo de direccionamiento permite apuntar a cualquier localidad de memoria, antesde usar instrucciones que utilicen este tipo de direccionamiento se debe cargar elregistro par con el valor de la dirección requerida.-DIRECCIONAMIENTO EXTENDIDO-En este tipo de direccionamiento la dirección de la palabra de instrucción contiene ladirección eficaz de la memoria, este es, las instrucciones que utilizan direccionamientoextendido proporcionan los 16 bits de la dirección eficaz de la memoria, el campo de ladirección eficaz contiene un operando, con este modo de direccionamiento se puedenaccesar directamente todas las localidades de memoria desde 0000h hasta FFFFh, elprimer byte contiene los 8 bits menos significativos (LSB) de la dirección eficaz y elsegundo byte contiene los 8 bits más significativos (MSB) de la dirección eficaz.Ejemplo: LD A,(1580h) OP - CODE  3A LSB  80 MSB  15Los movimientos que se producen son los siguientes: 1. La localidad apuntada por el contador de programa PC contiene el código operacional, este se deposita en el registro de instrucciones IR, el contador de programa se incrementa. PC  PC+ 1.
  8. 8. 1. La unidad de control ordena que el contenido de la localidad (dirección LSB) se deposite en un registro temporal, y se incrementa el contador de programa PC PC + 1. 1. La unidad de control ordena que el contenido de la localidad (dirección MSB) se deposite en otro registro temporal, y se incrementa el contador de programa PC  PC + 1. 1. La unidad de control envía por el bus de direcciones la dirección recién leída de 16 bits, lee el contenido de la localidad de memoria de esa dirección y deposita el operando en el acumulador.Con este tipo de direccionamiento se pueden hacer transferencias de datos de 16 bits,LD (1580h), HL-DIRECCIONAMIENTO DE PAGINA ZERO MODIFICADA-Este tipo de direccionamiento se usa únicamente con la instrucción RESTAR (RST),esta instrucción causa que el procedimiento del programa continúe en una de ocholocalidades posibles y bien especificadas de la pagina zero.La pagina zero se define como área de menor memoria que se puede accesar con 8 bitsdel bus de direcciones, esto es las 256 localidades obtenidas con ocho combinacionesposibles, desde la 00h hasta la FFh, todas estas direcciones constituyen la pagina zero.El código operacional de "RST" m" se encuentra como sigue: 11xxx111 RST m Localidad m 0000 0 0008 1 0010 2 0018 3 0020 4 0028 5 0030 6 0038 7Las direcciones especificas de la pagina zero se obtienen al multiplicar por 8 el valor
  9. 9. binario de la variable m, por ejemplo si m = 2 la dirección es 10h. RST m OP-CODE RST 0 C7 RST 8 CF RST 10 D7 RST 18 DF RST 20 E7 RST 28 EF RST 30 F7 RST 38 FF-DIRECCIONAMIENTO RELATIVO-En el direccionamiento relativo a la dirección proporcionada por el registro deinstrucciones se le añade una dirección de referencia, normalmente esta dirección dereferencia es el contador de programa PC, es posible obtener dos modos diferentes dedireccionamiento relativo :1).- Relativo hacia adelante2).- Relativo hacia atrásEn las direcciones de salto, este tipo de direccionamientos permite reducir el numero debytes para especificar la dirección y reducir así el largo del programa, se usa el byte quesigue al código operacional relativo para especificar un desplazamiento a partir del valoractual del contador de "programa más dos", el resultado de la operación es unadirección a la cual el programa salta para continuar el procesamiento en esta nuevadirección.El direccionamiento relativo permite el acceso a 256 localidades alrededor de ladirección de la siguiente instrucción, el valor del operando es un valor con signo entre+128 y -127, tomando como punto de partida del desplazamiento a la localidad de
  10. 10. memoria donde esta la siguiente instrucción:El direccionamiento relativo se usa en la CPU Z80 únicamente con el grupo deinstrucciones de salto, permitiendo saltos condicionales o incondicionales que seobtienen de la resta o la suma respectivamente, del contador de programa actual más eloperando.-DIRECCIONAMIENTO DE BIT-La CPU Z80 tiene instrucciones que permiten probar, poner en cero y poner en uno alos bits de un operando: 1. BIT b, r 2. RES b, r 3. SET b, rEstas instrucciones efectúan operaciones a nivel de bits sobre los contenidos de laslocalidades de memoria o los registros de la CPU Z80 seleccionados por medio de unode tres tipos de direccionamiento, de registro, de registro indirecto e indexado, con tresbits del código operacional se especifica cual de los 8 bits del operando es elinvolucrado.Ejemplo: SET b, rEn donde "b" puede ser cualquier numero del 0h al 7h y "r" es cualquier registroprimario, acumulador, registro par HL o registro de índice IX o IY. CAMPO b BIT =1 000 xxxx xxx1
  11. 11. 001 xxxx xx1x 010 xxxx x1xx 011 xxxx 1xxx 100 xxx1 xxxx 101 xx1x xxxx 110 x1xx xxxx 111 1xxx xxxxEjemplo: SET 5, BEl bit "5" del registro B toma el valor de "1" los otros siete bits no sufren alteraciónalguna, en este caso se esta usando direccionamiento de registro.1000 1000 antes (B)  881010 1000 después (B)  A8-DIRECCIONAMIENTO INDEXADO-Con este modo se obtiene la dirección efectiva haciendo la suma de:1. El contenido de un registro especial del Z80 denominado "registro de índice".2. El registro de índice se suma con el operando que proporciona la instrucción.La indexación permite tratar bucles durante un programa, si se dispone de variosregistros de índice se pueden añadir varios bucles, normalmente el registro de índice seincrementa por software después de cada operación.Las instrucciones que utilizan direccionamientos indexado usan byte que sigue alcódigo operacional para especificar el desplazamiento que suma a uno de los dosregistros de índice del Z80, para formar la dirección efectiva de la memoria, elcontenido del registro de índice no se altera.Ejemplo:REGISTRO DE INDICE + OPERANDO = DIRECCION EFICAZ
  12. 12. 1200h + 08h = 1208hLos movimientos son:1. El contenido de la localidad 1000h apuntada por el PC se deposita en el registro I R ,PC  PC + 1, la unidad de control reconoce que debe cargar otra vez el contenido de lalocalidad 1001h sobre el I R, PC  PC + 1.2. El código operacional en IR le ordena a la unidad de control leer en un registrotemporal el contenido de la localidad apuntada por el PC, PC  PC + 1.3. La unidad de control envía por el bus de direcciones la dirección que resulta al sumarel registro de índice x con el contenido del registro temporal, lee el contenido de esalocalidad y lo carga en el acumulador.-DIRECCIONAMIENTO CON EL APUNTADOR DE PILA- (STACKPOINTER)El contenido de un registro por (BC, DE o HL), o el contenido del contador deprograma (PC), puede transferirse a una área de memoria llamada "stack pointer" y sepuede realizar la función inversa, las localidades de memoria que reciben el dato sedireccionan por medio de un registro de 16 bits denominado "apuntador de pila o stackpointer", existen únicamente dos operaciones que se realizan con el apuntador de pila,cargar un dato de 16 bits en la pila de la memoria por medio de la instruccióndenominada PUSH y la operación de leer un dato de 16 bits por medio de la instrucciónllamada POP, es importante aclarar que las direcciones a las que se esta seleccionandocon el apuntador de pila (SP) debe ser memorias de leer y escribir, esto es, memoriastipo RAM.-OPERACION PUSH -Un dato de 16 bits se transfiere al área de la pila de la memoria desde un registro par odesde el PC durante una operación PUSH, las direcciones del área de memoria que sonaccesadas durante la operación PUSH se determinan de la siguiente manera:1.Los 8 bits mas significativos del dato se almacenan en la localidad de memoria condirección igual al contenido actual del apuntador de pila de la memoria (SP) menos uno.2.Los 8 bits menos significativos del dato se almacenan en la localidad de memoria condirección igual al contenido actual del apuntador de pila de la memoria menos dos.3. El contenido actual del apuntador de pila de la memoria se decrementaautomáticamente por dos.Por ejemplo sea: PUSH BC(SP)  13A6h, (B)  6A, (C)  30 antes después 1303 FF 1303 FF  SP
  13. 13. 1304 FF 1304 30  C 1305 FF 1305 6A  B 1306 FF  SP 1306 FF 1307 FF 1307 FF- OPERACION POP-Un dato de 16 bits se transfiere desde la pila de la memoria a un registro par o alcontador del programa durante una operación POP.Las direcciones del área de memoria que son accesadas durante la operación POP sedeterminan de la siguiente manera:1.El segundo registro del par o los 8 bits menos significativos del contador de programase cargan con el contenido de la localidad direccionada por el apuntador de la pila.2.El primer registro del par o los 8 bits mas significativos del contador de programa secargan con el contenido de la localidad direccionada por el apuntador de la pila masuno.3.El contenido actual de la pila se incrementa automáticamente por dos.Ejemplo: POP BC antes después 1507 FF 1507 FF 1508 33  SP 1508 33 1509 0C 1509 0C 150A FF 150A FF  SP 150B FF 150B FF (B)  6A (B)  0C (C)  30 (C)  33RADIOFUSORAS POR INTERNET
  14. 14. HAM-WWW.HTML: Amateur Radio Webpages on Internet November 1995http://uhavax.hartford.edu/disk$userdata/faculty/newsvhf/www/ham-www.htmlPlease send additions/corrections to: Ron Klimas WZ1V AA0YT page - VHF, EME, OSCAR, Beacon lists, VHF Directory. AAE Bandmaster Quads ABSNET Internet Services AC4JQ/WA4CQZ - Atlanta, GA Amateur Radio ACLR - Amateur Cross Link Repeater Association. ADMs PLACE of STUFF! Alachua Freenet Ham Radio Page Alarm Systems All Electronics Corp. - electronic components. AMATEURFUNK - DG0LFH Amateur Radio and Funny Stories Amateur Radio Operator magazine Amateur Radio Recreation Web Explorer Amateur Radio Reference - by N2VKG. Amateur Radio Space Program Amateur Radio Webpages on Internet - by WZ1V. AMSAT-NA - Radio Amateur Satellite Corporation. Amateur Satellite - N7RYW page Ames Area Amateur Astronomers (Iowa) AmSoft - The World Of Ham Radio CD-ROM info. Andrews University ARC - WA8LKI. Antique - Digitized oldtime radio broadcasts Antique - Gerard Tels antique radio collection Antique - Phils Old Radios Antique - The Bellingham Antique Radio Museum APRL home page - Atmospheric Profilers / Tropo data. APRS - Automatic Packet Reporting System software. Archers home page Arctic ARC (Alaska) - KL7KC. Arizona Amateur Radio ARRL Web page - the latest Bulletins, news, rules, etc. Artsci Publishing Inc. - Amateur Radio books. Atlanta HamFestival Aurora Page, The Axinars Hobbies BARTG - British Amateur Radio Teledata Group. Bavarian Packet Radio Group - Baycom Packet support. Bay Area DXers (Michigan) Amateur Radio Page Baylor Amateur Radio Club - KC5OJY. BBOTW Web Explorer - WA4FAT. Best of 75 meter Net Bolingbrook ARS (Illinois) Bookworm by AA6KI - SanDiego, CA.
  15. 15. Boston ARC Web page - New England area fleamarkets, VE Exams, etc.Brigham Young University ARC - W7OHR.Brown Radio Club of RI (K1AD).BUCKMASTER Callsign server - US, Foreign w/ grids, lat/long.Callsign server at QRZCallsign server at UALR using FCC database (updated DAILY).Callbook Summary Today - new/changed FCC licenses.California Amateur Vhf EnthusiastsCal Poly ARC - W6BHZCanadian Radio Amateurs CallbookCanada: Club de Radioamateur des Chercheurs - (English).Canada: Club de Radioamateur des Chercheurs - (French).Canada: Halifax ARC and QSL BureauCanada: Lakehead ARC - Thunder Bay, ONT.CANADAs National Capital Region Packet Radio WWWCanada: Northern Alberta ARCCanada: North Shore ARC - North Vancouver, BCCanada: Oliver ARC - VE7OLVCanada: Ottawa Area RepeatersCanada: Radio Amateurs of Canada (RAC)Canada: VA3IKE VHF page.Canada: VE2DM ARCCanada: VE4 - Callsign Area homepageCanada: VE7TCP Ham PagesCentral States VHF Society homepageCentre for the History of Defence Electronics - U.K.Chris Cox W0/G4JEC MN homepageClear Lake ARC - (Texas) Homepage.College ham clubs on Internet LISTColorado Amateur Radio PageColorado Ham Homepage - by KF0JC.Colorado Packet Radio - N0RSEColumbia University ARC - W2AEE HomepageComet Shoemaker-Levy Home Page (JPL)Compaqs Amateur Radio ClubCom-West Radio Systems Ltd. - Canadian Ham dealer.CQWW contest page by OH2KICuyahoga ARS - Cleveland, OhioDARCOMM - Emergency Amateur Radio net.Daytona Beach ARADeltatango (U.K.) homepageDetroit Amateur Radio - DTWGATEDeutscher ARC - DARC (German).Digigrup EA3 page (Spanish).DSP/EME - Mike Cooks EME pageDurham Radio Sales and Service Inc.DX news/calendar - by IK4LZHDyna Net Inc. - Radio Control Program software.EI5DI IOTA/RSGB contest softwareElectrical Engineering Links
  16. 16. Elmers List - for Amateur Radio.EME-SETI-Weak Signal page - by W6/PA0ZN.EMEers e-mail address listEME stations directory, 432 and up by DUBUSEngineers BookshelfEngineering Consulting Electronics Products CatalogEngineering Web Servers & AdministratorsExtended Ham Radio de AB4ELFBenterprises - Repeater Maps & Ham Books.FCC homepageFCC mail addressGilfer Shortwave - JRC Dealer.GJ4ICD HAM PAGES - DXCluster, VHF-UHF, Beacons, Solar data.Goddard ARC (WA3NAN)Greater Spokane WA Area Amateur Radio ClubsGrove Enterprises - Receiver and Scanner sales.Ham and Swiss on RyeHamfest Association of ClevelandHam Manufacturers on Internet list.Ham Radio Amateurfunk - Nice German linksHam Radio & More - talk show schedule, station list.Ham Radio Online magazineHAM Radio on the InternetHam Radio Outlet catalogHam Radio Today On-Line magazineHams on Internet email addresses searchable list.Hams on the WebHAMSTER and THE WORLD OF RADIOHamView Products - Windows software.Harrys House - N1QVE (CT)Harwell Amateur Radio Society (G3PIA)Hawaii Amateur RadioHR showcase - a very complete Ham Radio page.Huntsville, AL Ham PageICOM America Inc.IDRA Intl. Digital Radio Assoc.Indiana University ARCInside Information LtdInsurance City Repeater Club - Hartford, CT.International Telecommunication UnionIRC HamRadio Channel pageIsrael Amateur Radio Club Home pagesITU Technologies - PIC programming support.Jade Products, Inc. - kits for the amateur market.Jeffs Progressive PagesJPS Communications - DSP audio filters.Juns Electronics Amateur radio salesK0JDs R2/T2 page - info. on KK7B modules.KA9FOX Web site for Contesting and DXingKanga USA - kits for the amateur market.
  17. 17. Kansas State University College of EngineeringKaWin(c) software - for host mode Kantronics(r) TNCs.KD3BJ Usenet BBSKentrol HomePage - PC control of Kenwood radios.Kenwood HomepageKH6RS - Maui Amateur Radio Club Home PageKJ4VH homepageLambda ARC - U.K.Linux Amateur Radio Software ListLinux Amateur Radio Software List (at CSIRO)Linux The Operating System for the new MilleniaLowe Electronics Limited - U.K. Radio sales.Low-Profile AntennasMailing Lists and NewsgroupsMailing Lists, otherManchester (U.K.) Computing Centre.Marconi - history of Radio Web page.Meteor Showers 1995 CalendarMeteor Showers - detailed dataMicrowave Components - Techlock Distributors.Microwave FAQ - from the U.K.Microwave JournalMid-America Radio Page - MissouriMinuteMan Repeater Association (MA)Mississippi State University ARC - W5YD.Mobileering for a Better Tommorrow - N1QDQMotorola Data and App. notes.Motorola Data (alt. site).MS_EXE Packet Meteor Scatter - and other software at UCSDN0ARY/BBS - PBBS w/ bidirectional internet gateway.N2NEP Western NY HampageN2GJ New Jersey homepageN2OTOs SQLOOPER Page - Weak Signal Mobiles.N9KW WEBPAGENASA Homepage - see Today@NASA for current space events.NASA Online Educational ResourcesNates Home PageNaval Postgraduate School ARCNCSU Ham pagesNCSU Student ARS - (W4ATC StARS).Nerd World: AMATEUR RADIONevada Communications - U.K.New Hampshire Amateur Radio pageNew Mexico State University ARC - W5GB.NEWSLINE - Amateur Radio News.NF2G Scannist Pages - WNY scanner frequencies.NG3K Amateur Radio Link PageNL7J page - Alaska ham radio and SSTV.Norham Radio - Canadian Amateur Radio dealer.North Bay, CA ARA - K6RI.
  18. 18. North East Weak Signal group - (N.E.W.S.) VHF clubNorth Shore Repeater Association - Massachusetts.Northwest ARS - Houston, TexasNorwood ARC (Massachusetts)Nova - W9IPs Northern Lights Software satellite tracking.NZ1Ms List of Ham LinksOH2BUA WWW Page - HF-VHF-UHF DxCluster, solar activity reports.Ohio State University ARC - W8LTPA3EPD Homepage - his 144 MHz EME experiencesPacket Radio Home Page - by N2WX of TAPR.Penn State ARCPI4ZLD Holland Radioclub de BevelandenPOPULAR COMMUNICATIONS magazinePotomac Valley Radio Club contest and DX services.Purdue ARC - W9YB.Quarter Century Wireless Assoc.QEX - the ARRL Experimenters Exchange archives.QRP-L - QRP info.QRZ Amateur Radio pageQSL Route Info - with update/insertion feature via IK4LZH.Radio Amateur Telecommunications Society - Packet Radio.Radio Central ARC - LI, NY.Radio City Inc. - MN Amateur radio dealer.RadioCommunications Agency (RA) - U.K.Radio Communications Monitoring Association scanner enthusiasts.Radio Control Systems Inc. HamstoreRadio Devices catalog - also lists available 1x2 calls.Radio Doctor - repair services.Radio Mods at ACLRRadio Mods at OAKRadio Mods at QRZRay Sarrio Co. catalogRobs Cobweb - New England area radio info.Radio Society of Great BritainRed Sprites & Blue Jets - Thunderstorms and the E-Layer.Repeater database - Open Amateur RepeatersRussian Robinson Club - prefixes of CIS (ex: USSR).Saint Lawrence Valley Repeater Association - Northern New York.San Diego County RACES - Shuttle tracking & elements.SARA - The Society of Amateur Radio AstronomersSAREX - Shuttle Amateur Radio EXperiment.Satellite Tracking - online predictions.Satellite TVRO - whats on and how to get it.Satscan Electronics TVRO productsSchool Into Space ProjectScott Ehrlichs Home PageSETI Institute Home PageSETI League - Search for ExtraTerrestrial Intelligence.Shortwave Radio catalog - ITRE HomepageShortWave - Spy Numbers Stations, Mac Ham software.
  19. 19. Signal Radio (U.K.)Sky & Telescope magazineSoftware, ELNEC Antenna modeling and analysis by W7EL.Software, HAMCALC, RFTOOLS - from UHAs EE Technology page.Software: Lan-Link Packet softwareSoftware, Linux For HamsSoftware, Logging (CT, Logplus support)Software, Logging (SD by EI5DI)Software, Macintosh Ham Radio Test Simulators by WD1VSoftware, Oakland University - the Oak Software Repository.Software: Personal Database ApplicationsSoftware, QRZ FTP archivesSoftware, QST related binariesSoftware, SimTel - the Coast to Coast Software Repository.Software, VHF - from FTP.FUNET.FISolar activity report from IPS10 cm. Solar FluxSound Radio Products Ham StoreSlow Scan TV - image communications info and pics.Slow Scan TV - WB4EJC page.Solar: AAA Solar Service and SupplySolar: Carrizo Solar CorporationSouth County ARES (CA)Southeast Michigan Amateur Radio WebSouthern California Transmitter HuntsSouth Jersey Radio AssociationSpace Calendar from JPL at NASA.Space Environment Laboratory - Ionospheric conditionsSpread Spectrum CommunicationsSSAG Amateur Radio Ground StationStandard Amateur Radio Products Inc.Stanford ARC (W6YX)St. Croix County (WI) Radio AmateursSuperCircuits ATV catalogTAPR Packet Radio-Internet gatewayTechnical University of Ilmenau - DK0TUI.Texas A&M University ARC - W5AC.Texas repeaters list by KB5VQIT.J. Alessi and AssociatesTRS Consultants - software by W2XQ.Tucker Electronics Amateur radio salesUALR ARCUniversity of British Columbia ARS - VE7UBC.University of Houston ARC - WB5FND.University of Manitoba ARS - VE4UM.University of Maryland ARA - (W3EAX).University of Michigan ARC - W8UM.University of Missouri - Columbia Amateur Radio ClubUniversity of Southwestern Louisiana - KC5OLL.University of Surrey (U.K.) Electronics ARS
  20. 20. University of Waterloo ARC - VE3UOW. U.S. Coast Guard - GPS, radionavigation, and notices. USENET FAQs on Radio Utah Army Mars Page Utah (Southern Utah) Amateur Radio Utah County Amateur Radio Valley Radio Club - Eugene, Oregon. VHF Communications Magazine (U.K.) VK4YEQ Home Page VOACAP HF propagation software. W2SZ VHF contest group and R.P.I. ARC. WA2WHV page - electronic animations. WA4FAT Web Explorer Waverley ARS - of Sydney, Australia WAVEs VHF-UHF-Microwave page Weather Maps, US frontal Weather Maps, US Radar/IR composite Weather Processor - US Surface WX Map w/ isobars Weather World - US Surface WX Map w/ isobars Weitere WWW Ham Server Western ARA - Fullerton, CA - N6ME. Western Electronic Surplus - online swap meet. Western Massachusetts - ARRL Section page. Western Washington DX Club WJ Ford Electronic Surplus Dealers Worcester Polytechnic Institute Wireless Association World-Wide Web Virtual Library: Amateur Radio WWW Virtual Library: Communications & Telecommunications Yaesu USA home page YAHOO WWW URL Search Index Yolo ARS - CA Youthnet NEWS OnlineCORREO ELECTRONICO PIME CORREO ELECTRONICO PINEEste manual va dirigido a todos aquellos usuarios que comienzan a utilizar el programade correo electrónico PINE.El documento contiene los comandos más básicos para poder leer mensajes, escribirmensaje, etc ...
  21. 21. Copyright © 1995, Servicio Informático de Somosaguas Universidad Complutense de Madrid Edición : M. Carmen Alvarez SantosEn cualquier referencia a este documento, debe mencionarse al Servicio Informático deSomosaguas de la Universidad Complutense de Madrid. En cualquier reproducción, yasea total o parcial, se debe incluir esta nota de copyright.CORREO ELECTRONICO : PINEEl PINE es un programa de correo electrónico, creado y mantenido por el grupo deComputing&Communications de la Universidad de Washington.El manual que se presenta a continuación, va dirigido a todos aquellos usuarios quecomienzan a utilizar el programa de correo electrónico PINE.El documento contiene los comandos básicos necesarios para poder leer mensajes,escribir mensajes, etc....Un mensaje está constituido por dos partes, cabecera y cuerpo:1. CABEZERA (HEADER):Corresponde al "sobre" de una carta, donde se pone la dirección del destinatario y otrasinformaciones que se verán más adelante.2. CUERPO (BODY):Corresponde al mensaje propiamente dicho.El manual que se presenta a continuación consta de las siguientes secciones: Acceso y salida del programa Pine Menú Principal Componer un mensaje con el Pine Lista de mensajes Leer un mensaje Contestar un mensaje Folders Grabar un mensaje Volver a enviar un mensaje Borrar un mensaje Lista de direcciones AttachmentAcceso y salida del programa Pine
  22. 22. Para entrar en el programa PINE, y utilizar el correo electrónico bastará con teclear:pine Para salir del programa, se pulsa la tecla Q (Quit) y el Pine nos pedirá confirmación:Really quit pine?Y [Yes]N NoMenú PrincipalUna vez que se ha entrado en el programa PINE, la pantalla que aparece corresponde alMenú Principal:Desde el Menú Principal, se puede consultar la ayuda, escribir y enviar un mensaje,mirar el índice de los mensajes, abrir o mantener las carpetas, actualizar las direccionesalmacenadas, configurar o actualizar el Pine, y salir del Pine.En la parte inferior de la pantalla figura una lista de los comandos que se puedenejecutar desde esta pantalla, indicando a la izquierda de cada uno la tecla que hay quepulsar para ejecutarlos.Entrar en la "ayuda" del Pine
  23. 23. Para leer la ayuda "online", se utiliza el comando Help, pulsando la tecla ? ; esto esválido no solo cuando estamos en esta pantalla, sino desde cualquier panralla. Para salirde la ayuda, teclear E (Exit Help).Componer un mensaje con el PinePara escribir un mensaje se utiliza el comando C (Compose), entonces aparece lasiguiente pantalla:La parte superior corresponde a la cabecera del mensaje, y la otra corresponde al"cuerpo" que es el mensaje propiamente dicho.CABECERA DEL MENSAJELa cabecera contiene los siguientes campos: To : en este campo se especifica la dirección de correo electrónico de la persona a laque se va a enviar el mensaje. Si se desea enviar el mensaje a varias personas, sepondrán las direcciones de éstas separadas por comas. Una vez que termine, pulse<return>.Si se quiere utilizar una de las direcciones de la lista de direcciones se pulsa Ctrl-T(mirar pág. ) Cc : en este campo se especifica la lista de direcciones de correo electrónico,separadas por comas, de las personas a las que se desea enviar una copia del mensaje.Cuando haya terminado, o si no desea enviar copias, pulsar <return>.
  24. 24. Attchmnt : este campo se utiliza para incluir en el mensaje un fichero que ya ha sidocreado con un procesador de textos, o con una hoja de cálculo, o una imagen, pero estosficheros deben de existir en el mismo ordenador en el que está ejecutando el Pine (verpág. ). Para obtener la lista de ficheros se pulsa Ctrl-TSi no desea incluir ningún fichero en el mensaje, pulse <return>. Subject : en este campo se especifica una pequeña descripción del mensaje, que leaparecerá al destinatario en la lista de mensajes. Cuando termine, pulse <return>.CUERPO DEL MENSAJEDespués de la línea "---- Message Text ----" se empieza a escribir el mensajepropiamente dicho, pudiéndose ejecutar los siguientes comandos:Ctrl-D Borrar el caracter en el que está el cursorCtrl-J Justificar el textoCtrl-Y Ir a la página anterior del textoCtrl-V Ir a la página siguiente del textoCtrl-K Borrar la línea en la que está el cursorCtrl-U Recuperar la última línea que se ha borradoInsertar un fichero de textoSi el mensaje que se desea enviar está en un fichero de texto, este se puede insertar en el"cuerpo" del mensaje utilizando el comando Ctrl-R (Read in a File).Los ficheros de texto son ficheros que han sido creados con un editor de texto, como porejemplo el Pico, que es el editor que utiliza el Pine para escribir los mensajes.Enviar un mensajeEnviar un mensaje. Después de haber escrito su mensaje, para enviarlo hay que pulsarCtrl-X (Send), y después y o pulsar <return>. Una copia del mensaje enviado se grabaen el folder sent-mail.Si se desea volver a enviar un mensaje se utiliza el comando F (Forward) o el comandoB (Bounce) (ver pág. 12).Cambiar de intención. Si una vez que se ha pulsado Ctrl-X para enviar el mensajedecide no enviarlo, deberá pulsar n en vez de y, y podrá continuar trabajando con sumensaje.
  25. 25. Si una vez que ha escrito el mensaje decide que desea enviarlo en otro momento deberápulsar Ctrl-O (Postpone).Para cancelar un mensaje, en cuyo caso se borrará, pulsar Ctrl-C (Cancel). Antes deborrar el mensaje, el programa pedirá confirmación.Lista de mensajesEl Pine almacena los mensajes que se reciben en el folder INBOX. Estos mensajespermanecen en este folder hasta que se borran o se grabn en otro folder.Mirar la lista de mensajes recibidos en el folder INBOXPara ver la lista de mensajes, hay que pulsar I en el Menú Principal, entonces aparece lasiguiente pantalla:El mensaje que figura en vídeo inverso es el mensaje que está seleccionado.La primera columna de la izquierda corresponde al "status" del mensaje, que puedeestar en blanco o contener alguno de los siguientes códigos:N si es un mensaje nuevo (que no se ha leido)+ si el mensaje ha sido enviado directamenteA si es un mensaje que se ha respondido (usando el comando Reply)D si el mensaje ha sido seleccionado para ser borrado.
  26. 26. El resto de las columnas corresponde al número del mensaje, la fecha en que ha llegadoel mensaje, la persona que lo envió, el tamaño y el asunto.En la parte inferior de la pantalla figuran algunos de los comandos que se puedenejecutar (para obtener el resto de los comandos se pulsa O (Other Commands)):? Help Para ir a la ayudaO OTHER CMDS Para obtener la lista de otros comandos disponiblesM Main Menu Para volver al Menú PrincipalV [ViewMsg] Para leer el mensaje (es equivalente a pulsar <return>)P PrevMsg Para seleccionar el mensaje anteriorN NextMsg Para seleccionar el mensaje siguiente- Prev Page Para ir a la página anteriorSpc Next Page Para ir a la página siguienteD Delete Para poner la marca de "borrado"U undelete Para quitar la marca de "borrado"R Reply Para contestar un mensajeF Forward Para enviar otra vez el mensaje.Leer un mensajePara leer un mensaje se hace lo siguiente:1. En el Menú Principal se ejecuta el comando I (Folder Index), con lo que aparece lalista de mensajes2. Una vez seleccionado el mensaje que se quiere leer, se pulsa V (ViewMsg) o<return>Entonces:Para leer el mensaje siguiente, pulsar N (NextMsg)Para volver a la lista de mensajes, pulsar I (Index)Contestar un mensaje
  27. 27. Una vez seleccionado el mensaje que se quiere contestar en la pantalla Folder Index, seteclea R (Reply), entonces el programa da opción de incluir el mensaje original en lacontestación:Include original message in Reply?Y Yes^C Cancel N [No]Posteriormente se procedería a contestar el mensaje, pudiéndose rectificar la cabeceradel mensaje (en caso de que sea necesario) antes de enviarlo.Imprimir un mensajeUna vez seleccionado el mensaje que se quiere imprimir en la pantalla Folder Index, seteclea Y (prYnt), entonces el programa pedirá confirmación antes de imprimir:Print message 26 using command "lpr"?Y [Yes]^C Cancel N NoObservemos que el comando Y (prYnt) no figura en la pantalla, a no ser que se ejecuteel comando O (OTHER CMDS) , pero se sabe que no es necesario que éste figure parapoder ejecutarlo.FoldersCon el programa PINE, los mensajes se pueden almacenar en diferentes "folders" o"carpetas". Estos folders, no son más que "lugares" donde se puede guardar cualquiermensaje.Cada persona puede crear sus propios folders, aunque el Pine posee tres específicos:folder INBOX Todos los mensajes que nos llegan se guardan en este folders. Cuandose ejecuta el programa Pine y en el Menú Principal se entra en el Folder Index, se puedever la lista de mensajes que hay en el folder Inbox.folder de mensajes grabados En este folder se almacenan las copias de los mensajesque se graban (mirar "grabar mensajes", pág. 11).folder de mensajes enviados Las copias de los mensajes que se envian se almacenanautomáticamente en este folder, y después se pueden volver a enviar."Limpieza" de folders
  28. 28. Hay que tener en cuenta que los mensajes que están en el INBOX o en otro folder,ocupan espacio de almacenamiento, y este espacio es limitado, por lo que se deben derevisar los folders para hacer "limpieza".Chequear con frecuencia el correo electrónico para mirar si hay mensajes nuevos.Un INBOX grande reduce el rendimiento: si se tiene una lista de mensajes demasiadogrande, el Pine necesita más tiempo para moverse entre los mensajes.Se deben de borrar los mensajes que ya no interesan o almacenarlos en otro folder.Periódicamente se deben de borrar los mensajes obsoletos de cualquiera de los folders.Una buena idea para conservar espacio sería borrar los mensajes del folder de mensajesenviados, de por ejemplo el mes anterior.Moviéndose entre foldersCuando se entra en el Pine y se pulsa I (Index) del Menú Principal, se ve la lista demensajes que hay en el folder INBOX. Si se desea ver los mensajes que hay en otrofolder, es necesario acceder al folder deseado.Cómo acceder a un folder y a los mensajes almacenados en él1. Desde el Menú Principal ejecutar el comando L (Folder List), para obtener la lista defolders que se tienen.2. Utilizar las teclas de movimiento para marcar un folder determinado.
  29. 29. 3. Pulsar V (ViewFldr) o <return>.Observemos que en la parte inferior de la pantalla de la lista de folders, figuran unoscomandos que permiten borrar D (Delete) , crear A (Add) y renombrar R (Rename)folders.Cómo acceder a un folder desde otro folder1. Pulsar G (Goto Fldr) , entonces aparece en pantalla:GOTO folder in <Mail/[]> :2. Teclear el nombre del folder a que se desea acceder.Si no se acuerda del nombre del folder, pulsar Ctrl-T (ToFldrs) para obtener la lista defolders, y seleccionar el folder deseado utilizando las teclas de movimiento.3. Pulsar <return> , con lo que se obtiene la lista de mensajes del folder especificado.Crear un folderPara crear un folder, se hace lo siguiente:1. Pulsar L (Folder List) en el Menú Principal2. Para crear el folder, pulsar A (Add), y el programa nos preguntará el nombre que sedesea dar al nuevo folder:Name of folder to add :^G Help^C Cancel Ret AcceptBorrar un folderPara borrar un folder y todos los mensajes que contiene, se hace lo siguiente:1. Pulsar L (Folder List) en el Menú Principal2. Utilizar las teclas de movimiento para marcar el folder que se desea borrar3. Para borrar el folder con todos los mensajes que contiene, pulsar D (Delete).El programa Pine nos pedirá confirmación antes de borrar:Really delete "carmen"?Y Yes^C Cancel N [No]
  30. 30. 4. Si se teclea y (yes) se borrará el folder y todos los mensajes contenidos en él. Elfolder desapare, y no se puede volver a recuperar.Cambiar de nombre un folderPara cambiar de nombre un folder, se hace lo siguiente:1. Pulsar L (Folder List) en el Menú Principal2. Utilizar las teclas de movimiento para marcar el folder que se desea cambiar denombre3. Para renombrar el folder, pulsar R (Rename), y el programa nos preguntará elnombre que se desea dar al folder seleccionado:Rename folder to : received^G Help^C Cancel Ret AcceptGrabar un mensajeSi se desea grabar un mensaje, éste puede almacenarse en el folder de mensajesgrabados o en otro folder que se especifique.Una vez que se ha grabado un mensaje, la copia del folder INBOX se marcaautomáticamente para ser borrado. Cuando se sale del programa Pine, nos pediráconfirmación para borrar el mensaje marcado con D del folder INBOX.Grabar un mensaje en el folder de "mensajes grabados"1. Pulsar I (Folder Index) en el Menú Principal2. Utilizar las teclas de movimiento para marcar el mensaje que desea grabar, y pulsar S(Save). En la pantalla aparecerá:SAVE to folder in <Mail/[]> [savedmessages]:^G Help ^T To Fldrs TAB Complete^C Cancel Ret Accept3. Pulsar <return> y el programa Pine graba el mensaje en el folder de "mensajesgrabagos" y le pone la marca para ser borrado, mostrando en pantalla el siguientemensaje:[Message 17 copied to "savedmessages" in <Mail/[]> and marked deleted]Grabar un mensaje en un folder especifico
  31. 31. 1. Pulsar I (Folder Index) en el Menú Principal2. Utilizar las teclas de movimiento para marcar el mensaje que desea grabar, y pulsar S(Save). En la pantalla aparecerá:SAVE to folder in <Mail/[]> [savedmessages]:^G Help ^T To Fldrs TAB Complete^C Cancel Ret Accept3. Teclear el nombre del folder donde se desea grabar el mensaje y pulsar <return>.Por ejemplo si se desea grabar el mensaje en el folder "noticias", se teclea noticias y sepulsa <return>.Si el nombre del folder especificado no existe, aparecerá en la pantalla el siguientemensaje:Folder "noticias" in <Mail/[]> doesnt exist. Create?Y [Yes]^C Cancel N NoPulsando y (yes) o <return> se crea el folder "noticias".El mensaje se graba en el folder que se acaba de crear y le pone la marca para serborrado, mostrando en pantalla el siguiente mensaje:[Message 19 copied to "noticias" in <Mail/[]> and marked deleted]Grabar un mensaje en un fichero1. Pulsar I (Folder Index) en el Menú Principal2. Utilizar las teclas de movimiento para marcar el mensaje que desea grabar, y pulsar E(Export). En la pantalla aparecerá:EXPORT: (copy message) to file in home directory:^G Help^C Cancel Ret AcceptDonde se especificará el nombre del fichero donde se desea grabar el mensaje. Pordefecto, el fichero se grabará en el "home directory", por lo que si se desea grabar enotro directorio habrá que especificarlo.Volver a enviar un mensaje
  32. 32. Para volver a enviar un mensaje , se puede utilizar el comando F (Forward) o el B(Bounce). La diferencia entre ambos radica en que con el comando B (Bounce) sólo sepuede modificar el campo To de la cabecera del mensaje, es decir, la dirección decorreo; sin embargo, si se utiliza el comando F (Forward), se puede modificar el restode los campos de la cabecera, e incluso el contenido del mensaje.En ambos casos se procedería de la siguiente forma:1. Pulsar I (Folder Index) en el Menú Principal2. Utilizar las teclas de movimiento para marcar el mensaje que desea volver a enviar, ypulsar F (Forward o B (Bounce) . Enronces:si se ha utilizazado el comando B, en la pantalla apareceráBOUNCE (redirect) message to :^G Help^C Cancel Ret AcceptSi se ha utilizado el comando F, en la pantalla aparecerá una copia del mensaje que sedesea enviar. En la cabecera del mensaje se pone la dirección de correo electrónico de lapersona a la que se desea reenviar el mensaje, y se envía de la forma habitual.Obsérvese que el mensaje original puede modificarse, por ejemplo, reenviando sólo unaparte del mensaje, o añadiendo algo.Borrar un mensajeYa hemos visto que cuando se borra un folder, automáticamente se borran todos losmensajes que contienen.Si se desea borrar un determinado mensaje, habrá que ponerle previamente una "marcade borrado", para locual se seguirán los pasos siguientes:1. Pulsar I (Folder Index) en el Menú Principal, con lo que aparecerá la lista demensajes contenidos en el folder INBOX (si se desea obtener la lista de mensajes deotro folder, se ha de mover a dicho folder (ver pág. 9)).2. Utilizar las teclas de movimiento para seleccionar el mensaje que desea borrar.3. Pulsar D (Delete) en cada uno de los mensajes en los que se desea poner una "marcade borrado".Cuando se salga del programa Pine, se borrarán todos aquellos mensajes que contenganuna "marca de borrado", pidiendo antes confirmación:Expunge the 8 deleted messages from "INBOX"?
  33. 33. Y [Yes]N Noentonces:si se pulsa y (yes) se borrarán los mensajes marcadossi se pulsa n (no) cuando se vuelva a entrar en el Pine los mensajes tendrán la "marcade borrado"Para quitar una "marca de borrado" se utiliza el comando U (Undelete).Lista de direccionesHay algunas direcciones de correo electrónico que son difíciles de recordar o de teclear.El Pine permite utilizar direcciones contenidas en una lista de direcciones de correo depersonas individuales o de un grupo de personas (lista de distribución).Para acceder a la lista de direcciones, se ejecuta el comando A (Address Book), en elMenú Principal:Para incluir una dirección en la lista de direcciones, se puede hacer manualmente oextrayéndola de un mensaje.Añadir una dirección manualmente1. Desde el Menú Principal, teclear A (Address Book).
  34. 34. 2. Teclear A (Add), y en pantalla aparece:New full name (Last, First):^G Help^C Cancel Ret Acceptdonde se especifica el nombre de la persona cuya dirección de correo se va a añadir a lalista . Una vez rellenado este campo y pulsado <return>, aparecerá en pantalla:Enter new nickname (one word and easy to remember):^G Help^C Cancel Ret Acceptdonde se especifica el alias correspondiente a la dirección de correo.Una vez rellenado este campo y pulsado <return>, aparecerá en pantalla:Enter new email address:^G Help^C Cancel Ret AcceptDonde se especifica la dirección de correo electrónico que se desea almacenar en la listade direcciones.Añadir una dirección procedente de un mensaje1. En el Menú Principal, teclear I (Folder Index) y seleecionar el mensaje deseado.2. Teclear T (Take Address). El comando T no aperece en pantalla, a no ser que seteclee O (Other Commands), pero no es necesario ver el comando en la pantalla parapoderlo ejecutar. En la pantalla aparecerá:Enter new nickname (one word and easy to remember): marisol^G Help ^T To AddrBk^C Cancel Ret Acceptdonde se especifica el alias, por ejemplo, marisol. A continuación nos pedirá el nombrede la persona a la que corresponde la dirección de correo que se va a añadir a lista dedirecciones:Enter new Full Name (Last, First): Marisol Fernandez Lara^G Help
  35. 35. ^C Cancel Ret AcceptY por último, pedirá confirmación antes de incluir la dirección de correo en la lista dedirecciones:Edit new email address: marisol@seneca.fis.ucm.es^G Help^C Cancel Ret AcceptAñadir un grupo de direccionesSi frecuentemente se necesita enviar mensajes a un grupo de personas, se puede crearuna lista de direcciones. De esta forma no será necesario especificar cada una de lasdirecciones para enviar un mensaje al grupo creado.Para crear una lista de direcciones, se hará lo siguiente:1. Desde el Menú Principal, teclear A (Address Book).2. Teclear S (CreateList), y en pantalla aparece:Long name/description of new list:^G Help^C Cancel Ret Acceptdonde se especifica el nombre de la lista correspondiente al grupo de personas que sevan a incluir en la lista de distribución. Una vez rellenado este campo y pulsado<return>, aparecerá en pantalla:Enter list nickname (one word and easy to remember):^G Help^C Cancel Ret Acceptdonde se especifica el alias correspondiente a la lista de direcciones de correo.Una vez rellenado este campo y pulsado <return>, nos pedirá una a una la dirección decorreo de cada una de las personas que van a formar el grupo:Enter 1st address or blank when done:^G Help^C Cancel Ret AcceptUtilizar una dirección de la lista de direcciones, al componer un mensaje
  36. 36. Cuando se va a rellenar el campo To: o el Cc: se pueden utilizar direcciones que esténincluidas en la lista de direcciones. Para ello bastará con especificar en dichos campos el"alias" de la dirección que se quiere incluir. En el caso de que no se acuerde de dichoalias, puede pulsar Ctrl-T para obtener la lista de direcciones, y una vez en ellaseleccionar la dirección o grupo de direcciones, que se desee.AttachmentSi nos envian un mensaje con "attachments", éstos pueden estar en texto o en binario.Veamos cómo proceder para poder leer estos mensajes dependiendo del código en elque llegue.Supongamos que nos han enviado el siguiente mensaje con "attachment" :Observar que en la parte de la cabecera aparece el campo "Part/attachments", que es loque nos avisa que existen "attachments".Para visualizar la parte de "attachment" se ejecuta el comando V (ViewAttch),apareciendo en pantalla:
  37. 37. Observemos que este mensaje contiene una parte en texto y otra en binarrio:Para leer la parte de texto, basta con ejecutar el comando V (View)La parte que está en binario no se puede visualizar desde el Pine, por lo que habrá quegrabarla en un fichero y después utilizar el programa que corresponda para visualizarlo.Para ello se ejecuta el comando S (Save) , y en la pantalla aparecerá:Copy attachment to file in home directory: SEBK13.GIF^G Help^C Cancel Ret AcceptSi se desea modificar el nombre del fichero donde se quiere grabar, se epecificará dichonombre y se pulsará <return>; si no bastará con pulsar <return>.CURSO DE PASCALEl lenguaje de Turbo PascalPalabras reservadasIdentificadoresTipos de datosVariables y constantesComentariosLa estructura de los programas
  38. 38. Estructura de los programasSentencia PROGRAMDeclaración de unidadesDeclaración de constantes, tipos y variablesPrograma principalEjecución de los programasCompilación y ejecución en memoriaCompilación al discoLa operación de asignaciónAsignación o igualaciónEntrada y salida de datosSalida de datos a la pantallaEntrada de datos desde tecladoTipos de datosTipos enterosTipos realesTipos caracterTipos cadenasTipos lógicos Palabras reservadasPara poder programar en cualquier lenguaje es necesario conocer los códigosmediante los cuales podamos expresar las tareas que queremos realizar. ElTurbo Pascal, como lenguaje de programación poseé su propio código conpalabras de uso exclusivo para ciertas funciones, a estas palabras lesllamaremos palabras reservadas de Turbo Pascal.Las palabras reservadas de Turbo Pascal (versiones 6.0 o mayores) son: Pascal Estandar y Turbo Pascal 6.0 AND ARRAY BEGIN CASE CONST DIV DO DOWNTO ELSE END FILE FOR FORWARD FUNCTION GOTO IF IN LABEL MOD NIL NOT OF OR PACKED PROCEDURE PROGRAM RECORD REPEAT SET THEN TO TYPE UNTIL VAR WHILE WITH Turbo Pascal
  39. 39. ABSOLUTE ASM DESTRUCTOR IMPLEMENTATION INTERFACE OBJECT PRIVATE SHR UNIT VIRTUAL CONSTRUCTOR EXTERNAL INLINE INTERRUPT SHL STRING USES XOREstas palabras no pueden ser usadas como identificadores (siguiente tópico)ya que cada una de ellas tiene una función definida en Turbo Pascal. IdentificadoresLos identificadores son palabras que representan constantes, variables, tiposde datos, procedimientos, funciones y algunos otros datos. Existen dos tiposde identificadores: los predefinidos de Turbo Pascal y los definidos por elprogramador.Algunos de los identificadores predefinidos son: integer, real, byte, sin, ...Los identificadores definidos por el programador son los elementos dellenguaje tales como variables, procedimientos, funciones, etc.Un identificador es una secuencia de 1 a 127 caracteres, que inicia con unaletra, no tienen espacios ni símbolos: &, !, *, etc. y no es alguna palabrareservada.Para el Turbo Pascal no existen diferencias entre mayúsculas y minúsculas, asíque a un identificador denominado "valor" se le puede referir como "VALOR"o "VaLoR".Todo identificador en Pascal debe ser definido previamente a su utilización. Tipos de datosEl manejo de la información en Turbo Pascal se realiza mediante diferentesclases de datos. En este apartado se tratarán los principales tipos y conformese vayan necesitando se explicaran los demás. Integer Números enteros sin parte decimal. Char Caracteres del código ASCII Boolean Pueden contener los valores de falso o verdadero Real Números que pueden incluir una parte decimal String En una secuencia de caracteres que se trata como un solo dato.
  40. 40. Variables y constantesLos tipos de datos que manejaremos en nuestro programa pueden ser de dosclases: variables o constantes.Como su nombre lo indica las variables pueden cambiar a lo largo de laejecución de un programa, en cambio las constantes serán valores fijosdurante todo el proceso.Un ejemplo de una variable es cuando vamos a sumar dos números que seránintroducidos por el usuario del programa, éste puede introducir dos valorescualesquiera y no sería nada útil restringirlo a dos valores predefinidos, asíque dejamos que use los valores que el necesite sumar.Ahora, si nuestro programa de operaciones matemáticas va a utilizar el valorde PI para algunos cálculos podemos definir un identificador PI con el valorde 3.1415926 constante, de tal forma que PI no pueda cambiar de valor, ahoraen lugar de escribir todo el número cada vez que se necesite en nuestroprograma, solo tenemos que escribir PI.Las variables y constantes pueden ser de todos los tipos vistos anteriormente:numéricos tanto enteros como reales, caracteres, cadenas de caracteres, etc. ComentariosEs posible introducir comentarios en nuestro programa que sirvan unicamentepara mejorar la comprensión del código fuente.Un comentario no es tomado en cuenta al momento de la compilación delprograma y es de enorme importancia al momento de crearlo, modificarlo omantenerlo.Existen dos formas de colocar comentarios en un programa de Turbo Pascal,entre llaves: {Comentario} o entre parentesis y asteriscos: (*Comentario*). Estructura de los programasEl lenguaje utilizado en Turbo Pascal es estructurado, lo que significa quecada programa requiere una forma específica de escritura para que seaentendido por el compilador.Todo programa cuenta con algunas partes o módulos los cuales son: Cabecera
  41. 41. Declaraciones ProgramaLa cabecera del programa unicamente lleva el nombre del programa. En lasección de declaraciones se le indica al compilador todos los identificadores yunidades que se utilizarán durante la ejecución del programa. En la seccióndel programa se escribe el código de instrucciones que se llevarán a cabo. Sentencia PROGRAMLa sentencia PROGRAM es la declaración del nombre del programa.Consta de tres partes: la palabra reservada PROGRAM, a continuación unidentificador utilizado como el nombre del programa y al final un punto ycoma ";". Por ejemplo: PROGRAM suma_de_dos_numeros ;Esta declaración es siempre la primer linea en cualquier programa de TurboPascal. Declaración de unidadesLas unidades son módulos independientes del programa que, aunque no sonejecutables por si mismos, pueden ser utilizados por el programa principal sinnecesidad de reescribir el código que contienen. Para la utilización de estos"subprogramas" es necesaria su declaración.La palabra reservada USES cumple el propósito de declarar las unidades en elformato siguiente: USES crt, dos;Esta linea declara y habilita para su uso a la unidad crt y a la unidad dosCada unidad que se declara debera estar separada de la siguiente por unacoma. Al final de todas las unidades declaradas se deberá colocar un punto ycoma ";". Declaración de constantes y variablesPara declarar las constantes se utiliza la palabra reservada CONST seguida deun identificador al que se le dará un valor determinado, un signo de igual "=",el valor que recibirá el identificador y al final un punto y coma ";". Ejemplo: CONST pi = 3.1415926;
  42. 42. De esta forma el identificador pi recibirá el valor de 3.1415926 y no seráposible cambiarlo en el transcurso del programa.Es posible declarar varias constantes sucesivamente, puede ser una porrenglón o varias en un solo renglón. Cuando se hace ésto, la palabra CONSTsolo se pone una sola vez como cabecera y a continuación todas las constantespor definir. Ejemplo: CONST PI = 3.1415926; Nombre = Juan Gutiérrez; Unidad = 1;Otra forma de escribir lo mismo es así: CONST PI = 3.1415926; Nombre = Juan Gutiérrez; Unidad = 1;Pero por cuestiones de legibilidad es preferible la primera opción.La declaración de variables se lleva a cabo de la misma forma, solo que enlugar de la palabra CONS utilizamos la palabra VAR, y en lugar de "= valor;",utilizamos : tipo , sustituyendo "tipo" por alguna clase válida de datos enTurbo Pascal. Ejemplo: VAR Num_entero : Integer; Nombre : String; Programa principalDespues de haber realizado todas las declaraciones se puede iniciar con elprograma principal. (Es posible, antes del programa, declarar las funciones yprocedimientos, pero eso se analizará posteriormente).El programa principal inicia con la palabara reservada BEGIN y termina conla palabra END., esta última con un punto al final.Cada linea de código, enunciado, sentencia o instrucción completa que seescriba deberá terminar con un punto y coma ";".Solo se omitirá el punto y coma cuando se utiliza la palabra reservada ELSE.Aunque puede también omitirse si la siguiente expresión es END o UNTIL.Ya conociendo la estructura es posible escribir un primer programa:PROGRAM Primera_Prueba;VAR
  43. 43. Entero : Integer;CONSTMensaje = Introduce un valor entero: ;Respuesta = El valor es: ;BEGINWrite(Mensaje);{Escribe en pantalla el mensaje definido como constante}ReadLn(Entero);{Lee un valor de teclado y lo almacena en la variable Entero}WriteLn(Respuesta, Entero);{Escribe en pantalla el contenido de Respuesta y el valor que se ingresó de teclado}END.Como podrá apreciarse, no es importante el orden en el que se declaran lasvariables y constantes (aplicable solo al Turbo Pascal), es decir, puedendeclararse primero las variables y luego las constantes y viceversa:PROGRAM Primera_Prueba;CONSTMensaje = Introduce un valor entero: ;Respuesta = El valor es: ;VAREntero : Integer;BEGINWrite(Mensaje);{Escribe en pantalla el mensaje definido como constante}ReadLn(Entero);{Lee un valor de teclado y lo almacena en la variable Entero}WriteLn(Respuesta, Entero);{Escribe en pantalla el contenido de Respuesta y el valor que se ingresó de teclado}END. Compilación y ejecución en memoriaLa compilación de un programa es el paso mediante el cual traducimos dichoprograma al lenguaje maquina entendible por la computadora.Para lograr la compilación en el entorno integrado de desarrollo de TurboPascal se utiliza la opción Compile del menú del mismo nombre. Para accesaral menú se utiliza la secuencia de teclas: [ALT] + [C], y luego se escoge laopción Compile.Otra forma de realizar la compilación es con la secuencia de teclas: [ALT] +[F9].Es posible compilarlo y ejecutarlo automaticamente utilizando la secuencia:[CONTROL] + [F9]
  44. 44. Compilación al discoPara poder ejecutar un programa sin necesidad de llamar al entorno integradode desarrollo de Turbo Pascal es necesario compilar el programa al disco.Para hacer esto es necesario activar la opción Destination a Disk, esto se haceentrando al menú Compile, se selecciona la opción Destination y se presiona[Enter], de esta forma se cambia el destino de compilación de memoria a discoo viceversa (Dependiendo de la opción seleccionada actualmente).Una vez compilado un programa en el disco es posible ejecutarlo directamentedesde el sistema operativo. Asignación o igualaciónLa operación de asignación es una de las más utilizadas en Turbo Pascal yaque nos permite darle un valor determinado a las variables que declaramos enel programa o lo que es lo mismo, igualarla a algún valor determinado.El símbolo utilizado para la operación es los dos puntos seguidos por un signode igual := , a la izquierda de dicho símbolo se coloca el identificador al quese le asignará un nuevo valor y a la derecha se colocará un identificador oalgún valor directo que se almacenará en el primer identificador. Ejemplo: Nombre := Juan Pérez; {Nombre guardará la cadena "Juan Pérez"} Resta := Numero1 - Numero2; {Resta gurdará el resultado de la resta de Numero2 a Numero1} Area := (Base*Altura)/2; {Obtiene el area de un triangulo y la guarda en el identificador Area}Es indispensable para todo programa que cuente con la capacidad de manejarentradas y salidas de información, ya que sin estas capacidades sería unprograma inútil. Salida de datos a la pantallaLas instrucciones que permiten mostrar datos en la pantalla de la computadorason: Write y WriteLn. Aunque ya se hizo uso de ellas en los pequeñosprogramas anteriores de ejemplo, aqui se describirán a fondo.La sintaxis de los procedimientos es la siguiente: Write (indentificadores); WriteLn (indentificadores);
  45. 45. Donde los identificadores son aquellos que contienen la información que sedesea mandar a la pantalla. Es posible utilizar varios de ellos por cadainstrucción Write o WriteLn, unicamente se separan unos de otros por comas",". Ejemplo: Write (Nombre, ApellidoP, ApellidoM);Esta linea de código desplegará consecutivamente los contenidos de losidentificadores Nombre, ApellidoP y ApellidoM. En caso de que la variableNombre almacenara el valor Rodrigo , la variable ApellidoP González y lavariable ApellidoM García, el resultado en pantalla sería: Rodrigo González GarcíaPodemos obtener el mismo resultado si utilizamos la siguiente estructura: Write (Nombre); Write (ApellidoP); Write (ApellidoM);Si en lugar de utilizar la instrucción Write hacemos uso de WriteLn con lamisma sintaxis del ejemplo anterior: WriteLn (Nombre); WriteLn (ApellidoP); WriteLn (ApellidoM);lo que obtendriamos sería: Rodrigo González GarcíaDe este ejemplo es posible concluir que la diferencia entre las instruccionesWrite y WriteLn es que esta última imprime el contenido de losidentificadores y cambia el cursor al siguiente renglón de la pantalla, y laprimera solo escribe el contenido y deja el cursor al final del dato escrito. Entrada de datos desde tecladoLas instrucciones estandar de Turbo Pascal para obtener datos desde el tecladoson Read y ReadLn. La sintaxis de estas instrucciones es muy parecida a lade Write y WriteLn: Read (Identificador);El identificador puede ser cualquier variable definida previamente, NO puedeser una constante. Puede ser también un conjunto de variables, separadas entrecomas, en este caso se guardara el primer valor dado antes del [Enter] en el
  46. 46. primer identificador proporcionado, luego el segundo y así sucesivamentehasta el último identificador.La diferencia en el uso de la instrucción Read con respecto a ReadLn es queen la primera, si se le dan mas datos de los que se introducirán se guardan enun buffer y se usarán en la siguiente instrucción Read o ReadLn del programa,en cambio ReadLn ignora todo dato posterior a los que esten definidos en lainstrucción.En caso de que se le indique a Read o ReadLn que lea un tipo específico devalor, y se le proporcione otro diferente se generará un error y se detendrá laejecución del programa.Tipos de datosUn programa debe ser capaz de manejar diferentes tipo de datos, como puedenser números enteros, reales, caracteres, cadenas de caracteres, etc. Para lograrel manejo de toda esta información Turbo Pascal proveé diferentes tipos dedatos para los identificadores que se utilizarán. Algunos de los másimportantes se citan en seguida: Tipos enterosEn esta categoría Turbo Pascal cuenta con 5 tipos diferentes, cada uno abarcaun rango específico de valores y utilizan una diferente cantidad de memoriadependiendo de ese rango. Naturalmente el trabajar con rangos menores nosofrece una mayor velocidad y menor espacio en memoria, pero si se utilizanenteros largos se cuenta con mayor presición. Los tipos de enteros en TurboPascal son: Tipo Rango de valores que acepta Integer -32,768 a 32,767 Word 0 a 65535 ShortInt -128 a 127 Byte 0 a 255 LongInt -2,147,483,648 a 2,147,483,648Al utilizar los tipos enteros es posible representar en el programa un númeroen formato hexadecimal, para hacer esto solo se le antepone el símbolo "$" alvalor hexadecimal, al momento de visualizar dicho valor, o utilizarlo enalguna operación será como decimal. Por ejemplo: Cantidad := $10;
  47. 47. El valor que se guarda en "Cantidad" es 16. Tipos realesLos números reales son aquellos que cuentan con una parte decimal. En TurboPascal contamos con varios tipos de datos reales, pero no se puede utilizar,mas que el tipo real, en máquinas que no cuenten con un coprocesadormatemático. Los tipos de datos reales son: Tipo Rango de valores que acepta Real 2.9E-39 a 1.7E38 Single 1.5E-45 a 3.4E38 Double 5.0E-324 a 1.7E308 Extended 1.9E-4851 a 1.1E4932 Comp -9.2E18 a 9.2E18Los números reales deben llevar por fuerza al menos un dígito de cada ladodel punto decimal así sea éste un cero. Como ejemplo, el número 5 deberepresentarse como: 5.0, el .5 como 0.5 , etc.En este tipo de datos se utiliza la notación científica, que es igual a la de lascalculadoras, el dígito que se encuentra a continuación de la E representa lapotencia a la que se elevará el número 10 para multiplicarlo por la cantidad ala izquierda de dicha E: 3.0E5 = 3.0 * 10^5 = 3.0 * 100000 = 300000 1.5E-4 = 1.5 * 10^-4 = 1.5 * 0.0001 = 0.00015 Tipos caracterLos caracteres son cada uno de los símbolos que forman el código ASCII, eltipo estándar de Pascal para estos datos es Char. Los caracteres se especificanentre apostrofes: a B 2 #El tipo Char es un tipo ordinal de Pascal, ésto quiere decir que sus elementosválidos siguen una secuencia ordenada de valores individuales. La secuenciade caracteres para este tipo corresponden al número del código ASCII, del 0 al255.Es posible accesar a cada uno de los caracteres utilizando un signo # antes desu valor correspondiente, por ejemplo, la letra A puede ser representada como#65, el retorno de carro, o enter, se representa como #13, y así cualquiercaracter.
  48. 48. Tipo cadenaLas cadenas son secuencias de caracteres o arreglos que tienen una longitudmaxima de 255 caracteres. Se definen entre apostrofes. El tipo de Pascal paralas cadenas es String. PROGRAM Cadena; VAR Nombre : String; BEGIN Nombre := Ernesto Chávez; WriteLn (Nombre); END.Este programa guarda la cadena Ernesto Chávez en la variable definida comotipo string, y la visualiza en la pantalla por medio de la instrucción WriteLn.El tamaño por defecto para un tipo string es de 255 caracteres, pero es posibledefinir uno mas pequeño utilizando el siguiente formato: Variable : String[Tamaño];Donde Variable es la variable a definir y Tamaño es el número maximo decaracteres que podrá contener esa variable (naturalmente mayor a 0 y menor a256).Es posible acceder a un solo caracter de una cadena utilizandoinmediatamente despues del nombre de la misma la posición del caracterencerrada entre corchetes. Por ejemplo: PROGRAM Cadena01; VAR Nombre : String[30]; {Permite un máximo de 30 caracteres en la variable} BEGIN Nombre := Ernesto Chávez; WriteLn (Nombre[5]); {Visualiza el 5to caracter de la cadena} END. Tipos lógicosEste tipo de datos tienen la peculiaridad de que solo pueden tomar dos tipos dedatos: verdadero o falso, el verdadero puede ser representado por su nombre
  49. 49. en inglés: True y el falso por False; también se representan por 1 y por 0respectivamente.El tipo está definido como Boolean.Los datos lógicos tienen una enorme aplicación en la evaluación de ciertosprocesos, así como en el control de flujo de los programas.

×