Mostrar los tags: C

Mostrando del 121 al 130 de 2.836 coincidencias
Se ha buscado por el tag: C
Imágen de perfil

Arbol de expresiones


Java

Publicado el 3 de Septiembre del 2022 por Rafael Angel (15 códigos)
3.845 visualizaciones desde el 3 de Septiembre del 2022
Ejemplo claro, bien programado de un arbol de expreciones.
Datos de ejemplo:

Datos de entrada: 22/24+467-5****

Datos de salida en Postorder:
Expresion postfix mostrada en PostOrder
22/24+467-5****

Datos de salida en InOrder:
Expresion Infix mostrada en InOrder
((2/2)*((2+4)*(4*((6-7)*5))))

Muy claro el resultado.

Las delcaraciones estan en palabras completas, nada de abreviaturas.
Finalmente se hace uso del stack de java.
Imágen de perfil

Arbol binario actualizado 2022


Java

Publicado el 3 de Septiembre del 2022 por Rafael Angel (15 códigos)
794 visualizaciones desde el 3 de Septiembre del 2022
Demostracion facil de entender de un arbol de nodos, asi mismo tambien se incluye un ejemplo de cada uno de los siguientes enumerados: fila, cola, pila, stack, fila doblemente enlazada.
Es un codigo muy limpio y ordenado, las declaraciones estan en palabras completas, noda de abreviaturas.
Imágen de perfil

SERVIDOR DE TIEMPO.


C/Visual C

Publicado el 30 de Agosto del 2022 por Hilario (123 códigos)
405 visualizaciones desde el 30 de Agosto del 2022
*********************************************
De gustibus et colon bus non est disputandum.
------------------------------------------
Hilario Iglesias Martínez.
-------------------------------------------
Sencillo servidor de tiempo.
A una petición o llamada de un cliente,
devuelve los datos del día y la Hora
del Servidor.
Se utiliza la llamada sprintf().
---------------------------------------
Puede ejecutarse bajo consola Linux
en el mismo ordenador,o distintos, debidamente
configurados para permitir la conexión.
Realizar un comando ifconfig, para saber
com qué IPs interactuar.
Utilizar los comandos telnet o nc.
----------------------------------
Realizado en:
LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI C.-C-11
Consola de Linux.
Imágen de perfil

LEER SECTORES DEL DISCO


C/Visual C

Publicado el 27 de Agosto del 2022 por Hilario (123 códigos)
651 visualizaciones desde el 27 de Agosto del 2022
/*
-----------------------------
Aut viam inveniam aut faciam.
*****************************
Leo_Sectores_Disco.c
*******************************
-----------------------------------
Hilario Iglesias Martínez.
*********************************
Este programa ha sido realizado en.
LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI C.-C-11
Consola de Linux.
***********************************
V-0 -Ag/2022.
--------------------------------------
El programa, abre un fichero por consola,
y va pidiendo sectores del disco :0,1,2,3,4...
hasta llegar al final de lectura de Buffer,
remarcado en otro color,volcando
el contenido en las sucesivas peticiones.

Forma de compilarlo bajo prompt:

gcc -Wall Leo_Sectores_Disco.c -o LeoSectores

*********************************************
Una posibles salida por consola de parte
de un sector de disco sería la siguiente,
(después de haber ejecutado, en este caso
de ejemplo, un fichero de texto para
prueba llamado Alicia.txt):

./LeoSectores Alicia.txt

Introduzca el Sector que quiere abrir:0
41 6C 69 63 69 61 20 65 73 74 C3 A1 20 61 20 70 | Alicia est.. a p
75 6E 74 6F 20 64 65 20 71 75 65 64 61 72 73 65 | unto de quedarse
20 64 6F 72 6D 69 64 61 20 64 65 62 69 64 6F 20 | dormida debido
61 6C 20 61 62 75 72 72 69 6D 69 65 6E 74 6F 20 | al aburrimiento
71 75 65 20 73 69 65 6E 74 65 20 6D 69 65 6E 74 | que siente mient
72 61 73 20 65 73 74 C3 A1 20 63 6F 6E 20 73 75 | ras est.. con su
20 68 65 72 6D 61 6E 61 20 73 65 6E 74 61 64 61 | hermana sentada
20 61 20 6C 61 20 6F 72 69 6C 6C 61 20 64 65 6C | a la orilla del

**********************************************************************
Funciones importantes que utilizamos en el programa:
------------------------------------------------------------------
"fseek()
---------------------------------------------------------------------
La función fseek() establece el indicador de posición del archivo para el
flujo apuntado. La nueva posición, medida en
bytes, se obtiene añadiendo bytes de desplazamiento a la posición
especificada.se establece con:
SEEK_SET,
SEEK_CUR,
SEEK_END,
El desplazamiento es relativo al inicio del archivo, el
indicador de posición actual o fin de archivo, respectivamente.

La llamada exitosa a la función fseek() borra al final del archivo
el indicador de flujo, y deshace cualquier efecto.
En resumen: La función fseek establece un indicador
de posición de archivo para un flujo de archivo establecido.
---------------------------------------------------------------------
"fread()
-----------------------------------------------------------------------
La función fread() es el complementario de las funciones como fwrite()

fread().
Esta función se usa comúnmente para leer datos binarios.
Acepta los mismos argumentos que la fwrite()

La llamada fread()está compuesta por una serie de parámetros.
Veamos, en rasgos generales, cada uno de ellos :

-Búfer: Puntero al búfer donde se almacenarán los datos.
Un búfer es una región de la memoria utilizada para
almacenar datos temporalmente.
-Tamaño: El tamaño de cada elemento a leer en bytes.
-Count: Contador del número de elementos a leer.
-Stream: Puntero al objeto FILE desde donde se leerán los datos.
++++
---Valor devuelto:
Tras una ejecución exitosa, la función devuelve un
valor entero equivalente a count .
Devuelve el número de elementos completos leídos
realmente, que puede ser menor que count
si se produce un error, o se encuentra
un final de archivo antes de llegar al
parámetro count declarado como constante
en el programa, dependiendo de la ejecución
que queramos dar al mismo.

-------------------------------------------
Las librerías utilizadas son las siguientes:
include <stdio.h>
include <ctype.h>
include <stdlib.h>

*/

Imágen de perfil

TRABAJO_MEMORIA


C/Visual C

Publicado el 24 de Agosto del 2022 por Hilario (123 códigos)
336 visualizaciones desde el 24 de Agosto del 2022

***Gaudeamus igitur iuvenes dum sumus***
---------------------------------------------
Hilario Iglesias Martínez
-----------------------------------
Si no se desea utilizar make, para su compilación,
poner bajo el mismo directorio Variables.h, y main.c
y compilar con el comando, para máxima depuración:

gcc -Wall -Wextra -Werror main.c -o Trabajo_Memoria
--o depuración normal--
gcc main.c -o Trabajo_Memoria

El programa fue realizado en plataforma
LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI C.-C-11
Para ejecutar bajo consola de linux.


Este programa "memoria.c", utiliza la función de llamada "malloc()",que tiene como finalidad la asignación dinámica de memoria.
Vuelca sobre consola de LINUX la parte o buffer, de memoria seleccionada.
El programa muestra un volcado de memoria asignada dinamicamente
por "malloc()", con este formato:
/*****
0x55923d61d747 [Desplazamiento] : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x55923d61d756 [Desplazamiento] : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x55923d61d765 [Desplazamiento] : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x55923d61d774 [Desplazamiento] : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

/****
Luego pregunta que se desea colocar en cualquiera de esas direcciones. Como respuest vuelca la frase elegida.
/*****
0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................pcIa
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................pcIa
00 11 04 00 00 00 00 00 00 46 52 41 53 45 0A 34 | .........FRASE.4pcIa
62 35 36 63 37 34 37 20 0A 00 00 00 00 00 00 00 | b56c747 ........pcIa
/*****
Se debe de tener en cuenta que si se elige una dirección fuera del rango seleccionado por "malloc()", el programa nos devolverá el típico error
de "Violación de segmento (`core' generado)"



Imágen de perfil

Generador de audiotextos (nueva versión)


Python

Actualizado el 20 de Agosto del 2022 por Antonio (75 códigos) (Publicado el 5 de Octubre del 2020)
16.446 visualizaciones desde el 5 de Octubre del 2020
Este programa genera archivos "mp3" a partir de textos introducidos por el usuario, en diferentes idiomas.
Botones:
"CREATE AUDIO-TEXT": Genera un audio, a partir del texto presente en el recuadro superior.
"TRANSLATE TEXT": Traduce el texto a cualquiera de los idiomas seleccionables del margen derecho.
"CLEAR TEXT": Borra el texto del cuadro superior.
"LISTEN AUDIO-FILE": Reproduce el último archivo de voz, creado.

aum
Imágen de perfil

INTERCAMBIO-MENSAJES-CONSOLA


C/Visual C

Publicado el 16 de Agosto del 2022 por Hilario (123 códigos)
426 visualizaciones desde el 16 de Agosto del 2022
--------------------------------------------------
**Ut desint vires, tamen est laudanda voluntas**
--------------------------------------------------

Hilario Iglesias Martínez.
---------------------------
Realizado en:
El programa fue realizado en plataforma
LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI C.-C-11

-------------------------------------
Nueva configuración de intercambio de mensajes
por consola.
---------------------------------------------
Compilación:
Variables_Servidor.h debe estar en el mismo directorio
que:Nuevo_Servidor.c
$ gcc -Wall Nuevo_Servidor.c -o Nuevo_Servidor

**************************************************
Programa que sirve para interactuar entre dos consolas Linux, o entre dos ordenadores
diferentes, siempre que su configuración de cortafuegos lo permita. Este programa está
realizado para aprender por mi parte un poco más sobre ANSI-C, bajo plataforma Linux.
Se puede interactuar con el mismo mediante el comando nc, o telnet.**
--------------------------------------------------------------------------
Disce quasi semper victurus vive quasi cras moriturus.
--------------------------------------------------

-------------------------------------------------
***********CARACTERISTICAS DE LA RED**********
--------------------------------------------------
enxd03745c56b84: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.27 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::e1fb:835d:5da:e2a3 prefixlen 64 scopeid 0x20<link>
ether d0:37:45:c5:6b:84 txqueuelen 1000 (Ethernet)
RX packets 655816 bytes 772910795 (772.9 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 104452 bytes 20676735 (20.6 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Bucle local)
RX packets 1835 bytes 200525 (200.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1835 bytes 200525 (200.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.26 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::c61d:4836:b651:a200 prefixlen 64 scopeid 0x20<link>
ether 1c:1b:b5:85:a4:d0 txqueuelen 1000 (Ethernet)
RX packets 1580 bytes 153010 (153.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1937 bytes 232054 (232.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
-------------------------------------------------------------------------
Para interactuar por consola usar las IPs de la configuración del
ordenador donde se ejecute la aplicacion.
Comandos bajo consola: nc, telnet, como CLIENTE.
Ejemplos de entrada en el prompt segunda consola linux:
:~$ nc 192.168.0.27 8358
:~$ telnet
Imágen de perfil

SERVIDOR-CHAT-MEJORADO


C/Visual C

Publicado el 4 de Agosto del 2022 por Hilario (123 códigos)
490 visualizaciones desde el 4 de Agosto del 2022
/*
*********************
servidor_chat.c
*********************
Hilario Iglesias Martínez.
-------------------------
SERVIDOR.
----------------------------------
Volviendo hacía atrás a algunos
programas sobre sockes ya publicados,
se ha realizado este Sevidor para chat,
con el fin de poder interactuar
con el a través de dos consolas
Linux en el mismo ordenador,
utilizando la dirección Localhost (127.0.0.1),
u otra en la cual la configración del
cortafuegos lo permita.
Una vez abierto, y a la escucha el servidor,
se podrán interactuar mensajes con él
a través del comando linux, por ejemplo
nc 127.0.0.1 5898, o utilizando el antiguo
telnet.
Deberemos de colocar como atributo del comando
nc de linux la ip y el puerto establecido
en el servidor previamente.
El programa hace una llamada al inicio al comando de linux
a ifconfig, con el fin de probar el mismo
con las Ips, idoneas.
------------------------------------------
En este ejemplo se puede ver, en un volcado
de memoria, como se dispone la ip y el puerto
en memoria según se su tratamiento.
formatos Big Endian, o Little Endian
Como en otros programas puestos aquí,
se podría hacer un seguimiento de
los mensajes con wireshark para analizar
los paquetes y entender su proceso.
---------------------------
*********************************
Este programa ha sido realizado en.
LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI C.-C-11
Consola de Linux.
*****************************
Compilacion.
$ gcc servidor_chat.c -o servidor_chat
//**************************************

Ejecucion y un posible ejemplo de salida por
consola. Para interrmpir el programa
utilizar CONTRO C.
+++++++++++++++++++++++++++++++++++++
./servidor_chat
++++++++++++++++++++++++++++++++++
IMPRIME POR CONSOLA.
------------------------------

Tu sistema es Little Endian
+++++++++++++++++++++++++++++++++++++++++++++++
Introduce una IP
127.0.0.1
++++++++++++++++
*******************
Introduce un Puerto:
+++++++++++++++++++
8767
-------------------
Valor de entrada: 8767
Socket creado con éxito
Tamaño de la strucServidor = 16
La IP local es: 127.0.0.1
El Puerto local de conexión es: 8767
----------------------------------------------
Disposición en memoria del Puerto y la IP
----------------------------------------------
02 00 22 3f 7f 00 00 01 00 00 00 00 00 00 00 00 || .."?............
c2 00 00 00 00 00 00 00 f7 a0 ba dc fc 7f 00 00 || ................
38 37 36 37 00 7f 00 00 ad 79 54 c1 92 55 00 00 || 8767.....yT..U..
e8 72 03 3b 66 7f 00 00 60 79 54 c1 92 55 00 00 || .r.;f...`yT..U..
31 32 37 2e 30 2e 30 2e 31 00 54 c1 92 55 00 00 || 127.0.0.1.T..U..
00 a2 ba dc fc 7f 00 00 00 a5 6b 08 1f 31 1f 71 || ..........k..1.q
00 00 00 00 00 00 00 00 83 a0 e6 3a || ...........:
----------------------------------------------
Socket enlazado con éxito.
El Servidor está preparado
Imágen de perfil

Gestor de archivos y carpetas con expresiones regulares


Python

Publicado el 1 de Agosto del 2022 por Antonio (75 códigos)
1.073 visualizaciones desde el 1 de Agosto del 2022
Gestor por líneas de comandos que permite operaciones tales como búsqueda de archivos, creación de carpetas, cambio de directorios, cortar, copiar y buscar archivos usando expresiones regulares...Para ver la lista de comandos introducir comando 'help'.
fm1
fm2
fm3
fm4
fm5