Вы находитесь на странице: 1из 11

LABORATORIO Nº5 FECHA 10 de Abril de 2108

MATERIA: PROGRAMACION-SIS 1110 PARALELO: ”F”

ALUMNO:

TEMA: Entorno de programación CodeBlock. Estructura Secuencial


Objetivos:
·Conocer el entorno de programación CodeBlocks.
·Editar, compilar y ejecutar programas en C++.
·Conocer los principios básicos de la sintaxis en C++.
·Ejecutar programas secuenciales en C++.
Tarea:

Cuestionario:
1.- nombre otros IDEs para programación de C++
Dev-C++: Este emplea el compilador MinGW y esta creado mediante el
Entorno Delphi y el lenguaje Object Pascal, se trata de un software libre,
sencillo, ligero y eficiente, para la plataforma Windows, que cuenta con un
arsenal de herramienta que permiten la programación rápida de aplicaciones
complejas. Actualmente está desactualizado, también existen variantes de
este IDE como wxDev C++ que integra características extra para la creación
de interfaces.

PAG1
ALUMNO:
Code::Blocks: Es una alternativa a Dev-C++ que ha sido desarrollada
mediante el propio lenguaje C++, también es un software libre, pero en este
caso es multiplataforma. Sus capacidades son bastante buenas y es muy
popular entre los nuevos programadores. Se puede encontrar separado del
compilado o la versión “mingw” que incluye g++ (GCC para C++).

Visual C++: Como ya he mencionado, se trata tanto de un


módulo del entorno Visual Studio como un compilador, posee
editor de interfaces gráficas y una serie de asistentes que
hacen muy cómodo el proceso de desarrollo. En realidad el
lenguaje que se emplea es un dialecto de C++ compatible con
la plataforma .NET de Microsoft.

C++Builder: Esta es la opción desarrollada por Borland


(antigua líder en producción de compiladores C++) y
actualmente propiedad de la empresa Embarcadero
Technologies, es un software propietario y de pago, destinado
a la plataforma Windows.

NetBeans: Este IDE libre y multiplataforma, está destinado


originalmente a la programación mediante el lenguaje Java,
sin embargo con la implementación un paquete de software
adicional, puede emplearse para desarrollar mediante C/C++.

Eclipse: Al igual que el anterior, su principal propósito es


programar mediante Java pero puede expandirse para
soportar C++ y también es tanto libre como multiplataforma.

MonoDevelop: Esta es una alternativa a Visual Studio, no


tan conocida como su competidor, pues sus características
son similares, pero este IDE es multiplataforma y de software
libre. Posee un editor de interfaces graficas que implementa la
biblioteca GTK y es compatible con el .Net Framework de
Microsoft.
PAG2
ALUMNO:
Xcode: Para la plataforma Mac este es el IDE más utilizado,
trabaja en combinación con el compilador GCC y con Interface
Builder, este último es un diseñador de interfaz gráfica que
facilita el diseño mediante el proceso de arrastrar y soltar
controles en un espacio de trabajo.

2.-¿Qué diferencia hay entre editar, compilar y ejecutar un programa en C++?


Bueno la diferencia seria que en editar podemos tener un programa que este
en C++ y que tenga ya un comando donde podemos configurarlo o editarlo
aumentando o disminuyendo algunas cosa
En compilador podemos obtener ayuda de otros libros acerca de C++ para
nuestra propia ayuda
En informática, ejecutar es la acción de iniciar la carga de
unprograma o de cualquier archivo ejecutable. En otras palabras, la
ejecución es el proceso mediante el cual una computadora lleva a
cabo las instrucciones de unprograma informático.
3.-¿Qué tipo de errores nos proporciona el compilador?
A continuación se describen los mensajes más comunes que muestra el
compilador. Se ofrecen ejemplos de código para ilustrar las causas del error,
pero debe tenerse en cuenta que cada programa tiene una estructura
diferente, y por tanto, el error puede aparecer por causas de alto nivel
diferentes.

`variable' undeclared (first use in this function)

Este es uno de los más comunes y a la vez más fáciles de detectar. El símbolo
que se muestra al comienzo del mensaje se utiliza pero no ha sido declarado.
Sólo se muestra la primera de las apariciones.

PAG3
ALUMNO:
warning: implicit declaration of function `...'

Esta advertencia aparece cuando el compilador encuentra una función que se


utiliza en el código y de la que no tienen ningún tipo de información hasta el
momento. El compilador asume que la función devuelve un entero, y
continúa.

Estas advertencias son las que se recomienda eliminar antes de probar la


ejecución del programa. Dependiendo de la situación, hay varias formas de
eliminar este mensaje. El compilador necesita saber cómo se define la
función que ha encontrado. Para ello, en un lugar anterior en el fichero se
debe incluir, o la definición de la función o su prototipo (el tipo de dato que
devuelve, seguido de su nombre, los paréntesis con la definición de los
parámetros y un punto y coma).

Si esta información (la definición de la función) se necesita en múltiples


ficheros, entonces, en lugar de escribir la misma información en cada uno de
ellos se recomienda incluir el prototipo en un fichero que es luego incluido en
donde se necesite a través de la orden #include del pre-procesador.
Recuerda que el código de una función sólo puede estar presente en un
único fichero de código. Si el compilador se lo encuentra en más de un
fichero, entonces se producirá un error por haber definido una función
múltiples veces.

También puede darse el caso de que la información que se solicita esté


contenida en un fichero a incluir por tratarse de una función en una
biblioteca. Para consultar si la función está en una de las bibliotecas estándar
de C se recomienda utilizar el comando man seguido por el nombre de la
función. Si es parte de una biblioteca, en la misma página de manual se
muestra qué fichero hay que incluir en el código.

PAG4
ALUMNO:
warning: initialization makes integer from pointer without a cast

Esta advertencia nos dice que hemos utilizado un puntero en un contexto en


el que se espera un entero. Esto está permitido en C y el compilador sabe
qué hacer para traducir el código, pero igualmente se notifica por si se quiere
“confirmar” esta operación mediante un cast. El siguiente código muestra un
ejemplo que produce esta advertencia.

int main (void)


{
char c = "\n"; /* ¿incorrecto? */
return 0;
}
En la primera línea se asigna un puntero a letra (pues una cadena
entrecomillada se almacena por debajo como una dirección de memoria, que
es la que contiene la primera letra) a una letra. A pesar de que c está definida
como una letra, el compilador la trata como un entero, lo cual es legal. La
cadena de texto "\n" se toma como un puntero, y de ahí se deriva el mensaje
de advertencia. Se está asignando un puntero a una variable que no lo es y
que puede ser considerada como un entero, y además, no se está utilizando
un cast.

En la mayoría de los casos esta asignación es en realidad un error del


programador y por tanto necesita ser corregido. Pero es posible que se
quiera manipular un puntero como un número tal y como se muestra en el
siguiente programa:

int main (void)


{
PAG5
ALUMNO:
int value = "\n"; /* Asignación correcta */
return 0;
}
Supongamos que en este caso el programador sí necesita almacenar ese
puntero en una variable entera. El compilador igualmente imprime la
advertencia. Para confirmar al compilador que realmente este es la
asignación que se quiere hacer se puede utilizar un casting, esto es, poner
entre paréntesis como prefijo de un símbolo el tipo de datos al que
queremos transformarlo. Una vez añadido este prefijo, el compilador
entiende que esta asignación es realmente lo que se quiere hacer y no se
muestra la advertencia.

int main (void)


{
int value = (int)"\n"; /* Asignación correcta y confirmada por el
programador
mediante el casting */
return 0;
}
dereferencing pointer to incomplete type

Este error aparece cuando se utiliza un puntero a una estructura de datos


para acceder a alguno de sus campos, pero el compilador no tiene
información suficiente sobre esa estructura de datos. El siguiente programa
muestra esta situación:

struct btree * data;


int main (void)

PAG6
ALUMNO:
{
data->size = 0; /* Información incompleta */
return 0;
}
La declaración de la variable data como puntero a la estructura btree es
correcta. Para declarar un puntero a una estructura no se necesita la
definición de la estructura. Pero en la primera línea de la función main ese
puntero se utiliza para acceder a uno de los campos de esta estructura. Al no
tener esa definición, el error se muestra en pantalla.

La causa más probable de este error es que la definición de la estructura está


en otro fichero, y debe estar presente antes de que un puntero se utilice para
acceder a sus campos. Por este motivo, las definiciones de las estructuras se
suelen agrupar en ficheros con extensión *.h que son incluidos en los ficheros
de código.

warning: control reaches end of non-void function

Esta advertencia aparece cuando una función se ha declarado como que


devuelve un resultado y no se incluye ningún comando return para devolver
ese resultado. Por tanto, o se ha definido incorrectamente la función, o se ha
olvidado este comando. El compilador igualmente genera el ejecutable y
aunque la función no devuelva resultado, el compilador sí devuelve un
resultado a la función que ha hecho la invocación.

warning: unused variable `...'

PAG7
ALUMNO:
Esta advertencia la imprime el compilador cuando detecta que una variable
ha sido declarada pero no se utiliza en ningún sitio. El mensaje desaparece
borrando la declaración.

undefined reference to `...'

Este mensaje aparece cuando en el código se ha invocado una función que no


está definida en ningún lugar. El compilador nos dice que hay una referencia
a una función sin definición. Mira qué función falta y cerciórate de que su
definición se compila.

Error: conflicting types for `...'

Se han encontrado dos definiciones del prototipo de una función. Una es un


prototipo (tipo del resultado, nombre, paréntesis con los parámetros y un
punto y coma) y la otra es la definición con el código. La información en
ambos lugares no es idéntica y por tanto existe un conflicto. El compilador te
muestra en qué linea se ha encontrado el conflicto y la definición previa que
ha causado la contradicción.
4.- ¿Es indistinto escribir los programas en mayúscula o en minúscula?
Lo más probable es que si porque las mayúsculas y las minúsculas son
caracteres diferentes y tienen diferente posición en el pc y también porque la
computadora no reconocerá si lo pones en int con mayúsculas y en el
proceso con minúsculas te saldrá error.
5.-¿Cuál es la característica de un programa secuenciar?

Estructuras de control

Son estructuras que permiten controlar el orden de ejecución de


las instrucciones contenidas dentro de de ellas dependiendo de
condiciones previamente establecidas.

PAG8
ALUMNO:
Todos los programas pueden desarrollarse utilizando
únicamente con las tres estructuras de control características de la
programación estructurada.

Secuencia:

Se refiere al orden en la que las instrucciones de un programa


son ejecutadas, tal y como se tienen en el programa.

Los elementos 1, 2 y 3 pueden ser instrucciones o bloques que


indican que independientemente de su complejidad o tamaño, su
ejecución es realizada en el orden indicado.

Selección:

Es la posibilidad de elegir entre dos instrucciones, donde la


decisión se toma en base a la evaluación de una expresión a la que
llamamos condición.

La imagen indica que si se cumple la condición 1, se avanza al


punto 2 y se llega al punto 4, en caso de no cumplirse la condición 1
entonces se avanza al punto 3 y así se llega al punto 4.

Iteración:

PAG9
ALUMNO:
Es una estructura que se utiliza para repetir alguna instrucción o
grupo de instrucciones siempre que se cumpla una condición.

Si se cumple la condición 1, se avanza al punto 2 y se llega al


punto 3 donde se encuentra una nueva condición 3 que si se cumple
se regresa a la condición 1 y si no se cumple, se continúa al punto 4.

Segmentación

Para favorecer la comprensión del código de los programas


desarrollados, es conveniente establecer segmentos del programa
para que estos no excedan una página de codificación (50 líneas en
promedio).

No se trata únicamente de dividir un programa en trozos donde


la longitud sea de 50 líneas; la segmentación debe cumplir con las
siguientes características básicas:

- Las partes se deben relacionar entre sí de forma jerárquica,


formando una estructura de árbol.

- Debe mostrar claramente las relaciones existentes entre las


funciones para permitir comprender lo que debe hacer el programa de
forma fácil.

- La comunicación entre los segmentos se debe realizar


cuidadosamente y de forma controlada.

La comunicación entre los segmentos se debe realizar a través


de una lista de parámetros, lo cual reduce la oportunidad de se
relacionen entre ellos de forma indeseada o inentendible.

Identación

Es el espacio o sangría que se asigna a una línea de código y


dependiendo de su longitud, esta indica si una instrucción o grupo de
instrucciones pertenecen a determinado bloque.

PAG10
ALUMNO:
Este espacio es importante ya que facilita la lectura del
programa respecto a las relaciones existentes entre las instrucciones y
los segmentos.

PAG11
ALUMNO:

Вам также может понравиться