martes, 20 de junio de 2017

polimorfismo

POLIMORFISMO:


En programación orientada a objetos se denomina polimorfismo a la capacidad que tienen 
los objetos de una clase de responder al mismo mensaje o evento en función de los 
parámetros utilizados durante su invocación. Un objeto polimórfico es una entidad 
que puede contener valores de diferentes tipos durante la ejecución del programa.

En algunos lenguajes, el término polimorfismo es también conocido como 
‘Sobrecarga de parámetros’ ya que las características de los objetos permiten aceptar 
distintos parámetros para un mismo método (diferentes implementaciones) generalmente 

con comportamientos distintos e independientes para cada una de ellas.

el polimorfismo consiste en conseguir que un objeto de una clase se comporte
como un objeto de cualquiera de sus subclases, dependiendo de la forma de llamar a los métodos de
dicha clase o subclases. Una forma de conseguir objetos polimórficos es mediante el uso de
punteros a la superclase. De esta forma podemos tener dentro de una misma estructura (arrays,
listas, pilas, colas, ...) objetos de distintas subclases, haciendo que el tipo base de dichas estructuras

sea un puntero a la superclase. 

viernes, 16 de junio de 2017

clases abstractas y abstracción



CLASES ABSTRACTAS:

Este Tipo de Clases nos permiten crear “método generales”, 
que recrean un comportamiento común, pero sin especificar 
cómo lo hacen. A nivel de  código tienen por particularidad 
que algunos de sus métodos no tienen “cuerpo de declaración”, 
¿qué quiere decir esto? no tienen las llaves { } ni código dentro 
de ellos y deben estar precedidos por la palabra clave abstract. 
Si una clases contiene uno o más métodos abstractos está clase 
debe ser abstracta. Estas clases como son generalidades no pueden 
ser instanciadas por ningún objeto (se dice que su nivel de abstracción 
es demasiado alto), entonces su único fin es ser heredado/extendido 

por otras clases.

ABSTRACCIÓN:

Una abstracción se enfoca en la visión externa de un objeto,  separa el comportamiento 
 específico de un objeto, a esta división que realiza se le conoce como la barrera 

de abstracción, la cuál se consigue aplicando el principio de mínimo compromiso.


viernes, 26 de mayo de 2017

Maquina de Alan Turing

MAQUINA DE ALAN TURING








La máquina de Turing (abreviado MT) tiene, un control finito, una cabeza lectora y 
una cinta donde puede haber caracteres, y donde eventualmente viene la palabra de 
entrada. La cinta es de longitud infinita hacia la derecha, hacia donde se extiende 
indefinidamente, llenándose los espacios con el carácter blanco (que representaremos con “t”). 
La cinta no es infinita hacia la izquierda, por lo que hay un cuadro de la cinta que es el 
extremo izquierdo, la MT la cabeza lectora es de lectura y escritura, por lo que la cinta 
puede ser modificada en curso de ejecución. Además, en la MT la cabeza se mueve 
bidireccionalmente (izquierda y derecha), por lo que puede pasar repetidas veces sobre un 
mismo segmento de la cinta.

Este modelo está conformado por un alfabeto de entrada y uno de salida, un símbolo especial 
llamado blanco(normalmente b, Δ o 0), un conjunto de estados finitos y un conjunto de 
transiciones entre dichos estados. Su funcionamiento se basa en una función de transición, 
que recibe un estado inicial y una cadena de caracteres(la cinta, la cual es finita por la izquierda) 
pertenecientes al alfabeto de entrada. Luego va leyendo una celda de la cinta, borrando el 
símbolo, escribir el nuevo símbolo perteneciente al alfabeto de salida y finalmente avanza a 
la izquierda o a la derecha(solo una celda a la vez), repitiendo esto según se indique en la función 
de transición, para finalmente detenerse en un estado final o de aceptación, representando así 

la salida.

¿CÓMO FUNCIONA?




Una máquina de Turing es un dispositivo que transforma un INPUT en un OUTPUT 
después de algunos pasos. Tanto el INPUT como el OUPUT constan de números en
código binario (ceros y unos). En su versión original la máquina de Turing consiste 
en una cinta infinitamente larga con unos y ceros que pasa a través de una caja. 
La caja es tan fina que solo el trozo de cinta que ocupa un bit (0 ó 1) está en su interior. 
La máquina tiene una serie de estados internos finitos que también se pueden numerar 
en binario. 

Para llevar a cabo algún algoritmo, la máquina se inicializa en algún estado interno arbitrario. 
A continuación, se pone en marcha y la máquina lee el bit que se encuentra en ese momento 
en su interior y ejecuta alguna operación con ese bit (lo cambia o no, dependiendo de su 
estado interno). Después se mueve hacia la derecha o hacia la izquierda, y vuelve a procesar 
el siguiente bit de la misma manera. Al final se para, dejando el resultado al lado izquierdo 
por ejemplo. 


La traducción es como sigue: si la máquina se encuentra en el estado interno 0 y lee 1 en la cinta, 
entonces pasará al estado interno 1101 (13), escribirá 1 y se moverá hacia la izquierda un paso 
(la cinta se moverá hacia la derecha). 

A continuación es conveniente inventar una notación para la secuencia del INPUT. 
Esta notación se llama notación binaria expandida. Consiste en cambiar la secuencia original
binaria por otra construida de la siguiente forma: el 0 se cambia por 0 y el 1 por 10 y se ponen 
un cero a la izquierda y/o a la derecha del resultado si empieza o acaba en 1 respectivamente. 
Así por ejemplo, el número 13 que en binario es 1101 es en binario expandido 1010010 con 
un cero delante por esta última regla 01010010. Para volver al original hay que contraer el 
binario expandido con la siguiente regla: 

Empezamos a leer por la izquierda el binario expandido. Cuando encontremos un 0 tomamos 
nota de cuántos 1 hay hasta llegar al siguiente 0 y lo escribimos. Si encontramos que hay dos 
0 seguidos, apuntaríamos un 0 porque no habría ningún 1.Veamos con el 13 cómo se haría. 
El primer 0 se encuentra en la primera posición y el siguiente 0 está en la posición 3. 
Entre los dos solo hay un 1. Lo anotamos. Seguidamente hay un 1, y después un 0, entonces 
apuntamos 1 porque hay un 1 entre medias de ellos. Esto es lo que se hace sucesivamente 
y encontramos: 1101 que es el número original. 

lunes, 22 de mayo de 2017

TAREA

ALAN TURING




Alán Turing fué un pionero de los campos de la computación y la inteligencia artificial, y uno de los padres de la informática actual. Nació en 1912, en el seno de una familia de clase media londinense. Su padre, funcionario británico en India, deseaba que Alan fuera criado en Inglaterra. Por esa razón, cuando sus padres regresaron a India, lo dejaron al cuidado de unos amigos. Tenía solo 1 año de edad.

Durante su periodo de estudiante, pasó por diferentes centros de prestigio como el King’s College de Cambridge y la Universidad de Princeton, en los que se especializó en matemáticas, lógica y teoría de probabilidades. En 1936 publicó un trabajo en el que propuso un ingenio abstracto, conocido posteriormente como máquina de Turing. La máquina de Turing es un modelo matemático
que opera y lee instrucciones de una cinta y que es capaz de emular la lógica de funcionamiento de cualquier algoritmo de un computador.

Lo más sorprendente es que Turing desarrolló este modelo, que podía describir el funcionamiento de los ordenadores, antes de que existiera la tecnología capaz de construirlos.

En 1938, tras completar su doctorado en Princeton, Alan regresó a Gran Bretaña y comenzó a trabajar en la Escuela Gubernamental de 
Códigos y Cifrados, donde investigó sobre el descrifado de códigos de la máquina alemana Enigma. Al principio no se dedicó exclusivamente  a esta tarea, pero tras el estallido de la Segunda Guerra Mundial se mudó a Bletchley Park y se concentró por completo en la criptografía.

Trabajando en Bletchley Park junto con otros colegas desarrolló La Bombe, una máquina electromecánica basada en el trabajo de unos 
criptógrafos polacos y con la que se consiguió descrifrar el código de las Enigma. El funcionamiento de La Bombe se basaba en una heurística que permitía acotar las posibilidades descartando las combinaciones menos probables. Lo que hacía era estudiar todas las posibles soluciones  a fragmentos del texto original cifrado. Como se centraba en pequeños fragmentos, lograba descartar rápidamente gran cantidad de combinaciones  que daban resultados sin sentido. Cuando La Bombe daba con una combinación exitosa se desconectaba la corriente eléctrica.

¿QUÉ APORTE HIZO ALÁN TURING PARA LA ÉPOCA MODERNA?

Alán Turing realizó numerosos aportes a lo que son hoy nuestras computadoras modernas, a través dela programación y la matemática. Sin duda fue un gran pensador que aportó desde varios campos al desarrollo de la programación y los códigos. 

Dio el primer paso en plantear la posibilidad de una inteligencia artificial que pueda parecerse a la humana en su efectividad y cumplimiento de tareas, un tema que hasta el día de hoy es clave.



Clase Número 12

CLASE NÚMERO 12

Vimos la mitad de la película llamada "el Código Enigma" relacionando y entendiendo más a fondo la historia de la primera computadora.

Clase Número 11

CLASE NÚMERO 11

Empezamos a ver la temática de clases relacionada con la programación orientada a objetos (POO). También prácticas de constantes y clases en PHP.

jueves, 18 de mayo de 2017

Clase Número 10

CLASE NÚMERO 10

Hicimos un repaso de las funciones que hemos visto hasta el momento de php y aclaramos dudas que habían quedado en las clases anteriores.

Clase Número 9

CLASE NÚMERO 9

Consulta:

Diferencia entre $i++  y  ++$i

Ambas operaciones incrementan en una unidad el valor de l variable $i (en este caso), la única diferencia es que $i++ incrementa después de devolver el valor de $i, mientras que ++$i incrementa antes de devolver el valor de $i

Clase Número 8

CLASE NÚMERO 8

HTML



HTML es el lenguaje con el que se define el contenido de las páginas web. Básicamente se trata 
de un conjunto de etiquetas que sirven para definir el texto y otros elementos que compondrán 
una página web, como imágenes, listas, vídeos, etc.

El HTML se creó en un principio con objetivos divulgativos de información con texto y algunas 
imágenes. No se pensó que llegara a ser utilizado para crear área de ocio y consulta con carácter
 multimedia (lo que es actualmente la web), de modo que, el HTML se creó sin dar respuesta a todos
 los posibles usos que se le iba a dar y a todos los colectivos de gente que lo utilizarían en un futuro. 
Sin embargo, pese a esta deficiente planificación, si que se han ido incorporando modificaciones con 
el tiempo, estos son los estándares del HTML. Numerosos estándares se han presentado ya. 
El HTML 4.01 es el último estándar a febrero de 2001. Actualización a mayo de 2005, en estos 
momentos está apunto de presentarse la versión 5 de HTML, de la que ya se tiene un borrador casi 
definitivo.

El HTML es un lenguaje de marcación de elementos para la creación de documentos hipertexto, 
muy fácil de aprender, lo que permite que cualquier persona, aunque no haya programado en la vida, 
pueda enfrentarse a la tarea de crear una web. HTML es fácil y pronto podremos dominar el lenguaje. 
Más adelante se conseguirán los resultados profesionales gracias a nuestras capacidades para el diseño
 y nuestra vena artista, así como a la incorporación de otros lenguajes para definir el formato con el que 
se tienen que presentar las webs, como CSS.

Una vez conocemos el concepto de HTML os vamos a adelantar algunas cosas más. Este lenguaje se escribe 
en un documento de texto, por eso necesitamos un editor de textos para escribir una página web. Así pues, 
el archivo donde está contenido el código HTML es un archivo de texto, con una peculiaridad, que tiene 
extensión .html o .htm (es indiferente cuál utilizar). De modo que cuando programemos en HTML lo haremos 
con un editor de textos, lo más sencillo posible y guardaremos nuestros trabajos con extensión .html, 

por ejemplo mipagina.html

Clase Número 7

CLASE NÚMERO 7

1. No cierre las etiquetas PHP


Una gran cantidad de desarrolladores cierran la etiqueta PHP, tal como el siguiente ejemplo:

<?php

1 class TuClase{
2
3 public function TuFuncion(){
4
5 //Algo debe de hacer, no?
6
7    }
8 }
9

?>

El problema con esto es que puede introducir caracteres de espacio o de nueva línea en blanco
si el desarrollador no tiene cuidado. Esto puede causar dolores de cabeza más adelante,
cuando las cabeceras son interrumpidas o espacios en blanco aparecen inexplicablemente
en la salida.

Ok, así que ¿qué se debe hacer?

Esto es perfectamente aceptable:

<?php

1 class TuClase{
2 public function TuFuncion(){
3 //Algo debe de hacer, no?
4 }
5 }
6
7
?>


Para ser honesto, la única vez que realmente debes cerrar las etiquetas PHP es cuando
estás mezclando PHP con HTML:

1 <h1><?php echo $title; ?></h1>
2 <p><?php echo $description; ?></p>


2. No utilice las funciones mysql_*.


A partir de PHP 5.5, las funciones mysql se han desaprobado oficialmente. Según el sitio
web oficial de PHP, la extensión por defecto de MySQL se eliminará por completo en el futuro.
Si eso no te persuade para encontrar una alternativa, entonces deberías considerar también
el hecho de que carece de soporte a una serie de características de MySQL. Lo más
destacado de las nuevas funciones son:

– Declaraciones preparadas.
– Transacciones.
– Procedimientos almacenados.
– Consultas asíncronas.
– Sentencias múltiples.

El hecho es que esta extensión casi obsoleta fue desarrollada para la versión MySQL 3.23.
Desde entonces, muy poco en realidad se ha añadido en el camino a las características.

OK, así que lo puedo usar en su lugar?

Dos buenas alternativas son PDO y MySQLi. Personalmente, prefiero usar PDO, ya que proporciona
una capa de abstracción de acceso a datos, lo que básicamente significa que puedes utilizar las
mismas funciones para acceder a otras bases de datos, así (PostgreSQL, SQLite, etc).


3. Protéjase contra XSS!


XSS (también conocido como Cross-site scripting) es una vulnerabilidad que permite a los
atacantes ejecutar código desde el lado del cliente en tu sitio web. Por ejemplo: Si entro algo de
JavaScript en un formulario de comentarios y te muestro ese comentario sin limpiarlo, el código
en cuestión se ejecutará cada vez que un usuario carga la página. Para defenderse de este tipo
de vulnerabilidad, debe desinfectar los datos enviados por el usuario antes de que se muestre en
la página. Para ello, puede utilizar la función htmlspecialchars:

<?php

1 echo htmlspecialchars($userComment, ENT_QUOTES, 'utf-8');
2 Esta función convierte los caracteres especiales en sus entidades HTML correspondientes,
por lo que son seguros para su visualización


4. No sobre comentar el código


La documentación apropiada del código en definitiva es una buena práctica, pero ¿es realmente
necesario comentar cada línea? Probablemente no. Comentar las secciones complicadas de su
código fuente para que cuando vuelva a visitarlo recordará rápidamente lo que está pasando,
pero no comentamos las cosas simples, como su código de conexión MySQL.

La manera correcta:

<?php

1 /* Conexion a la base de datos */
2
3 $hostname = "localhost";
4 $username = "";
5 $password = "";
6 $dbname = "";
7
8 $connectionStatus = mysql_connect($hostname, $username, $password) or die(mysql_error());
9
10 $selectionStatus = mysql_select_db($dbname) or die(mysql_error());
11
12 /* Fin conexion a la base de datos */
13
?>

5. Conozca el concepto DRY.


El paradigma DRY – Don’t Repeat Yourself el algo que sin duda debes de aplicar cuando comiences
a codear. Debes evitar una situación en la que estás repitiendo exactamente el mismo código.
Esto se puede hacer a través de el uso de un simple include, funciones y clases. Por ejemplo,
si tengo un pedazo de código que calcula la edad de una persona, puedo crear una función de
este modo:

<?php

1 function CalcularEdad($dateOfBirth){
2
3     $birthday = new DateTime($dateOfBirth);
4      $interval = $birthday->diff(new DateTime);
5     return $interval->y;
6 }
7
?>

Ahora, cada vez que quiero para calcular la edad de un usuario, sólo tengo que llamar a la función
anterior; en lugar de repetir la misma lógica. Esto es ventajoso porque:

– Mi código base es menor como consecuencia.
– Si tengo que modificar la lógica, puedo editar la función de CalcularEdad.


6. Contraseñas de usuario Seguras!


Las contraseñas de usuario deben hash, no se almacenan en formato de texto o base codificada
(en serio, de hecho he encontrado esto antes). Una función hash es una calle de sentido único.
Una vez que la contraseña en texto plano se ha transmitido a través de él, no hay manera de
recuperarlo (de ahí la razón por la que utilizamos el término “hash”, no “cifrado”).
Si está usando PHP> = 5.5, debe utilizar el password_hash función. Si está atrapado en una
versión anterior, entonces usted puede hacer uso de la librería password_compat en Github.


7. Utiliza sentencias preparadas!


Una de las principales ventajas de usar PDO es que permite que puedas hacer uso de
sentencias preparadas. En el pasado, los desarrolladores de PHP se vieron obligados a
usar unciones como mysql_real_escape_string así:

<?php

1 $username = mysql_real_escape_string($username, $connection);
2 $result = mysql_query("SELECT name FROM users WHERE username = '$username'");
3

?>

Esta función escapa caracteres especiales que puedan causar problemas con tu sentencia SQL.
Es decir, ayuda a proteger contra la inyección SQL. Sin embargo, lo que no hará es a protegerse
de los ataques que no implican caracteres especiales como x00, n, r, , ‘, ” y x1a.

Afortunadamente, la inyección de SQL no es rival para comandos preparados. Con declaraciones
preparadas, la sentencia SQL se envía al servidor antes de que los datos, manteniendolos independientes
entre sí. Esto significa que la base de datos sabe lo que necesita para ejecutar correctamente,
antes de que cualquier carácter potencialmente peligrosos se envían a través de la comunicación.
Un ejemplo de la selección de filas con el objeto PDO:

<?php

1 //Preparamos la sentencia SQL. En esta etapa se va enviado al servidor
2 $stmt = $db->prepare("SELECT name FROM users WHERE username = :username");
3
4 //Enlazamos nuestros parámetros / datos.
5 $stmt->bindParam(':username', $username);
6
7 //Ejecutamos la sentencia.
8 $stmt->execute();
9

?>

Nota importante: Con la extensión PDO, tendrás que activar manualmente el uso de declaraciones
“naturales” preparadas. A los efectos de la portabilidad, esta extensión utiliza el emulado de
las declaraciones preparadas por defecto. Para desactivar comandos preparados emulados,
puede utilizar el siguiente código:

<?php

1 $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
2

?>


8. “or die ()” tiene que morir …


Si has decidido ignorar por completo todas las ventajas del por que usar PDO, entonces creo
que es justo decir que es probable que estés manejando consultas poco practicas,
como por ejemplo:

<?php

1mysql_query($sql, $conn) or die(mysql_error($conn));
2

?>

El problema con el enfoque anterior es que no se puede detectar el error o registrarlo.
Tampoco se puede controlar si es o no se da salida a la pantalla. A los ojos de la función
de la matriz, un servidor de desarrollo y un servidor de producción, son exactamente la
misma cosa! No se puede controlar a través de los ajustes del .ini o un archivo de configuración
de todo el sitio.

Un mejor enfoque a este sería el uso de excepciones, simplemente porque pueden ser
capturados o manipulados:

<?php

1 $res = mysql_query($sql, $conn);
2 if($res === false){
3    throw new Exception(mysql_error($conn));
4 }
5

?>

La excepción anterior puede ser capturada con un bloque TRY CATCH o manejada con un
manejador de excepción personalizada. Esto te da mucho más control sobre cómo los
errores se manejan. Por supuesto, si se utiliza la extensión PDO, podrías tener los errores SQL
lanzando excepciones por defecto utilizando el siguiente atributo:

<?php

1 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
2


?>

Clase Número 6

CLASE NÚMERO 6

If: Significa (SI) en español. Sirve para evaluar una condición, si está es verdadera se ejecutará.

Else: Significa (SI NO) en español. Sirve para que, si la función no se cumple, está ejecute otro caso.

Else If: Es una combinación de if y else. Del mismo modo que else (SI NO) extiende una sentencia if (SI) para ejecutar una opción distinta si la posición If original se encuentra como FALSE (Falsa).

Clase Número 5

CLASE NÚMERO 5


hicimos el inicio de un servidor desde cada uno de los computadores por medio de Xampp a la hora de iniciar apache, el cual cada uno de los computadores tiene su propio servidor y pueden entrar a ver el contenido de un computador por medio del IP de este, siendo así a nivel LAN (Local Area Network).
 Aprendimos la introducción del lenguaje PHP y algunas cosas básicas más.

Clase Número 4

CLASE NÚMERO 4


Glosario de PHP:




<?php: Indica el inicio del pseudocódigo.

?>: Indica el final del pseudocódigo.


Echo: Es la función que se utiliza para escribir.

(; o :): Es el cierre de cada linea del pseudocódigo.


<pre>: Sirve para imprimir en pantalla tal cual y como escribo(obviamente con la ayuda de (Echo)).

</pre>: Sirve para cerrar la función <pre>.

<br>: Se utiliza para hacer un salto de renglón.

Array: Se utiliza para guardar valores del mismo tipo pero de manera ordenada.

miércoles, 26 de abril de 2017

Clase Número 3

CLASE NÚMERO 3

¿QUÉ ES SOFTWARE LIBRE?


Software Libre se refiere a libertad, no a precio. Se ha utilizado en este sentido desde la década de 1980.
El software libre es un tipo de programas de ordenador que respeta nuestra libertad. Utilizar software libre es una decisión política y ética que nos permite ejercer nuestro derecho a aprender y a compartir lo que aprendemos con otras personas.

Es habitual que el software que compramos nos niegue dichos derechos. Eso es porque realmente no estamos adquiriendo la propiedad del software que compramos, sino una licencia sobre el uso del software. Y dichas licencias nos atan mediante numerosas y sutiles reglas acerca de lo que podemos y no podemos hacer con el programa.




¿QUÉ ES CÓDIGO ABIERTO?

El código abierto es un concepto que ha cambiado el mundo. Se refiere a algo que puede ser modificado y compartido porque su diseño es accesible para todo el público.
También, Código abierto es un software que pone a disposición de cualquier usuario su código fuente. A pesar de que este tipo de software es de buena calidad, el principal atractivo es que es gratis. Más allá de esto, hay ciertas pautas que debe cumplir el código abierto: 

-Redistribución Libre:  La licencia del código abierto no debe de ninguna forma cobrar royalties o cualquier otro tipo de costo. 

-Código Fuente: El software debe agregar el código fuente y permitir la distribución en la forma de código fuente y compilada. 


La licencia no debe discriminar cualquier tipo de persona o toma de iniciativas específicas. 







¿QUIÉN FUÉ RICHARD STALLMAN?

Richard Stallman es el fundador de la Free Software Foundation FSF (Fundación para el Software Libre).

Creador del movimiento más revolucionario de la historia de la informática, tal vez, hasta, el mayor desde la Revolución Industrial. El hombre que creó el software libre y es doctor honorario en dos facultades europeas. 




¿QUÉ ES CLIENTE?

Un cliente es tanto para los negocios y el marketing como para la informática un individuo, sujeto o entidad que accede a recursos, productos o servicios brindados por otra.

Para los negocios, el cliente es aquel individuo que, mediando una transacción financiera o un trueque, adquiere un producto y/o servicio de cualquier tipo (tecnológico, gastronómico, decorativo, mueble o inmueble, etcétera). Un cliente es sinónimo de comprador o de consumidor y se los clasifica en activos e inactivos, de compra frecuente u ocasional, de alto o bajo volumen de compra, satisfecho o insatisfecho, y según si son potenciales.






¿QUÉ ES SERVIDOR?

es un ordenador o máquina informática que está al “servicio” de otras máquinas, ordenadores o personas llamadas clientes y que le suministran a estos, todo tipo de información. A modo de ejemplo, imaginemos que estamos en nuestra casa, y tenemos una despensa.

Es una máquina servidora que se comunica con variados clientes, todos demandando algún tipo de información. Esta información puede ser desde archivos de texto, vídeo, audio, imágenes, emails, aplicaciones, programas, consultas a base de datos, etc.




¿QUÉ ES CLIENTE-SERVIDOR?


El Cliente-Servidor es un sistema distribuido entre múltiples Procesadores donde hay clientes que solicitan servicios y servidores que los proporcionan. La Tecnología Cliente-Servidor, es un modelo que implica productos y servicios enmarcados en el uso de la Tecnología de punta, y que permite la distribución de la información en forma ágil y eficaz a las diversas áreas de una organización (empresa o institución pública o privada), así como también fuera de ella.





Clase Número 2

CLASE NÚMERO 2

15 objetos con abstracción:

1) Carro:

-Color
-Marca
-Partes en general

2) Reloj:

-Material
-Números (Romanos, antiguos, etc)

3)Pantalón:

-Material
-Color
-Marca

4) Computador:

-Marca
-Sistema Operativo
-Memoria (RAM, GB)
-Partes

5) Maleta:

-Tamaño
-Marca
-Color

6) Lapicero:

-Color
-Marca
-Forma

7) Silla:

-Tamaño
-Material
-Forma

8) Bombillo:

-Cantidad de Vatios
-Marca
-Color de Alumbrado
-Forma

9) Guitarra:

-Marca
-Colores
-Tipos de cuerdas
-Número de cuerdas
-Número de trastes
-Formas

10) Audífonos:

-Tamaño
-Color
-Forma
-Tipo de Entrada

11) Plato:


-Tamaño
-Material
-Color
-Forma

12) Balón:

-Tipo de Balón
-Color
-Marca
-Tamaño

13) Libro:

-Número de páginas
-Tamaño
-Material del papel
-Categoría del Libro

14) Zapatos:


-Marca
-Color
-Forma
-Con/Sin cordones
-Material

15) Trompo:

-Tamaño
-Color
-Forma
-Material

lunes, 24 de abril de 2017

Clase Número 1

CLASE NÚMERO 1

¿QUÉ ES PHP?





PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) 
es un lenguaje de código abierto muy popular especialmente
adecuado para el desarrollo web y que puede ser incrustado en HTML.

¿PARA QUÉ SIRVE PHP?


PHP se utiliza para generar páginas web dinámicas. 
Recordar que llamamos página estática a aquella cuyos contenidos permanecen siempre igual, mientras que llamamos páginas dinámicas a aquellas cuyo contenido no es el mismo siempre. Por ejemplo, los contenidos pueden cambiar en base a los cambios que haya en una base de datos, de búsquedas o aportaciones de los usuarios, etc.

¿CÓMO FUNCIONA?


El lenguaje PHP se procesa en servidores, que son potentes
ordenadores con un software y hardware especial. Cuando 
se escribe una dirección tipo: http://www.aprenderaprogramar.com/index.php en un 


navegador web como Internet Explorer, Firefox o Chrome, ¿qué ocurre? Se envían los datos de la solicitud al servidor que los procesa, reúne los datos (por eso decimos que es un proceso dinámico) y el servidor lo que devuelve es una página HTML como si fuera estática.


SEGUNDO
TRIMESTRE

viernes, 10 de marzo de 2017

CLASE NÚMERO 14


Opinión acerca del subproceso:



El subproceso se conoce como "hijo", y el proceso se conoce como "Padre". Debido a que el subproceso es una función que se encarga en fragmentar comandos del proceso principal.

Se pueden hacer varios subprocesos en el mismo código, el subproceso puede llegar a ser repetitivo.

Para que el subproceso se lleve a cabo necesita de parámetros los cuales tienen las variables o valores principales que conlleve el proceso como tal.

jueves, 9 de marzo de 2017

CLASE NÚMERO 13


SOLUCIÓN TAREA SUBPROCESO


Un Subproceso es un conjunto de actividades que tienen una secuencia lógica para cumplir un propósito. Un Subproceso es un Proceso por sí mismo, cuya finalidad hace parte de un Proceso más grande. El proceso más grande se conoce como proceso "Padre" y el Subproceso como proceso "hijo".

Cuando una instancia del Subproceso es creada, el proceso "hijo" hereda el número del caso del proceso "padre". Esto ayuda a identificar qué Subproceso pertenece a "padre". 

Usted puede configurar que se herede o no el número del caso en usar número de caso padre.




SUBPROCESO EN PSeint


 SubProceso 
variable_de_retorno <- nombre_de_la_función (argumento_1, argumento_2, ... )
         
          acción 1;

          acción 1;
             
               .
             
          acción n;
     FinSubproceso

Comienza con la palabra clave SubProceso (o Función, son equivalentes) seguida de la variable de retorno, el signo de asignación, el nombre del subproceso, y finalmente, la lista de argumentos entre paréntesis. Existen variantes para esta estructura. Si la función no retorna ningún valor, pueden omitirse el identificador variable_de_retorno y el signo de asignación, es decir, colocar directamente el nombre y los argumentos a continuación de la palabra clave SubProceso. Si el subproceso no recibe ningún valor pueden colocarse los paréntesis vacíos u omitirse, finalizando la primer línea con el nombre del subproceso. 

Las reglas para los nombres de subprocesos, variables de retorno y argumentos son las mismas que para cualquier identificador en pseudocódigo.

   Además, opcionalmente pueden agregarse las palabras claves "Por Valor" o "Por Referencia" para indicar el tipo de pasaje en cada argumento. Si no se indica, los arreglos se pasan por referencia, las demás expresiones por valor. El pasaje por referencia implica que si la función modifica el argumento, se modificará en realidad la variable que se utilizó en la llamada, mientras que el pasaje por valor implica que la función opera con una copia de la variable (o el resultado de la expresión) que se utilizó en la llamada, por lo que las modificaciones que aplique la función no se verán reflejadas fuera de la misma.




miércoles, 1 de marzo de 2017

CLASE NÚMERO 12


ALGORITMOS DE BÚSQUEDA Y ORDENAMIENTO

Discutiremos el problema de ordenar un array de elementos. A los efectos de simplificar asumiremos que los arrays contienen solo enteros aunque obviamente estructuras más complicadas son posibles. Asumiremos también que el ordenamiento completo se puede realizar en memoria principal o sea la cantidad de elementos es relativamente pequeo (menos de un millón).

 Preliminares Los algoritmos que describiremos reciben como argumentos un array que pasa los elementos y un entero que representa la cantidad de elementos. Asumiremos que N (el número de elementos) es un n´umero legal. Para alguno de los programas que veremos ser´a conveniente utilizar un sentinela en posición 0, por lo cual nuestros array irán del 0 al N. Los datos irán del 1 al N.

Ordenamiento por inserción (Insertion Sort) Es uno de los algoritmos m´as simples. Consiste en N − 1 pasadas. En las pasadas 2 a N se cumplir´a que los elementos de las posiciones 1 a P est´an ordenados. En la pasada P movemos el elemento P-esimo a su lugar correcto, este lugar es encontrado en las posiciones de los elementos 1 a P.

Con frecuencia el programador trabajar´a con grandes cantidades de información almacenada en arreglos. Podría ser necesario determinar si algún arreglo contiene un valor que sea igual a cierto valor clave. El proceso para encontrar un elemento particular en un arreglo se llama búsqueda. Estudiaremos dos técnicas de búsqueda: una técnica simple llamada busqueda lineal y una m´as eficiente llamada busqueda binaria. Ambos programas se pueden implementar recursivamente o no. En este capítulo veremos la implementación no recursiva. 



Empezamos la clase viendo algunos blogs, en donde varios compañeros tenían la tarea y algunos no la hicieron.
El profesor nos puso a repasar a cerca de las dimensiones y con ello nos puso a hacer, con todo el tiempo de la clase, el juego ahorcado en PSeint, algoritmo y prueba de escritorio.
A la final ninguno pudo terminar el pseudocódigo y solo pudimos presenta el algoritmo del juego.

martes, 28 de febrero de 2017

CLASE NÚMERO 11



ARREGLOS EN PSeint:

Los arreglos son estructura de datos homogéneas (todos los datos son del mismo tipo) que permiten almacenar un determinado número de datos bajo un mismo identificador, para luego referirse a los mismos utilizando uno o más subíndices. Los arreglos pueden pensarse como vectores, matrices, entre otros. Para crear un arreglo en PSeint se utiliza la palabra clave Dimensión, seguido del nombre del arreglo (identificador) y su tamaño (numero de subíndices) entre corchetes []. 



¿QUÉ ES ARREGLO?







Para mi es una estructuración de datos homogéneos.
Los arreglos son espacios fraccionados u ordenados determinados, utilizando una sola variable para la estructuración de un valor seleccionado o creado.



viernes, 24 de febrero de 2017

CLASE NÚMERO 10



CALCULADORA DE PANADERÍA:

Pseudocódigo de calculadora de panadería







jueves, 23 de febrero de 2017

CLASE  NÚMERO 9

En esta clase nos enfocamos en aprender a cerca de la prueba de escritorio. Esta es una evidencia de lo que se vio en esta clase:





PRUEBA DE ESCRITORIO


Las pruebas de escritorio son simulaciones del comportamiento de un algoritmo que permiten determinar la validez del mismo.  Consisten en generar una tabla con tantas columnas como variables tenga el algoritmo y seguir las instrucciones poniendo los valores correspondientes.  Permiten detectar errores, omisiones o mejorar el algoritmo.




















miércoles, 22 de febrero de 2017

CLASE NÚMERO 8



Porcentaje de notas de un salón:

Pseudocódigo

Porcentaje sin ejecutar:






Porcentaje Ejecutado:






En este ejemplo el número de estudiantes es (3) y por ende son tres notas las cuales son (50), (40) y (20), y como resultado de esto dió (36.6666666667).



Calculadora

Pseudocódigo

Calculadora sin ejecutar:





Calculadora Ejecutada:





En este caso la multiplicación la hice con el número 8 como un ejemplo.



SIGNIFICADO DE PALABRAS CLAVE EN PSeint




ESCRIBIR:

Al escribir esta palabra el compilador escribirá en pantalla lo que se encuentre entre comillas (" ") :

  • Escribir: "Hola Mundo"


LEER:

Indica al compilador que debe tomar la información que el usuario escribe en pantalla. Para este ejemplo capturaremos nuestro nombre. Esta palabra siempre va acompañada de un nombre que especifique al compilador que lo que debe capturar se almacena en esa variable:

  • Escribir: "Escribir Nombre"
  • Leer: Nombre
  • Escribir: "Su nombre es ",Nombre



Si:

Este ciclo se ejecuta dependiendo del valor de verdad que se encuentra en él. Se evalúa la condición y si resulta verdadera iniciará con el proceso que le indique la palabra (Entonces) :

  • Si A > B Entonces
  • Escribir: "A es mayor que B"
  • Sino
  • (Acciones por Falso)
  • FinSi

SEGÚN:

Este ciclo se ejecutará solo si la condición es verdadera. Indica el inicio del ciclo y evalúa la condición, si es verdadera entonces se ejecuta el proceso que indique la palabra (Hacer) :


  • Según (variable numérica) Hacer:
  • Opción 1: Secuencia de acciones 1
  • Opción 2: Secuencia de acciones 2
  • Opción 3: Secuencia de acciones 3
  • Sucesivamente
  • De otro Modo:
  • Secuencia de otro valor
  • FinSegún