1. INSTITUTO TECNOLOGICO DE TAPACHULA
Nombre Del Alumno:
Sheyla Berenice Martínez Ramos
Lorenzo Eli López Sánchez
Jhony Manuel López Vázquez
Luis Enrique Martínez Martínez
Nombre De La Carrera:
Ingeniería En Sistemas Computacionales
Nombre Del Profesor:
MC. en C. C. Anamim Villarreal Wong
Nombre De La Materia:
Programación Lógica y Funcional
2. ¿POR QUÉ ELEGIMOS LA NOTACIÓN HÚNGARA?
Primeroque nada debemospreguntarnos¿porqué haceruna programaciónde calidad?Porque la
calidadexternadel software guardauna relacióndirectacon la calidadinternadel mismo,esdecir
con su estructura y codificación.
Todos queremos construir software correcto, robusto, extensible y reusable. Debemos ser
conscientes que el mejor camino para lograrlo, está precisamente en hacer una programación de
calidad.
Existen además otras razones de mucha importancia para aplicar técnicas de buena codificación.
Como desarrolladoresnopodemosolvidarque el códigofuente se mantiene yreutiliza,conloque
para facilitar estas tareas debemos cuidar nuestra programación.
El objetivo del presente trabajo es presentar de una forma simple, informal y no demasiada
ordenada, algunas características particulares, así como otras generales, para el ejercicio de una
buena codificación.
Esta notación está basada en parte en CamelCase, específicamente la lowerCamelCase. En su
versiónmásbásica,tenemosvariostiposde datoslosquerecibenunaletra.De esaforma,unstring
recibirála letra s, un int la letra i,un decimal laletra d. Un arreglorecibirápor supuestolaletra a.
Teniendo eso en cuenta, y combinándola con la CamelCase no resulta difícil pensar en qué sigue:
Un nombre cualquiera para nuestra variable siguiendo las reglas del CamelCase.
De estaforma,podemostener:
aIndicadorResultados
iContador
sPrimerNombre
Y así se continúa.De estaforma,consóloun miropodemossaberde qué tipoesnuestravariable,y
mediante CamelCase (asignándole un nombre significativo) podremos saber cuál es su función, lo
cual encuentro ideal enun lenguaje como PHP donde una misma variable puede ser un float o un
bit al momento siguiente.
Elegimos esta convención porque así es más fácil identificar qué tipo de dato es nuestra variable,
dandoasíinformaciónnosolodeltipodedatosinotambiénde sufunción dentrodenuestrocódigo.
NOTACIÓN HUNGARA
En programación,lanotaciónhúngaraesunsistemausadonormalmenteparacrearlosnombresde
variables.Tambiénse utilizaparanombrar las instanciasde objetosenlenguajesde programación
visuales,comoporejemploDelphi.El nombrede lanotaciónprovienedelhechode quesuinventor,
Charles Simonyi, nació en Hungría.
Esta convención es muy poco utilizada en las viejas versiones de Delphi pero es muy utilizada por
los programadores de Microsoft y, en particular, en la programación del sistema operativo
Windows.
3. Consiste en prefijos en minúsculas que se añaden a los nombres de las variables y que indican su
tipo. El resto del nombre indica, lo más claramente posible, la función que realiza la variable.
A continuaciónse muestraunlistadode losprefijosque se utilizan:
Prefijo Significado
a 'array'. Para vectores/matrices/listasde ndimensionesordenadasescalarmente.
b Booleano(int).Paravariablesque tomensolodostiposde valores.
by BYTE o UCHAR (unsignedchar)
c Carácter (unbyte).Parael tipoprimitivode carácteralfanuméricoindividual.
dw Enterolargo de 32 bitssinsigno (double word)
f Flagsempaquetadosenunenterode 16 bits
h Manipuladorde 16 bits (handle)
i
'int'.Para númerosenterosengeneral,tantoenterosnormalescomoaquellostipos
enterosde máscapacidad (comolong).
l Enterolargo de 32 bits
lbl ObjetoLabel
lp Punteroa enterolargode 32 bits
lpfn Punterolargoa una funciónque devuelve unentero
lpsz Punterolargoa una cadenaterminadaconcero
n Enterode 16 bits
p Punteroa enterode 16 bits
e Enumeración
pt Coordenadas (x,y) empaquetadasenunenterode 32 bits
4. rgb Valorde color RGB empaquetadoenunenterode 32 bits
sz Cadenaterminadaencero
txt Cajasde texto
w Enterocorto de 16 bitssinsigno (word)
Ejemplode cómoutilizarlanotaciónHúngara:
nContador: la variable es un entero que se usará como contador.
szNombre: una cadena terminada con cero la cual almacena un nombre.
bRespuesta: una variable booleana que almacena una respuesta.
txtHora: una instancia de un objeto textbox que almacena la hora.
HISTORIA
La notaciónhúngaraoriginal,queahorase llamaría Aplicacioneshúngaro,fueinventadaporCharles
Simonyi, un programador que trabajaba en Xerox PARC circa 1972-1981, y que más tarde se
convirtióenarquitectojefede Microsoft.Puedehabersidoderivadodel principioanteriordeutilizar
la primera letra del nombre de una variable para ajustar su tipo - por ejemplo, las variablescuyos
nombres comenzaron con las letras I a N en FORTRAN son enteros por defecto.
La notaciónes una referenciaa la naciónde Simonyi de origen,nombresde laspersonashúngaras
se "invierten" en comparación con la mayoría de los nombres europeos, el apellido precede al
nombre. Por ejemplo, el nombre anglicismo "Charles Simonyi" en húngaro era originalmente
"Charles Simonyi". De la misma manera el nombre del tipo precede al "nombre" en la notación
húngara en lugar de la más natural, la mayoría europeos, "type última" Smalltalk nombramiento
estiloporejemplounPuntoylastPoint.Este estilode denominaciónestaúltimaeramás comúnen
el Xerox PARC durante el mandato de Simonyi allí.
El nombre Aplicaciones húngaro fue acuñado desde que la convención se utilizó en la división de
aplicaciones de Microsoft. Sistemas húngaro desarrolló más tarde en el equipo de desarrollo de
MicrosoftWindows.El artículode Simonyi se refirióalosprefijosutilizadosparaindicarel "tipo"de
la información que se almacena. Su propuesta fue en gran parte que ver con nombres de
identificadores de decoración en base a la información semántica de lo que almacenan, en
consonancia con aplicaciones húngaro. Sin embargo, sus sugerencias no fueron enteramente
distintode lo que se conoce como Sistemasde Hungría, ya que algunosde susprefijospropuestos
contienen poca o ninguna información semántica.
PRINCIPIOS GENERALES
La elegancia siempre obtiene su recompensa: se tarda menos en depurar y conseguir que
funcione la práctica.
Primero hay que hacer que el código funcione; luego, si hace falta, hay que optimizarlo.
5. Aplica el principio "divide y vencerás".
Si el código es difícil de leer, es difícil de mantener, depurar o mejorar.
Hay que minimizar el número de variables globales: las variables deben declararse en un
ámbito de uso lo más reducido que sea posible.
Hay que inicializar las variables inmediatamente al declararlas. Por ejemplo:
int nMuescas= 0
No se debe usar una misma variable para varios propósitos diferentes,porque dificulta la
legibilidad.
TIPO DE IDENTACION EMPLEADA
El estilo K&R es el más usado en el lenguaje C y PHP. El estilo K&R, fue llamado de esta forma
porque fue usado por Kernighan y Ritchies en su libro The C Programming Language.
Se trata de abrir la llave en la misma línea de declaración de la orden, indentando los siguientes
pasos al mismo nivel que la llave y cerrando la llave en el mismo nivel que la declaración.
La ventaja de este estilo es que la llave de apertura no requiere una linea extra y llave de
finalización se alinea conceptualmente a la declaración conceptual a la que pertenece.
Una desventajade este estilo esque lallave final de unbloquetomaunalineaenterf,elcual podría
se parcialmente resuelto en los bloques if/else y do/while
CODIGO
Clase Principal
/*
realizacionde uncubomagico
*/
package Cubo;
importjava.awt.BorderLayout;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.ItemEvent;
importjava.awt.event.ItemListener;
importjavax.swing.JApplet;
importjavax.swing.JButton;
importjavax.swing.JComboBox;
importjavax.swing.JLabel;