Mostrando entradas con la etiqueta Programación C. Mostrar todas las entradas
Mostrando entradas con la etiqueta Programación C. Mostrar todas las entradas

Llega قلب (“corazón”), un lenguaje de programación en árabe

martes, 29 de enero de 2013


Ramsey Nasser es un científico computacional y que forma parte del Eyebeam Art + Technology Center ubicado en la ciudad de Nueva York, y quien se ha encargado de crear un original lenguaje de programación que se encuentra basado en Scheme al cual ha bautizado bajo el nombre de قلب y cuya traducción al castellano sería "corazón" y en el cual tanto el código como el lenguaje de escritura como el de ejecución se encuentran en el idioma árabe.


La idea que rondaba la cabeza de Nasser cuando decidió emprender esta curiosa idea, era comprender de una manera más elaborada las relaciones que se establecían entre los lenguajes artificiales y naturales, junto a la cultura propia del usuario por lo que según su creador este nuevo lenguaje no se ciñe tan solo a temas informáticos, si no que en si mismo se le puede considerar una obra de arte conceptual, que trata de llevar su mensaje al mundo.

Además, queda patente la utilidad de este nuevo invento, ya que si para muchos programadores que comienzan a dar sus primeros pasos en este mundo resulta complicado aprender la gran variedad de palabras inglesas que componen los lenguajes de programación más utilizados, como C++, JavaScript o Python, la dificultad aumenta en los países Orientales donde prácticamente resulta imposible aprender a programar sin haber estudiado anteriormente ingles.

Más información aquí.

Programar en C/C++ con Netbeans para ubuntu

miércoles, 22 de febrero de 2012

 Todo entendido que se precie de este gran mundo de la informática, sabe o ha tenido intención de aprender a programar en alguno de los cientos de lenguajes de programación que existen.

Como introducción, podemos decir que unos de los más populares son los lenguajes C y C++, que gozan de una gran popularidad aún siendo en el caso de C un dinosaurio con ya 40 años de antigüedad.

Si nos centramos en el tema que explicamos en este articulo, tenemos que hablar sobre el entorno de desarrollo (IDE) Netbeans, siendo este un entorno totalmente visual y muy intuitivo. 

Es usado en gran parte para desarrollar software Java, aunque como sucede en la gran mayoría de IDEs, existen plugins que nos permiten usar este software para programar en otros lenguajes.

En esta ocasión, enseñaremos como poder usar esta aplicación para programar en C/C++. En primer lugar, debemos explicar que existen dos posibilidades. 

La más sencilla de ellas es la de descargar de la web oficial la versión que incluye este plugin en el software. 

La segunda, es la de descargar el plugin de forma muy rápida si ya disponemos de alguna versión de Netbeans instalada en nuestra maquina Linux.

En el siguiente vídeo explicamos cómo instalar el plugin y comprobar que funciona:


Agenda con estructuras - Programación C

jueves, 20 de enero de 2011

Hoy volvemos con otro ejercicio de programación en C en el cual veremos cómo trabajar con estructuras. A la hora de realizar este ejercicio, tendremos en cuenta también las lecciones aprendidas sobre reserva dinámica de memoria.

Ejercicio:
Programar una agenda con alumnos en la que se guardarán los siguientes datos: nombre, apellido y edad.

El programa debe:

  • Preguntar de cuantos alumnos va a ser la agenda y según la respuesta se deberá reservar ese espacio de manera dinámica.
  • Leer los datos de los alumnos.
  • Mostrar en pantalla todos los datos de los alumnos.
Para ver la solución sigue leyendo:

Reserva dinámica de memoria (2) - Programación C

lunes, 6 de diciembre de 2010

Hoy volvemos con más ejercicios de programación en C y continuamos con ejercicios de reserva dinámica de memoria. En esta ocasión tendremos que realizar una aplicación que realiza diferentes operaciones y en ellas tendremos que tener en cuenta la reserva dinámica de memoria.

Ejercicio:
Crear un programa que pida una cadena de caracteres, la guarde en memoria y muestre un menú con diferentes opciones:
  • i) Mostrar por pantalla la cadena actual
  • k) Sumarle una cadena de caracteres a la actual (concatenar)
  • e) Eliminar una cadena de caracteres que tenga la cadena actual
  • z) Eliminar toda la cadena a partir de un carácter
  • M) Convertir toda la cadena a mayúsculas
  • m) Convertir toda la cadena a minúsculas
 Para ver el resultado, continúa leyendo.

Reserva dinámica de memoria - Programación C

viernes, 12 de noviembre de 2010

Después de haber estado trabajando con ficheros, hoy vamos a trabajar la reserva dinámica de memoria programando en C, un factor muy importante para optimizar nuestras aplicaciones. A continuación os dejamos con el ejercicio de reserva dinámica de memoria.

Ejercicio:

Realizar un programa que:

  1. Solicitar insertar cuantas filas y columnas se desea que tenga la matriz
  2. Insertar la matriz
  3. Convertir una nueva matriz con su inversa
  4. Mostrarla en pantalla
Realizar este ejercicio usando la reserva dinámica de memoria

Para ver la solución continúa leyendo.

Buscar una palabra en un fichero - Programación C

lunes, 27 de septiembre de 2010

Continuamos con ejercicios de programación en C en los que trabajamos con ficheros de texto. En esta ocasión, buscaremos una palabra en un fichero, para saber cuantas veces aparece en él.

Ejercicio:
Escribe un programa que pida el nombre de un fichero. El programa abrirá ese fichero y nos pedirá que metamos una palabra a buscar. El programa le dirá al usuario cuantas veces se repite esa palabra.

Para ver la solución sigue leyendo.

Leer números de un fichero - Programación C

jueves, 23 de septiembre de 2010

Esta semana seguimos con ejercicios de programación en C y ficheros. Para realizar este ejercicio, tendremos que haber realizado el ejercicio anterior, concretamente el ejercicio de guardar en un fichero de texto números en binario.

Ejercicio:
Después de leer una secuencia de números reales (como mucho 100) del fichero del ejercicio anterior, que los ordene y los saque por pantalla ordenados.

Sigue leyendo para ver la solución.

Guardar en un fichero de texto números en binario - Programación C

miércoles, 15 de septiembre de 2010

Continuamos con otro ejercicio de Programación en C con ficheros de texto.

Ejercicio:
Escribe un programa que solicite una secuencia de números reales y la guarde en un fichero de texto en formato binario.


Sigue leyendo para ver la solución

Transferir texto de un fichero a otro - Programación C

miércoles, 8 de septiembre de 2010

Despues de unos meses, volvemos a la carga para presentaros más ejercicios de programación en C. El último ejercicio que vimos, fue el de cómo suprimir vocales de un fichero de texto. Hoy continuaremos realizando ejercicios con ficheros de texto, pero en esta ocasión veremos cómo transferir texto de un fichero a otro.

Ejercicio:
Escribir un programa que permita transferir un archivo de texto “origen.txt” a los archivos “pares.txt” e “impares.txt” dejando en“impares.txt” las líneas impares y en “pares.txt” las líneas pares del fichero "origen.txt".


Sigue leyendo para ver la solución.

Suprimir vocales de un fichero - Programación C

lunes, 10 de mayo de 2010

Hace unos días ya vimos un ejercicio de programación en C para calcular cuanto ocupa un fichero. Hoy seguimos con otro ejercicio de ficheros:

Ejercicio:
Escribe un programa que lea un fichero y le suprima todas las vocales (no acentuadas).

Es decir que siendo el fichero origen.txt:

El alegre campesino
pasea por el campo
ajeno a que el toro
se acerca por detrás

El fichero destino.txt sea:

l lgr cmpsn
ps pr l cmp
jn  q l tr
s crc pr dtrás


Sigue leyendo para ver la solución.

Algoritmo Bresenham - Dibujar línea - Programación C

martes, 4 de mayo de 2010

Si el otro día publiqué un post sobre el algoritmo DDA, hoy os traigo el algoritmo Bresenham para dibujar una línea, al igual que en el anterior puedes tomártelo como un ejercicio de C o simplemente ir a la solución.

Explicación del algoritmo

Es considerado uno de los algoritmos más efectivos para dibujar líneas mediante rastreo. Emplea cálculos incrementales con valores enteros. La forma de determinar el siguiente pixel a dibujar en la generación de una línea, se describe a continuación:
  1. Punto inicial  P1(Xinicial,Yinicial).
  2. Se desplaza una columna (incrementando la posición en X)
  3. Se traza el pixel cuyo valor de Y de la línea de rastreo se aproxima más a la trayectoria de la línea. Se capturan los dos extremos de la línea  P1(Xinicial,Yinicial) y P2(Xfinal,Yfinal)
  4. Se dibuja el primer pixel correspondiente al extremo izquierdo de la línea(P1)
  5. Se calculan los parámetros que permitien decidir cuál será el proximo pixel a dibujar (DeltaX, DeltaY y ConstanteP).
  6. Dependiendo del valor que tome el Parámetro ConstanteP se evalúa y determina la coordenada a dibujar que puede ser: 
    1. (X+1,Y) para ConstanteP < 0
    2. Sino (X+1,Y+1)
El proceso anterior debe repetirse 4DeltaX veces.

Pseucodigo

Leer Coordenadas P1(Xinicial, Yinicial)

Leer Coordenadas P2(Xfinal, Yfinal)

Asignar a  DeltaX el ABS( Xfinal - Xinicial)

Asignar a  DeltaY el ABS( Yfinal -Yinicial)

Asignar a ConstanteP  el resultado de 2*DeltaY - DeltaX

Si Xinicial > Xfinal

Asignar Xfinal a X

Asignar Yfinal a Y

Asignar Xinicial a Ultimo

De lo contrario

Asignar Xinicial a X

Asignar Yinicial a Y

Asignar a Xfinal a Ultimo

Iluminar pixel en coordenada X,Y

Hacer mientras X<Ultimo

Asignar X + 1 a X

Si ConstanteP < 0

Asignar  ConstanteP + 2 *DeltaY a ConstanteP

De lo contrario

Asignar Y+1 a Y

Asignar a ConstanteP el resultado de ConstanteP+2 *(DeltaY-DeltaX)

Iluminar pixel en coordenada X,Y

Fin de Algoritmo (Bresenham)




Ejercicio:
Escribe un programa que dibuje una línea en pantalla usando el algoritmo Bresenham.


Sigue leyendo para ver el resultado:

Algoritmo DDA - Dibujar línea - Programación C

martes, 13 de abril de 2010

Hoy os presentamos una función de C que dibuja un línea en pantalla usando el algoritmo DDA. Puedes tomártelo como un ejercicio de C como en post anteriores o simplemente ir al resultado.

Explicación del algoritmo

Es un algoritmo que se basa  en el  cálculo  y la evaluación de un DeltaX (X) y un DeltaY(Y). Por medio de las siguientes ecuaciones:


DeltaX = DeltaY / m
DeltaY = m * DeltaX


Se efectúa un muestreo de la línea en intervalos unitarios en una coordenada y se determinan los valores enteros correspondientes más próximos a la trayectoria de la línea para la siguiente coordenada.

Se aceptan como datos de entradas las dos posiciones de los pixeles correspondientes a los extremos de la línea  P1(Xinicial,Yinicial) y P2(Xfinal,Yfinal). Las diferencias horizontal y vertical entre las posiciones de los extremos dados, se asignan a las varialbles DeltaX y DeltaY respectivamente. La diferencia con la mayor magnitud determina el valor del parámetro Pasos. Se procede a determinar la compensación necesaria(incremento), para generar la posición del pixel siguiente a lo largo de la trayectoria de la línea. Luego, se ilumina la posición en la pantalla. y  se repite este proceso cíclico Pasos Veces, hasta obtener la línea deseada.

Pseucodigo

Leer Coordenadas P1(Xinicial, Yinicial)
Leer Coordenadas P2(Xfinal,Yfinal)
Asignar a  DeltaX la diferencia de Xfinal - Xinicial
Asignar a  DeltaY la diferencia de Yfinal - Yinicial

Si ABS( DeltaX) > ABS(DeltaY)
      Asignar a Pasos el ABS(DeltaX)
De lo contrario
      Asignar a Pasos el ABS(DeltaY)

Asignar a Xincremento el resultado de DeltaX / Pasos
Asignar a Yincremento el resultado de DeltaY / Pasos
Asignar a X el valor de Xinicial
Asignar a Y el valor de Yinicial
Iluminar pixel en coordenada X,Y

Desde k=1 hasta Pasos
    Asignar a X la suma de X + Xincremento

Asignar a Y la suma de Y + Yincremento
Iluminar pixel en Coodenada X,Y
Fin de Algoritmo(DDA)

Ejercicio:
Escribe un programa que dibuje una línea en pantalla.

Sigue leyendo para ver el resultado:
Para ejecutar el ejemplo es necesario tener la librería "graphics.h" de Borland.

Cuanto ocupa un fichero - Programación C

domingo, 11 de abril de 2010

Hoy os presentamos un nuevo ejercicio de programación en C. Dejamos aparte los punteros, arrays, etc y comenzamos a trabajar con ficheros. Os dejo a continuación el ejercicio:

Ejercicio:
Escribe un programa que nos diga el tamaño de un fichero. El programa pedirá al usuario el nombre del fichero del que desea saber su tamaño.

Sigue leyendo para ver el resultado:

Manejar direcciones en punteros y arrays - Programación C

domingo, 4 de abril de 2010

Seguimos con arrays, punteros y cadenas de caracteres.

Ejercicio:
Esto mas que un ejercicio, es un programa para ver como se manejan las direcciones en punteros, arrays… y así poder entender mejor como funcionan. Copiar y pegar este código en vuestro compilador y ejecutarlo. Observar detalladamente lo que hace en cada paso y como cambia la memoria en la que se guarda cada variable o dato.


Para ver el código sigue leyendo.

Cortar cadena de caracteres - Programación C

martes, 23 de marzo de 2010

Seguimos con  cadenas de caracteres, esta vez compararemos 2 cadenas de caracteres y cortaremos una de ellas.

Ejercicio:
El programa nos pedirá 2 cadenas de caracteres. Si la primera cadena coincide con alguna parte de la segunda, la segunda cadena se cortara por ese punto y quedara solo lo que haya después.
Ejemplo: Cadena 1:
que
         Cadena 2: hola como te va,
que tal estas?

Resultado: Cadena 2 quedaría así: que tal estas?


Para ver la solución sigue leyendo:

Comparación cadenas caracteres - Programación C

viernes, 5 de marzo de 2010

Continuamos con un nuevo ejercicio de cadenas de caracteres. En esta ocasión compararemos 2 cadenas de caracteres.

Ejercicio:
Introducir 2 cadenas de caracteres y que nos diga cual de las 2 es alfabéticamente menor.
  • Ejemplo: 
    • Cadena1: hola que tal
    • Cadena2: hola aqui 
La segunda cadena es alfabéticamente menor (irá comparando termino a termino hasta que uno de los caracteres sea diferente, entonces nos dirá cual de las 2 es alfabéticamente menor).

Para ver la solución sigue leyendo:

Ejercicio programación C - Longitud cadena caracteres

sábado, 13 de febrero de 2010

Siguiendo el mismo camino que el ejercicio anterior, hoy veremos como introducir una cadena de caracteres y que la aplicación nos indique la longitud de esa cadena. Este ejercicio vendrá bien para ir acostumbrándose a trabajar con cadenas de caracteres.

Ejercicio:
Programa que pida Introducir una cadena de caracteres y nos diga la longitud de la cadena. No usar la función “strlen”.

Para ver la solución sigue leyendo

Ejercicio C: Arrays - Secuencia de números

sábado, 30 de enero de 2010

Después de haber visto algunos ejercicios de programación en C básicos (1), (2) y (3) y después de haber creado una calculadora en C, hoy empezaremos con los Arrays. En este ejercicio resuelto de programación en C, trabajaremos sobre una secuencia de 100 números.

Ejercicio.
Pedir una secuencia de (como mucho) 100 números enteros, ordenarlos de menor a mayor y escribirlos por pantalla.


Para ver la solución sigue leyendo

Ejercicio resuelto C - Calculadora

miércoles, 20 de enero de 2010

Hoy os dejo un nuevo ejercicio de programación en C. En esta ocasión os dejo una aplicación que simula una calculadora. Nos servirá para repasar todas las nociones básicas de programación en C. Os dejo a continuación el enunciado y la solución.

Ejercicio 4.
Simula la memoria de una calculadora. El programa tendra que memorizar un numero (al principio inicializar a 0) y después el usuario podra elegir todas las veces que quiera y en el orden que quiera las siguientes opciones:
    - Ver el valor actual de la memoria de la calculadora
    - Inicializar la memoria a un valor
    - Multiplicar por un numero el contenido de la memoria
    - Dividir entre un numero el contenido de la memoria
    - Sumar un numero al contenido de la memoria
    - Restar un numero al contenido de la memoria 


Para ver la solución sigue leyendo

Ejercicios resueltos programación C - Conceptos básicos (3)

domingo, 10 de enero de 2010

Aquí va otra nueva entrega de ejercicios básicos de programación en C. Esta vez practicaremos con for, while y visualizaremos la información con espacios entre cada dígito.

Ejercicio 3.
Después de leer un numero entero y haberlo multiplicado por 17, sacar por pantalla el resultado pero con espacios entre cada dígito.

Sigue leyendo para ver el resultado