Está en la página 1de 19

DEPARTAMENTO ELÉCTRICA Y ELECTRÓNICA

CARRERA: INGENIERIA MECÁNICA

- NRC: 7531

ASIGNATURA: FUNDAMENTOS DE LA PROGRAMACION

- DEBER N° 1, SEMANA 1.1

- TEMA: CONSULTA

NOMBRE: STALIN OMAR GANCHALA SALAZAR

DOCENTE: ELEMBER NORBERTO GUANOLUIZA CEDILLO

FECHA: 02/11/2021

1
Consultar acerca delos siguientes temas y realizar su respectivo resumen.

VISUAL STUDIO CODE.

Es un editor de código fuente desarrollado


por Microsoft para Windows , Linux y macOS . Incluye soporte para depuración,
control de Git integrado, resaltado de sintaxis , finalización de código inteligente ,
fragmentos de código y refactorización de código . También es personalizable, de
modo que los usuarios pueden cambiar el tema del editor, los métodos abreviados
de teclado y las preferencias. Es gratuito y de código abierto.

HISTORIA
Visual Studio Code fue anunciado el 29 de abril de 2015 por Microsoft en la
conferencia Build de 2015. Una versión preliminar fue lanzada poco después. El 18
de noviembre de 2015, Visual Studio Code fue lanzado bajo la licencia MIT y su
código fuente fue publicado en GitHub. También se anunció el soporte de extensión.
El 14 de abril de 2016, Visual Studio Code graduó la etapa de vista previa pública y
se lanzó a la web.

CARACTERISTICAS

El código combina la interfaz de usuario optimizada de un editor moderno con


asistencia y navegación de código enriquecido y una experiencia de depuración
integrada, sin la necesidad de un IDE completo. Visual Studio Code, cuenta con
herramientas de Debug hasta opciones para actualización en tiempo real de nuestro
código en la vista del navegador y compilación en vivo de los lenguajes que lo
requieran (por ejemplo, en el caso de SASS a CSS). Además de las extensiones,
tendremos la posibilidad de optar por otros themes o bien configurarlo a nuestro
gusto. Para modificar el esquema de colores y los iconos

VENTAJAS

 Se puede utilizar como lenguajes de programación.


 Visual Studio Code es una herramienta que tiene soporte nativo para gran
variedad de lenguajes, entre ellos podemos destacar los principales del
desarrollo Web: HTML, CSS, y JavaScript, entre otros.
 Posibilidad de configurar la interfaz a nuestro gusto. De esta forma, podremos
tener más de un código visible al mismo tiempo, las carpetas de nuestro
proyecto y también acceso a la terminal o un detalle de problemas, entre otras
posibilidades.
 Existencia de una amplísima gama de temas o estilos visuales para Visual Studio
Code, que hacen el trabajo con el software más agradable a la vista.
 Goza de un soporte técnico formidable pues debido a su frecuente uso por la
comunidad de desarrolladores, se puede encontrar fácilmente documentación y
ayuda en foros y sitios relacionados.

RESUMEN

Es un editor de código fuente desarrollado por Microsoft para Windows, Linux y


macOS. Microsoft anunció Visual Studio Code el 29 de abril de 2015 en la
conferencia

2
Build 2015. El 18 de noviembre de 2015, Visual Studio Code se lanzó bajo la licencia
MIT y el código fuente se publicó en GitHub. También se ha anunciado el soporte
de extensión. Visual Studio Code tiene herramientas de depuración para brindar
opciones para la actualización en tiempo real de nuestro código en la vista del
navegador y la compilación en vivo de los lenguajes que lo requieran (por ejemplo,
en el caso de SASS a CSS). Visual Studio Code es una herramienta que cuenta con
soporte nativo para una amplia variedad de lenguajes, entre los que podemos
destacar los más importantes en el desarrollo web: HTML, CSS y JavaScript entre
otros. Existencia de una amplia gama de temas o estilos visuales para Visual Studio
Code que hacen que el software sea más agradable a la vista.

WxDev-C++

Un compilador es un programa informático que traduce un programa escrito en un


lenguaje de programación a otro lenguaje de programación, generando un programa
equivalente que la máquina será capaz de interpretar. Usualmente el segundo
lenguaje es lenguaje de máquina, pero también puede ser un código intermedio
(bytecode), o simplemente texto. Este proceso de traducción se conoce como
compilación.

El Dev-C++, es un IDE para crear aplicaciones utilizando el lenguaje de


programación C++, que ocupa muy poco tamaño en el disco duro, ideal para crear
programas pequeños en las que solo sea necesario demostrar el uso de estructuras
de control y estructuras de datos, estas aplicaciones se pueden compilar
rápidamente y ejecutar en forma de consola.

Embarcadero Dev-C++ es una nueva y mejorada version (patrocinada por


Embarcadero) de Bloodshed Dev-C++ y Orwell Dev-C++. Es un completo entorno de
desarrollo integrado (IDE) y editor de código para el lenguaje de programación C/C+
+. Utiliza el puerto Mingw de GCC (Colección de Compiladores GNU) como su
compilador. Embarcadero Dev-C++ también puede ser usado junto con Cygwin o
cualquier otro compilador basado en GCC. Embarcadero Dev-C++ está construido
con la última versión de Embarcadero Delphi. Embarcadero Dev-C++ ocupa poco
espacio de memoria porque es una aplicación nativa de Windows y no usa Electrón.

Introducción al software
En muchas ocasiones al enfrentarnos a la tarea de la enseñanza del lenguaje de
programación C++ y a la hora de impartirlo se debe decidir que IDE (entorno de
desarrollo integrado del inglés Integrated Development Environment) usar en clases,
podría ser una opción el C++ Builder, que es un IDE creado por la empresa Borland,
pero es un software propietario y además ocupa un tamaño en disco enorme por la
cantidad de posibilidades que ofrece y que muchas veces no es necesario utilizar ya
que los fundamentos de programación no exigen grandes prestaciones. Es por eso
que una aplicación pequeña y que forme parte del software de plataforma de código
abierto constituye una buena opción, siendo el software tratado en este artículo
(Dev- C++) una herramienta a tener en cuenta en estas circunstancias.

3
Algunas funciones y consideraciones importantes
Dev-C++ es un compilador y entorno de desarrollo para el lenguaje C/C++. Se trata
de una aplicación de código abierto, que ofrece todo tipo de facilidades para
desarrollar grandes proyectos en C++. La aplicación presenta resaltado de sintaxis,
depurador, una utilidad para crear instalaciones de nuestros programas, docenas de
librerías y ficheros de ejemplo, etc. Como opciones extra, Dev-C++ incluye múltiples
idiomas (incluido el español), explorador de clases y variables, plantillas, facilidad
para instalar librerías adicionales, etc. Todo esto sólo es una pequeña parte de las
posibilidades que se pueden encontrar en Dev-C++, un entorno de programación
verdaderamente recomendable para desarrolladores de cualquier nivel.
Entre otras ventajas desde el punto de vista técnico se puede señalar, que permite
importar los proyectos realizados anteriormente en MS Visual C++, se puede
exportar código fuente o proyectos a HTML o RTF para subir códigos a páginas
Web y compartirlos, se pueden insertar marcadores en el editor para desplazarse en
el código rápidamente, cada usuario puede crear su propia sintaxis coloreada, se
puede configurar el menú insertar para colocar los fragmentos de código que mas
uno utilice, permite insertar nuevos compiladores para compilar códigos fuente, tiene
una potente característica de autocompletar texto que permite aumentar la
productividad al sugerir los comandos disponibles en el contexto en que uno se
encuentra programando, tiene un explorador de clases que muestra las clases,
miembros y funciones y por otro lado la información relevante al archivo mostrado
en el editor, se pueden añadir carpetas personales en el explorador de clases para
encontrar lo que se busca en los grande proyectos, se puede guardar un proyecto
como una plantilla de esta forma se puede comenzar a programar con una base en
función a sus necesidades.
Características
 Sus principales características son las siguientes:
 Uso del compilador MinGW (Minimalist GNU for Windows).
 Práctico editor de código con coloreado de sintaxis, opciones de búsqueda,
reemplazar,
 Gran cantidad de opciones de configuración para personalizar el compilador,
el entorno o el propio editor.
 Inserción de marcadores y puntos de ruptura.
 Uso de atajos de teclado.
 Posibilidad de añadir, editar o eliminar herramientas.
 Selección de diferentes temas para la interfaz.
 Diseñador de forma de wxWidgets.
 Depurador integrado
 Completado de código
 Resaltado de sintaxis.
 Soporte para CSV
 Rápidamente se crean aplicaciones para Windows y de consola, librerías y
DLL

Ventajas y desventajas

4
Ventajas que presenta.
• Es un editor muy completo.
• Tiene multitud de utilidades en paralelo.
• Incluye bibliotecas, librerías DLL y plantillas.
• Tiene incorporado ayuda en varios idiomas.
Desventajas.
• Es más pesado que otros programas similares.
Consejo para el trabajo con el software
Después de instalado, para facilitar el trabajo, es necesario configurar algunas
opciones, para eso se debe ir al menú Herramientas/Opciones del
compilador/Configuración/Linker/Generar información de debug y se indica la opción
YES, seguidamente en el mismo menú Herramientas vamos a Opciones del
entorno/Principal: Activar Crear archivo de respaldo, después Opciones del editor/ y
se marca Activar Resaltar llaves y paréntesis concordantes. Después en Opciones
del editor/Visualización: activar Número de línea, esta opción es muy importante
porque indica los números de líneas del código y es muy útil porque se puede referir
a los estudiantes por el número de línea de una línea determinada.
Conclusiones finales sobre el software
El Dev-C++ es un entorno de desarrollo integrado que ocupa muy poco espacio en
disco, es ideal para los cursos de iniciación a la programación usando el lenguaje de
programación C y C++, pertenece a los software de plataformas de código abierto.
Es gratuito, y su uso es muy fácil, se puede instalar especificando el español como
idioma y se pude incorporar el manual de la biblioteca estándar de C, en
conclusiones es un IDE muy práctico para nuestras muchas circunstancias.

RESUMEN

Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser


un código intermedio (bytecode), o simplemente texto. El Dev-C , es un IDE para
crear aplicaciones utilizando el lenguaje de programación C , que ocupa muy poco
tamaño en el disco duro, ideal para crear programas pequeños en las que solo sea
necesario demostrar el uso de estructuras de control y estructuras de datos, estas
aplicaciones se pueden compilar rápidamente y ejecutar en forma de consola.
Embarcadero Dev- C también puede ser usado junto con Cygwin o cualquier otro
compilador basado en GCC.

Es una aplicación de código abierto que ofrece todo tipo de frameworks para
desarrollar grandes proyectos en C. La aplicación incluye resaltado de sintaxis, un
depurador, una utilidad para crear instalaciones de nuestros programas, decenas de
librerías y archivos de muestra, etc. Como opciones adicionales, DevC incluye
varios idiomas (incluido el español), explorador de clases y variables, plantillas, la
capacidad de instalar bibliotecas adicionales, etc.

5
Entre las otras ventajas desde un punto de vista técnico se puede destacar que
permite importar proyectos previamente realizados en MS Visual C, el código
fuente o proyectos se pueden exportar a HTML o RTF para cargar códigos en
páginas Web y compartirlos, marcadores. se puede insertar en el 'editor para
moverse rápidamente en el código, cada usuario puede crear su propia sintaxis de
color, el menú de inserción se puede configurar para colocar los fragmentos de
código que más usa, le permite insertar nuevos compiladores para compilar códigos
fuente, tiene una potente funcionalidad de finalización automática del texto que le
permite aumentar la productividad al sugerir los comandos disponibles en el
contexto en el que se está programando, tiene un explorador de clases que muestra
las clases, miembros y funciones y por otro lado la información relativa a el archivo
que se muestra en el editor, puede agregar carpetas personales en el explorador de
clases para encontrar lo que está buscando en esos grandes proyectos, puede
guardar un proyecto como plantilla para que pueda comenzar a programar de
acuerdo con sus necesidades. Luego en Opciones Editor / Vista: activar Número de
línea, esta opción es muy importante porque indica el número de líneas de código y
es muy útil porque puede referirse a los estudiantes por el número de línea de una
línea en particular. DevC es un entorno de desarrollo integrado que ocupa muy poco
espacio en disco, es ideal para cursos de iniciación a la programación utilizando los
lenguajes de programación C y C, pertenece a la plataforma de software de código
abierto.

ZINJAI
ZinjaI es un IDE (entorno de desarrollo integrado) libre y gratuito para programar
en C/C++ creado por Pablo Novara, el mismo autor de PSEINT. Pensado
originalmente para ser utilizado por estudiantes de programación durante el
aprendizaje, presenta una interfaz inicial muy sencilla, pero sin dejar de incluir
funcionalidades avanzadas que permiten el desarrollo de proyectos tan complejos
como el propio ZinjaI. Existen versiones para Windows y para Linux, y tiene licencia
GPL… por lo que es Software Libre.

Entre sus características incluye:

 facilidades de edición: coloreado de sintaxis, plegado de código,


búsquehttp://texmakerx.sourceforge.net/img/example.pngda y reemplazo
avanzados, comandos especiales para C++, indentado inteligente manual y
automático, etc.
 desarrollo rápido de ejercicios sin necesidad de crear ni configurar proyectos
 completo sistema de ayuda totalmente en español: documentación sobre
el uso de la IDE, tutoriales, uso de las caracteristicas avanzadas, etc, así
como tambíen ayuda rápida integrada sobre el lenguaje C++ estándar
(incompleta, aún en contrucción)
 autocompletado y ayuda en llamadas a funciones
 manejo de templates, tanto de proyectos, como de ejercicios simples
 resultados de la compilación mejorados: presentación de errores y
advertencias en forma de árbol, reexpresando algunas líneas o descartando
otras para una mejor lectura de los mismos

6
 depuración: manejo de inspecciones, exploración de objetos gdb, puntos de
interrupción, (breakpoints, breakpoints condicionales y watchpoints), trazado
inverso, ejecución paso a paso, visualización de clases, vectores y matrices
en tablas, etc.
 manejo de proyectos: multiples perfiles de configuración, opciones de
compilación y enlazado avanzadas, etc
 compartición de fuentes: permite pasar facilmente las fuentes sobre los que
se trabaja de una PC a otras a travez de una LAN.
 portabilidad: puede ejecutarse bajo Windows o GNU/Linux?, convirtiendo
automática y transparentemente las rutas y opciones definidas en los
proyectos al abrir el archivo en uno u otro sistema.
 representaciones visuales: puede dibujar diagramas de flujo o jerarquias de
clases automaticamente a partir del código fuente.
 integración con herramientas externas: comparación y combinación de
fuentes con diff, generación de documentación con doxygen, perfilado de
ejecución con gprof y gprof2dot, etc.
 software libre y gratuito: licencia GPL

En general, ZinjaI posee prácticamente las mismas características de los mejores


IDEs y procesadores de texto entre ellos: DevCpp, Geany y Notepad++. ZinjaI
tiene la opción de crear un Diagrama de Flujo del programa, lo cual es muy útil
para apreciar el funcionamiento del mismo. Se puede trabajar en tiempo real con
otros programadores que estén utilizando ZinjaI agilizando mucho el trabajo en
equipo sobre un proyecto. Y una característica que lo hace muy especial, es
que es sumamente sencillo de manejar.

Por otro lado, una de las limitaciones de ZinjaI es que está hecho sólo para C++ (y
para C), mientras que otros IDEs tienen soporte para al menos 20 lenguajes. Y una
deficiencia “extraña”, que para algunos puede parecer irrelevante, es que no tiene la
opción para cambiar los colores de las diferentes palabras clave del lenguaje (cosa
bastante común en todo tipo de procesadores de texto).

RESUMEN

ZinjaI es un IDE (entorno de desarrollo integrado) libre y gratuito para la


programación en C / C creado por Pablo Novara, el mismo autor de PSEINT.
Originalmente pensada para ser utilizada por estudiantes de programación mientras
aprenden, tiene una interfaz inicial muy simple, pero aún incluye características
avanzadas que permiten el desarrollo de proyectos complejos como el propio ZinjaI.
Hay versiones para Windows y Linux, y tiene licencia GPL, por lo que es software
libre. En general, ZinjaI tiene prácticamente las mismas características que los
mejores IDE y procesadores de texto, incluidos DevCpp, Geany y Notepad. ZinjaI
tiene la posibilidad de crear un Flow Chart del programa, muy útil para apreciar su
funcionamiento. Y una deficiencia "extraña", que puede parecer irrelevante para
algunos, es que no tienes la capacidad de cambiar los colores de las diferentes
palabras clave en el idioma (lo cual es bastante común en todos los tipos de
procesadores de texto).

7
CODE BLOKS
Code Bloks. Uno de los lenguajes más utilizados para programar, o aprender a
programar es C++ y Code::Blocks es un entorno de desarrollo integrado libre y
multiplataforma para el desarrollo de programas en lenguaje C++. Está basado en la
plataforma de interfaces gráficas WxWidgets, lo cual quiere decir que puede usarse
libremente en diversos sistemas operativos, y está licenciado bajo la Licencia
pública general de GNU. Es una herramienta para desarrollar programas en C++
muy potente, proporcionando a los usuarios una interfaz que permite trabajar con
facilidad.
Historia
Debido a que Dev-C++ es un IDE para programar en C y C++ y está creado en
Delphi, surgió la idea y necesidad de crear un IDE hecho en los lenguajes
adecuados: C y C++. Con esta motivación se creó el IDE Code::Blocks.
Después de liberar dos versiones candidatas para la versión final, 1.0rc1 el 25 de
julio de 2005 y 1.0rc2 el 25 de octubre de 2005, en vez de crear una versión final,
los desarrolladores del proyecto decidieron no hacerlo, y comenzaron a añadir
algunas características nuevas, con lo que la liberación de una versión final
comenzó a ser repetidamente postpuesta.
Por el contrario, se disponía frecuentemente de paquetes binarios de la última
versión del repositorio SVN -llamadas "nightly builds"-, que los usuarios podían
descargar y utilizar. Estas normalmente recibían mejor soporte que la última versión
oficial lanzada, la 1.0rc2. Mientras que este método proveía a los usuarios de las
últimas mejoras del IDE y permitía a los desarrolladores obtener información
constante del funcionamiento, se creó la falsa ilusión de que el proyecto estaba
estancado (debido a que no salían nuevas versiones oficiales).
La primera versión estable fue finalmente liberada el 28 de febrero de 2008, con el
número de versión 8.02. El esquema de numeración para la versión fue cambiado al
mismo seguido por Ubuntu, donde el mayor número (el primero) representa el año y
el menor representa el mes de la versión liberada.
El modelo de trabajo continuó siendo el mismo. En vez de crear dos ramas, una
para la versión final, donde las correcciones de bugs se añadían y otra rama de
desarrollo donde se incluían nuevas características todas las nuevas características
y correcciones de bugs son añadidas en el mismo espacio de código. En realidad
los desarrolladores realizan las modificaciones cada uno en su propio entorno, y
solo añaden modificaciones cuando están seguros de su buen funcionamiento. Esto
hace que las versiones "nightly build" sean muy estables y usables.
Características
Code::Blocks es un IDE construido como un núcleo altamente expansible mediante
complementos (plugins). Actualmente la mayor parte de la funcionalidad viene
provista por los complementos incluidos predeterminadamente. No es un IDE
autonómo que acepta complementos, sino que es un núcleo abstracto donde los
complementos se convierten en una parte vital del sistema. Esto lo convierte en una
plataforma muy dinámica y potente, no solo por la facilidad con que puede
incluirse
8
nueva funcionalidad, sino por la capacidad de poder usarla para construir otras
herramientas de desarrollo tan solo añadiendo complementos.
Edición visual
Como ejemplo de la funcionalidad que un complemento puede llegar a añadir,
podemos nombrar uno de los complementos incluidos predeterminadamente:
WxSmith. Este complemento provee a Code::Blocks de funcionalidad para edición
visual.
Soporte de compiladores
Debido a que en sí Code::Blocks es solo la interfaz del entorno de desarrollo, puede
enlazarse a una variedad de compiladores para poder desarrollar su trabajo. Por
defecto, Code::Blocks buscará una serie de compiladores y configurará los que
halle. En particular, usa MinGW.
Otros compiladores soportados:
• Microsoft Visual Studio Toolkit (una extensión de compilador de
C++ de Microsoft)
• GCC, en sus versiones para Microsoft (ya sea MinGW o Cygwin) y
GNU/Linux;
• Borland C++ Compiler
• Digital Mars Compiler
• Intel C++ Compiler
• Open Watcom
Todos estos compiladores pueden ser detectados automáticamente si están ya
instalados al iniciar Code::Blocks.
Aunque no está oficialmente soportado (producto de su bajo nivel de adhesión a la
norma de C++), Microsoft Visual Studio 6 puede ser configurado y utilizado, aunque
no con muy buenos resultados.
Soporte para otros compiladores puede ser añadido.
Características del entorno
Entorno principal de Code::Blocks en GNU/Linux.
Entre otras, Code::Blocks soporta varias de las características ya consideradas
"clásicas" y que sirven de apoyo a la programación:
• Espacios de trabajo (workspaces) para combinar múltiples
proyectos.
• Espacio de trabajo adaptable (cambia según la tarea que se esté
realizando o como se configure).
• Navegador de proyectos; vista de archivos, símbolos (heredados,
etc.), clases, recursos.
• Editor tabulado, múltiples archivos.
• Intercambio rápido.

9
• Lista de tareas (ToDo).
Características de edición
• Coloreo de sintaxis configurable.
• Tabulación inteligente de código.
• Autocódigo (generar plantillas de código para proyectos).
• Autocompletado de código.
o Lista desplegable.
o Vista de argumentos de una función.
o Selección múltiple de funciones sobrecargadas.
• Generación de clases (class wizard).
• Búsquedas avanzadas de cadenas dentro de archivos: actual,
abiertos, proyecto, workspace, en carpetas).
Características de compilación
• Sistema de construcción (build) rápido (sin necesidad de
makefiles).
• Soporte para compilación en paralelo (usando múltiples
procesadores/núcleos).
• Dependencias entre proyectos dentro del espacio de trabajo.
• Proyectos con múltiples objetivos (multi-target).
• Estadísticas y resumen de código (code profiler).
Características de depuración
Entorno de depuración de Code::Blocks en Windows.
• Interfaz con GNU GDB.
• Soporta MS CDB (no completamente).
• Puntos de ruptura (breakpoints).
 Código, datos.
 Ruptura condicional.
• Funciones locales (argumentos).
• Ver valores de variables (también definidas por el usuario).
 Pila de llamadas.
• Desensamblado de código.
• Volcados de memoria.
• Múltiples hilos (threads).
• Registros de CPU.
Compatibilidad con bibliotecas
Code::Blocks trae integradas plantillas para generar varias clases de programas,
ya sea la clásica aplicación de consola, bibliotecas estáticas o dinámicas, o
proyectos completos enlazados con populares bibliotecas como OpenGL y SDL;
sin embargo, Code::Blocks integra sólo las plantillas, las bibliotecas deben
instalarse por separado. [editar] Más características
Otras características de Code::Blocks:

10
• Importación de proyectos Visual C++ y Dev-C++.
• Soporte para packs del Dev-C++.
• Inclusión y generación de plug-ins.
• Generación de XML para proyectos.
• Exportación a formatos XML, RTF y de OpenOffice.org.
CodeBlocks es un IDE libre, de código abierto, multiplataforma construido para
satisfacer las necesidades de sus usuarios. Está diseñado para ser muy extensible y
completamente configurable a las necesidades que a los desarrolladores les puedan
surgir. Este es un IDE con todas las características necesarias, con una apariencia
consistente a través de diferentes plataformas.
Este IDE ha sido construido entorno a un marco de complemento. Con esto se ha
conseguido que CodeBlocks se pueda ampliar fácilmente mediante un catálogo
plugins. Cualquier tipo de funcionalidad se puede agregar mediante la instalación /
codificación de un complemento. Por ejemplo, la compilación y la depuración de la
funcionalidad ya está a cargo de los complementos.
Además, implementa un sistema de construcción a medida con características muy
importantes: nos proporcionará una ultra rápida generación de dependencias, nos
permitirá construir colas y compilaciones paralelas son solo algunas que creo que
hay que mencionar.
A pesar de que es un IDE completamente funcional, no soporta muy bien grandes
proyectos. Puede ser difícil manejar grandes cantidades de archivos a través de
repositorios en línea. Por esto creo que este IDE es menos adecuado para
proyectos grandes que por ejemplo, Visual Studio.
CodeBlocks es el entorno de desarrollo integral y gratuito, que ha sido desarrollado
pensando en los programadores de C++. Este programa va a brindar facilidades y
comodidades a la hora de trabajar con este tipo de lenguaje.
El IDE está basado en la plataforma de interfaces gráficas wxWidgets. Esto quiere
decir que puede utilizarse libremente en diversos sistemas operativos, y que está
licenciado bajo la GNU/GPL.
Es compatible con veinte compiladores distintos, incluyendo algunos tan populares
como son: GCC, Microsoft Visual C++, Tiny C, Digital Mars y Borland C++. Además
está dotado de una serie de plantillas que proporcionarán la comodidad que se
necesitan en este tipo de trabajos. También es posible añadirle plugins para poder
realizar un mejor desarrollo de tus proyectos.
RESUMEN
CodeBlocks es un IDE multiplataforma, de código abierto y gratuito creado para
satisfacer las necesidades de sus usuarios. Está diseñado para ser muy extensible
y totalmente configurable según las necesidades de los desarrolladores. Este es un
IDE con todas las características necesarias, con un aspecto y una sensación
coherentes en diferentes plataformas.

11
Implementa un sistema de compilación personalizado con características muy
importantes: nos proporcionará una generación de dependencias ultrarrápida, nos
permitirá construir colas paralelas y compilaciones son solo algunas de las que creo
que deberían mencionarse. Es por eso que creo que este IDE es menos adecuado
para proyectos grandes que Visual Studio, por ejemplo.
CodeBlocks es el entorno de desarrollo gratuito y completo que se desarrolló
pensando en los programadores de C. Una de las características de este programa
es proporcionar a los usuarios un sistema de complementos para poder trabajar con
otros lenguajes de programación.

ALGORITMO INFORMÁTICO

Qué es un algoritmo informático: características, tipos y ejemplos

Un algoritmo es un procedimiento paso a paso para conseguir un fin. Es un


concepto comúnmente relacionado con el ámbito de la informática. En este post,
explicamos en qué consiste un algoritmo informático y recopilamos los principales
tipos y algunos ejemplos.

Definición de algoritmo informático

Un algoritmo es una serie de instrucciones secuenciales ―es decir, que van uno
después del otro― que permiten ejecutar acciones o programas. Es crucial para
avances tecnológicos como la inteligencia artificial. Algunos programadores afirman
que dicha secuencia es más importante que el lenguaje de programación y la
computadora.

En programación, supone el paso previo a ponerse a escribir el código. Primero


debemos encontrar la solución al problema (definir el algoritmo informático), para
luego, a través del código, poder indicarle a la máquina qué acciones queremos que
lleve a cabo. De este modo, un programa informático no sería más que un conjunto
de algoritmos ordenados y codificados en un lenguaje de programación para poder
ser ejecutados en un ordenador.

No obstante, los algoritmos no son algo exclusivo de los ámbitos de las


matemáticas, la lógica y la computación. Utilizamos numerosos algoritmos para
resolver problemas en nuestra vida cotidiana. Algunos de los ejemplos más
habituales son los manuales de instrucciones o las recetas de cocina.

Partes de un algoritmo informático

Las tres partes de un algoritmo son:

1. Input (entrada). Información que damos al algoritmo con la que va a


trabajar para ofrecer la solución esperada.
2. Proceso. Conjunto de pasos para que, a partir de los datos de entrada,
llegue a la solución de la situación.

12
3. Output (salida). Resultados, a partir de la transformación de los valores de
entrada durante el proceso.

De este modo, un algoritmo informático parte de un estado inicial y de unos valores


de entrada, sigue una serie de pasos sucesivos y llega a un estado final en el que
ha obtenido una solución.

Características de los algoritmos

Asimismo, los algoritmos presentan una serie de características comunes.


Son:

• Precisos. Objetivos, sin ambigüedad.


• Ordenados. Presentan una secuencia clara y precisa para poder
llegar a la solución.
• Finitos. Contienen un número determinado de pasos.
• Concretos. Ofrecen una solución determinada para la situación o
problema planteados.
• Definidos. El mismo algoritmo debe dar el mismo resultado al recibir
la misma entrada.

Tipos de algoritmos y ejemplos

Existen diversas clasificaciones de algoritmos, en función de diferentes criterios.


Según su sistema de signos (cómo describen los pasos a seguir), se distingue entre
algoritmos cuantitativos y cualitativos, si lo hacen a través de cálculos matemáticos
o secuencias lógicas. Asimismo, si requieren o no el empleo de un ordenador para
su resolución, se clasifican en computacionales y no computacionales.

Pero, si nos fijamos en su función (qué hace) y su estrategia para llegar a la solución
(cómo lo hace), encontramos muchos más tipos de algoritmos. Destacamos cinco
algoritmos informáticos:

• Cuantitativos: son aquellos cuya resolución depende de un cálculo


matemático.
 Ejemplo: volviendo a Facebook, muchas de las funciones de las
métricas son cuantitativas. Por ejemplo, sumar cuántas vistas tuvo
una publicación, el número de interacciones y el cruce resultante de
ambos datos para tener una media.
• Cualitativos: su resolución no involucra cálculos numéricos, sino
secuencias lógicas.
 Ejemplo: la inteligencia artificial ha permitido el desarrollo de
programas para la detección de fraudes bancarios.

Algoritmos de búsqueda

Los algoritmos de búsqueda localizan uno o varios elementos que presenten una
serie de propiedades dentro de una estructura de datos. Existen diversos tipos de
búsquedas, entre las que sobresalen:

13
• Búsqueda secuencial. En la que se compara el elemento a localizar
con cada elemento del conjunto hasta encontrarlo o hasta que
hayamos comparado todos.
• Búsqueda binaria. En un conjunto de elementos ordenados, hace
una comparación con el elemento ubicado en el medio y, si no son
iguales, continúa la búsqueda en la mitad donde puede estar. Y así
sucesivamente en intervalos cada vez más pequeños de
elementos.

Algoritmos de ordenamiento

Reorganizan los elementos de un listado según una relación de orden. Las más
habituales son el orden numérico y el orden lexicográfico. Un orden eficiente
optimiza el uso de algoritmos como los de búsqueda y facilitan la consecución de
resultados legibles por personas y no solo máquinas.

Algunos algoritmos de ordenamiento son:

• Ordenamiento de burbuja. Compara cada elemento de la lista a


ordenar con el siguiente e intercambia su posición si no están en el
orden adecuado. Se revisa varias veces toda la lista hasta que no
se necesiten más intercambios.
• Ordenamiento por selección. Vamos colocando el elemento más
pequeño disponible en cada una de las posiciones de la lista de
forma consecutiva.
• Ordenamiento rápido. Elegimos un elemento del conjunto (pivote) y
reubicamos el resto a cada uno de sus lados, en función de si son
mayores o menores que el elemento que estamos tomando como
referencia. Repetimos el procedimiento en cada subconjunto.

Algoritmos voraces

Los algoritmos voraces consisten en una estrategia de búsqueda que sigue una
heurística en la que se elige la mejor opción óptima en cada paso local con el
objetivo de llegar a una solución general óptima. Es decir, en cada paso del proceso
escogen el mejor elemento (elemento prometedor) y comprueban que pueda formar
parte de una solución global factible. Normalmente se utilizan para resolver
problemas de optimización.

En ocasiones, estos algoritmos no encuentran la solución global óptima, ya que al


tomar una decisión solo tienen en cuenta la información de las decisiones que han
tomado hasta el momento y no las futuras que puede adoptar. Algunos casos en los
que los algoritmos voraces alcanzan soluciones óptimas son:

• Problema de la mochila fraccional (KP). Disponemos de una


colección de objetos (cada uno de ellos con un valor y un peso
asociados) y debemos determinar cuáles colocar en la mochila para
lograr transportar el valor máximo sin superar el peso que puede
soportar.

14
• Algoritmo de Dijkstra. Utilizado para determinar el camino más corto
desde un vértice origen hasta los demás vértices de un grafo, que
tiene pesos en cada arista.
• Codificación Huffman. Método de compresión de datos sin perder
información, que analiza la frecuencia de aparición de caracteres
de un mensaje y les asigna un código de longitud variable. Cuanto
mayor sea la frecuencia le corresponderá un código más corto.

Algoritmos probabilísticos

Es una técnica que usa una fuente de aleatoriedad como parte de su lógica.
Mediante un muestreo aleatorio de la entrada llega a una solución que puede no ser
totalmente óptima, pero que es adecuada para el problema planteado.

Se utiliza en situaciones con limitaciones de tiempo o memoria y cuando se puede


aceptar una buena solución de media, ya que a partir de los mismos datos se
pueden obtener soluciones diferentes y algunas erróneas. Para que sea más
probable ofrecer una solución correcta, se repite el algoritmo varias veces con
diferentes submuestras aleatorias y se comparan los resultados.

Existen dos tipos principales de algoritmos probabilísticos:

• Algoritmo de Montecarlo. Dependiendo de la entrada, hay una


pequeña probabilidad de que no acierte o no llegue a una solución.
Se puede reducir la probabilidad de error aumentando el tiempo de
cálculo.
• Algoritmo de Las Vegas. Se ejecuta en un periodo de tiempo
concreto. Si encuentra una solución en ese tiempo ésta será
correcta, pero es posible que el tiempo se agote y no encuentre
ninguna solución.

Pruebas de escritorio en programación

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.

En las secciones correspondientes al algoritmo de Euclides de las entradas


Diagramas de flujo y Pseudo código respectivamente, se muestra esencialmente el
mismo algoritmo en dos notaciones distintas. El algoritmo de Euclides determina el
Máximo Común Divisor (MCD) de dos números enteros positivos.

Una prueba de escritorio es un tipo de prueba algorítmica, que consiste en la


validación y verificación del algoritmo a través de la ejecución de las sentencias que
lo componen (proceso) para determinar sus resultados (salida) a partir de un
conjunto determinado de elementos (entrada).

Representación de un algoritmo

15
Las principales maneras de representación de un algoritmo son a través de código
fuente haciendo uso de un lenguaje de programación, a través de pseudocódigo, a
través de un diagrama de flujo o a través de un sistema formal

La etapa de diseño se centra en desarrollar el algoritmo basándonos en las


especificaciones de la etapa del análisis; un algoritmo lo podemos representar
mediante el diagrama de flujo o el pseudocódigo.

Diagrama de flujo

Un diagrama de flujo es la representación gráfica de un algoritmo. También se


puede decir que es la representación detallada en forma gráfica de cómo deben
realizarse los pasos en la computadora para producir los resultados deseados.

Esta representación gráfica se da cuando varios símbolos (que indican diferentes


procesos en la computadora) se relacionan entre sí mediante líneas que indican el
orden en que se deben ejecutar los procesos. Los símbolos utilizados han sido
normalizados por el Instituto Norteamericano de Normalización (ansí)

Características de los diagramas de flujo:

 Todo diagrama debe tener un inicio y un fin.


 No se especifica la declaración de variables.
 No se agregan las líneas de impresión de etiquetas.
 Se deben usar solamente líneas de flujo horizontales y/o verticales.
 Se debe evitar el cruce de líneas utilizando los conectores.
 Se deben usar conectores sólo cuando sea necesario.
 No deben quedar líneas de flujo sin conectar.
 Se deben trazar los símbolos de manera que se puedan leer de arriba hacia
abajo y de izquierda a derecha.
 Todo texto escrito dentro de un símbolo deberá ser escrito claramente,
evitando el uso de muchas palabras.
 Evitar la terminología de un lenguaje de programación o máquina.
 Utilizar comentarios ya sea al margen o mediante el símbolo gráfico
comentarios para que éste sea entendible por cualquier persona que lo
consulte.
 Si el diagrama abarca más de una hoja es conveniente enumerarlo e
identificar de dónde viene y a dónde se dirige.

Pseudocódigo

El pseudocódigo es una mezcla de lenguaje de programación y español (o inglés o


cualquier otro idioma) que se emplea, dentro de la programación estructurada, para
realizar el diseño de un programa. En esencial, el pseudocódigo se puede definir
como un lenguaje de especificaciones de algoritmos.

Es la representación narrativa de los pasos que debe seguir un algoritmo para dar
solución a un problema determinado. El pseudocódigo utiliza palabras que indican
el proceso a realizar.

16
El pseudocódigo se concibió para superar las dos principales desventajas del
diagrama de flujo: es lento de crear y difícil de modificar sin un nuevo redibujo. Por
otra parte, el pseudocódigo es más fácil de utilizar ya que es similar al lenguaje
natural.

Al contrario de los lenguajes de programación de alto nivel como Pascal o Basic, no


existe un conjunto de reglas que definan con precisión lo que es y lo que no es
pseudocódigo. Varía de un programador a otro.

El pseudocódigo requiere de ciertos símbolos que ya tienen significado preciso y


establecido, a los que se les conoce como palabras clave. Es necesario que exista
una palabra clave para la selección y otra para la iteración condicional, así como
para las instrucciones adicionales y otras estructuras de control.

Todo pseudocódigo en este documento lo iniciaremos con la palabra reservada


principal para especificar la función denominada (main) en lenguaje C. Todo
programa, al igual que toda función, debe contener las palabras reservadas un inicio
y un fin que delimita las instrucciones de la misma.

RESUMEN

Un algoritmo es una serie de instrucciones secuenciales, es decir, que van uno


después del otro, que permiten ejecutar acciones o programas. Primero debemos
encontrar la solución al problema (definir el algoritmo informático), para luego, a
través del código, poder indicarle a la máquina qué acciones queremos que lleve a
cabo. De este modo, un programa informático no sería más que un conjunto de
algoritmos ordenados y codificados en un lenguaje de programación para poder ser
ejecutados en un ordenador.

No obstante, los algoritmos no son algo exclusivo de los ámbitos de las


matemáticas, la lógica y la computación. Algunos de los ejemplos más habituales
son los manuales de instrucciones o las recetas de cocina. Información que damos
al algoritmo con la que va a trabajar para ofrecer la solución esperada. Conjunto de
pasos para que, a partir de los datos de entrada, llegue a la solución de la situación.
De este modo, un algoritmo informático parte de un estado inicial y de unos valores
de entrada, sigue una serie de pasos sucesivos y llega a un estado final en el que
ha obtenido una solución. Asimismo, los algoritmos presentan una serie de
características comunes. Presentan una secuencia clara y precisa para poder llegar
a la solución. Ofrecen una solución determinada para la situación o problema
planteados.

Las pruebas de escritorio son simulaciones del comportamiento de un algoritmo que


permiten determinar su validez. En las secciones del algoritmo euclidiano de los
diagramas de flujo o entradas de pseudocódigo, se muestra esencialmente el
mismo algoritmo en dos notaciones diferentes.

Las principales maneras de representación de un algoritmo son a través de código


fuente haciendo uso de un lenguaje de programación, a través de pseudocódigo, a
través de un diagrama de flujo o a través de un sistema formal.

17
Un algoritmo lo podemos representar mediante el diagrama de flujo o el
pseudocódigo. Un diagrama de flujo es la representación gráfica de un algoritmo.
También se puede decir que es la representación detallada en forma gráfica de
cómo deben realizarse los pasos en la computadora para producir los resultados
deseados. Esta representación gráfica se da cuando varios símbolos (que indican
diferentes procesos en la computadora) se relacionan entre sí mediante líneas que
indican el orden en que se deben ejecutar los procesos. El pseudocódigo es una
mezcla de lenguaje de programación y español (o inglés o cualquier otro idioma)
que se emplea, dentro de la programación estructurada, para realizar el diseño de
un programa. Es la representación narrativa de los pasos que debe seguir un
algoritmo para dar solución a un problema determinado. El pseudocódigo se
concibió para superar las dos principales desventajas del diagrama de flujo: es lento
de crear y difícil de modificar sin un nuevo redibujo. El pseudocódigo requiere de
ciertos símbolos que ya tienen significado preciso y establecido, a los que se les
conoce como palabras clave. Todo pseudocódigo en este documento lo iniciaremos
con la palabra reservada principal para especificar la función denominada (main) en
lenguaje C.

APLICATIVOS QUE PERMITEN CORRER UN PROGRAMA EN C EN LÍNEA

A continuación, una lista de sitios web que pueden correr y depurar su lenguaje de
programación preferido en línea:

1. Ideone

Ideone es un compilador y depurador en línea que permite compilar y ejecutar


código en más de 40 lenguajes de programación: Ada, assembler, AWK, Bash, C#,
C++, Clojure, COBOL, Erlang, F#, Falcon, Fortran, Go, Java, JavaScript, Lua,
Node.js, Objective-C, Pascal, Perl, PHP, Python, Ruby, SQL, VB.NET e.t.c.

2. Codepad

Codepad es un compilador/interprete y una simple herramienta de colaboración en


linea. Uno pega el código y codepad lo ejecuta devolviendonos una URL corta que
podemos utilizar para compartirlo.

3. WriteCodeOnline.com

Esta sencilla herramienta nos permite ejecutar sólo PHP y Javascript en línea.

4. viper-7

Viper7 es otro editor en línea que nos permite escribir y correr código PHP.

5. Repl.it

Repl.it es nos ofrece JavaScript, Python, Ruby, Scheme, Lua, CoffeeScript y más.
En este sitio podemos ejecutar y compartir código.

6. Runcode

18
Runcode es otro editor de código en línea para ejecutar fragmentos de código en
varios lenguajes desde nuestro navegador.

7. Pythonanywhere.com

PythonAnywhere es un entorno de desarrollo y alojamiento de Python pago. El


código se muestra en nuestros navegadores pero se ejecuta en los servidores del
sitio. Es fácil de usar, rápido y potente. También tienen un plan gratuito.

BIBLIOGRAFÍA

https://www.embarcadero.com/es/free -tools/dev-cpp

https://www.monografias.com/docs/Diferencias-entre-Turbo-C-Borland-C++-y-
P3C3QFAZBZ

https://www.ecured.cu/Dev -C%2B%2B

https://texteditors.org/cgi-bin/wiki.pl?ZinjaI

https://ubunlog.com/codeblocks-ide-desarrollo-ubuntu/

https://www.avantel.co/blog/tecnologia/que-es-un-algoritmo-programacion-para-
que- sirve/

https://profile.es/blog/que-es-un-algoritmo- informatico/#:~:text=Un%20algoritmo
%20inform%C3%A1tico%20es%20un,problem a%20o%20realizar%20una
%20tarea.&text=De%20este%20modo%2C%20un%20pr ograma,ser
%20ejecutados%20en%20un%20ordenador.

https://www.santiagobarrionuevo.com/7-sitios-donde-ejecutar-codigo-online/

19

También podría gustarte