Professional Documents
Culture Documents
Sección 1400
Grupo #1
Historia de Lenguaje C , C++
Integrantes:
● Scarletth Belinda Hernandez (20141001543)
● Ramón Antonio Manzano Ferrera (20151005636)
● Jonatan Josue Zuniga Vasquez (20141003802)
● Nelson Ariel Medina Alvarado (20161004178)
● Edgardo Roberto Bustillo Lainez (20161004125)
Historia del Lenguaje C
● Code Blocks es otra completa solución gratis para Windows, Linux y Mac OS X.
● Anjuta Devstudio es una IDE para C/C++ especialmente para Gnome en Linux.
● Eclipse famoso por su creacion como entorno por excelencia para java, pero que tambien soporta C y
C ++ ademas funciona en Linux, Windows y Mac Os X gracias que este hecho en java.
● MonoDevelop aunque está pensando para .NET y C# soporta C++ y funciona en LInux,
Windows y Mac OS X.
● Qt Creator es un IDE multiplataforma para C++ que utiliza los compiladores GNU en
Linux Y Mac Os X,MinGW en Windows. Ahora lo controla Nokia.
● Microsoft Visual Studio Express es una version de desarrollo y gratis del IDE de Bill
Gates para programar en sus lenguajes Visual Basic, C#, C++, solo para Windows.
GRUPO # 2
Integrantes:
Entrada, Salida y algoritmos de resolución, que contendrán las técnicas para obtener las salidas
por medio de las entradas.
- Palabras reservadas : En el lenguaje informático son palabras que tienen un significado gramatical
especial para ese lenguaje y no puede ser utilizada como identificador de objetos en el mismo. Como
ejemplo: ( inicio, fin, si-entonces, etc.)
- Identificadores: Son cualquier cadena de caracteres que sirven para identificar variables, señales,
procesos , etc..Como ejemplo:(nombres de variables esencialmente, procedimientos, funciones,
nombre del programa, etc.)
- Constantes : Es un elemento que se inicializa con un valor determinado, el cual no puede ser
modificado.
Como ejemplo: CONSTANT retraso: time := 10 ns.( Se Utilizan con la palabra reservada
“CONSTANT”.
- Variables: Son lo mismo que una constante con la diferencia que pueden ser modificadas en
cualquier momento , la palabra reservada “Variable” ejemplo: Variable aux :bit_vector(31
DOWNTO 0 ); .
Contadores: Un contador es un campo de memoria cuyo valor se incrementa en una cantidad fija,
positiva o negativa, generalmente asociado a un bucle.
También en las situaciones en que hay que obtener un total como producto de distintas cantidades se
utiliza un acumulador, debiéndose inicializar con el valor 1.
Bucles: Un bucle o ciclo, en programación, es una sentencia que ejecuta repetidas veces un
trozo de código, hasta que la condición asignada a dicho bucle deja de cumplirse.
Switch o Interruptores: es una variable que durante la ejecución de un diagrama solamente toma
uno de dos valores posibles y puede tener las siguientes funciones:Salir de un ciclo de iteración
variable.
Estructuras de Control
En lenguajes de programación, las estructuras de control permiten modificar el flujo de
ejecución de las instrucciones de un programa
Con las estructuras de control se puede:
● De acuerdo con una condición, ejecutar un grupo u otro de sentencias
(If-Then-Else)
● De acuerdo con el valor de una variable, ejecutar un grupo u otro de
sentencias (Select-Case)
● Ejecutar un grupo de sentencias mientras se cumpla una condición
(Do-While)
● Ejecutar un grupo de sentencias hasta que se cumpla una condición
(Do-Until)
● Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
Todas las estructuras de control tienen un único punto de entrada. Las estructuras de
control se pueden clasificar en: secuenciales, iterativas y de control avanzadas. Esta es
una de las cosas que permiten que la programación se rija por los principios de la
programación estructurada.
Grupo #3 Tipos de Datos Variables
Integrantes
Esta nomenclatura puede simplificarse: las palabras signed e int son las opciones por defecto para los
números enteros y pueden omitirse, resultando la siguiente tabla, que indica la nomenclatura más habitual
para los tipos fundamentales del C.
Tipos de Datos Fundamentales (notación
abreviada).
Recordemos que en C es necesario declarar todas las variables que se vayan a utilizar. Una variable no
declara produce mensaje de error en la compilación. Cuando una variable es declarada se le reserva memoria
de acuerdo con el tipo incluido en la declaración. Es posible inicializar –dar un valor inicial- las variables en el
momento de la declaración; ya se verá que en ciertas ocasiones el compilador da un valor inicial por defecto,
mientras que en otros casos no se realiza esta inicialización y la memoria asociada con la variable
correspondiente contiene basura informática (combinaciones sin sentido de unos y ceros, resultado de
operaciones anteriores con esta zona de la memoria, para otros fines).
● Caracteres (Tipo Char):
Las variables tipo char contienen un único carácter y se almacena en un Byte de
memoria (8 Bits).
Hay que recordar que en un bit se puede almacenar dos valores (0 y 1), con dos
bits se pueden almacenar 22 = 4 valores (00, 01, 10, 11 en binario; 0, 1, 2, 3, en
decimal). Y con 8 bits se podrán almacenar 28 = 256 valores diferentes entre 0 y
255.
La declaración de las variables tipo char pueden tener la forma:
char nombre;
char nombre1, nombre2, nombre3;
● Números Enteros (Tipo int):
En las variables tipo int se almacena 2 bytes (16 bits), aunque algunos en algunos
compiladores se utilizan 4 bytes (32 bits). Con 16 bits se pueden almacenar
216 = 65536 números enteros diferentes.
(ya se han visto los tipos char, int, long, float, double, etc.).
1. auto (automático). Es la opción por defecto para las variables que se declaran dentro de un
bloque {...}, incluido el bloque que contiene el código de las funciones. En C la declaración
debe estar siempre al comienzo del bloque. En C++ la declaración puede estar en
cualquier lugar y hay autores que aconsejan ponerla justo antes del primer uso de la variable.
extern. Son variables globales, que se definen fuera de cualquier bloque o función, por
ejemplo antes de definir la función main(). Estas variables existen durante toda la ejecución
del programa.
static. Cuando ciertas variables son declaradas como static dentro de un bloque, estas
variables conservan su valor entre distintas ejecuciones de ese bloque. Dicho de otra
forma, las variables static se declaran dentro de un bloque como las auto, pero permanecen
en memoria durante toda la ejecución del programa como las extern. Cuando se llama varias
veces sucesivas a una función (o se ejecuta varias veces un bloque) que tiene declaradas
variables static, los valores de dichas variables se conservan entre dichas llamadas. La
inicialización sólo se realiza la primera vez. Por defecto, son inicializadas a cero.
register. Este modo es una recomendación para el compilador, con objeto de que –si es
posible– ciertas variables sean almacenadas en los registros de la CPU y los cálculos con ellas
sean más rápidos. No existen los modos auto y register para las funciones.
GRUPO # 4
TEMA: Expresiones y Operadores.
Integrantes:
❖ Maria Castellanos.
❖ Alex zúniga.
❖ Arnol Bonilla.
❖ cristhian Paz.
❖ Angel sierra.
Operadores
“Un operador es un carácter o grupo de caracteres que actúa sobre una, dos o más variables
para realizar una determinada operación con un determinado resultado.”
> Operadores Aritméticos: Los operadores aritméticos se usan para realizar cálculos y
operaciones con números reales y punteros. Entre los operadores aritméticos encontramos:
● Suma: +
● Resta: –
● Multiplicación: *
● División: /
● Módulo (Resto de una división entera): %
> OPERADORES DE ASIGNACIÓN:
/* Inclusión de archivos */
#include <stdio.h>
/* Función principal */
int main (int argc,char **argv)
{
/* Impresión por pantalla y salida del programa*/
printf("Hola mundo\n");
return 0;
}
Operadores de Incremento
Los Operadores de incremento y decremento son operadores unarios que agregan o sustraen uno de sus operandos,
respectivamente.
El operador de incremento: (++) puede ser posicionado antes (prefijo) o después de (postfijo) de la variable que será
incrementada en 1. Cuando el operador se posiciona antes de la variable (e.g. ++a), el valor de ésta se incrementa en 1,
y luego es usado en la expresión en la que aparece. Por otro lado, cuando el operador se posiciona después de la
variable (e.g. a++), el valor de la variable es usado y después de la evaluación de la expresión el valor de la variable se
incrementa en una unidad.
Los siguientes fragmentos de código C ilustran las diferencias entre operadores de pre y post incremento/decremento:
// demuestra el operador de incremento postfijo
c = 5; // asigna 5 a c
Console.WriteLine(c); // Imprime 5
Console.WriteLine(c++); // Imprime 5 otra vez, luego realiza el incremento
Console.WriteLine(c); // Imprime 6
((x < 10) && ( x > 5)) || ((x > 20) && (x < 25));
Las expresiones son secuencias de operadores y operandos que se utilizan para uno o
más de estos propósitos:
● Calcular un valor a partir de los operandos.
● Designar objetos o funciones.
● Generar “efectos secundarios”. (Los efectos secundarios son cualquier acción
distinta de la evaluación de la expresión; por ejemplo, modificando el valor de un
objeto).
Tipos de Expresiones
● Expresiones Primarias
● Expresiones de posfijo
● Expresiones con operadores unarios
● Expresiones con operadores Binarios
● Expresiones de constantes
● Expresiones con conversiones de tipo explícitas
Expresiones Primarias
Las expresiones primarias son los bloques de creación de expresiones más complejas. Son literales, nombres, y
nombres calificados por el operador de resolución de ámbito (::). Una expresión primaria puede tener cualquiera de
las formas siguientes:
literal
this
:: name
name
( expression )
Expresiones de Posfijo
Las expresiones de postfijo constan de expresiones primarias o expresiones en las que los operadores de postfijo
siguen una expresión primaria. Los operadores de postfijo se enumeran en la tabla siguiente.
Los tipos fundamentales básicos pueden ser mezcladas libremente en asignaciones y expresiones.
La conversión se ejecuta automáticamente: los operandos de tipo más bajo se convierten en los de tipo más alto.
También se pueden especificar conversiones de tipos explícitas cuando se necesite aplicar un control más preciso de
las conversiones.
En resumen...
Podríamos concluir con que las expresiones son una serie de operadores y operandos utilizados
para poder calcular valores a partir de varios operandos, poder asignar objetos o funciones y
también para generar acciones distintas de la evaluación de las expresiones.
Grupo No. 5
Este archivo define tres “streams” estándar: stdin, stdout y stderr, que utilizan
entrada y salida basada en caracteres y son abiertas automáticamente. Por defecto
stdout y stderr están direccionadas a la pantalla, y stdin al teclado.
STREAMS
Entrada/salida con Streams en C++
2. Streams predefinidos Por defecto, la salida asignada a un programa es la pantalla, y en C++ está
representada por el stream cout a la que se denomina “salida estándar”.
Cuando escribe cosas, las escribe en stdin (una terminal de entrada estándar). Un dispositivo de entrada estándar, que generalmente es el
teclado, pero Linux también le permite tomar la entrada estándar de un archivo.
Stdout: La salida estándar, tal como se crea en el proceso de creación de tiempo, va a la consola, a su terminal o a un terminal X.
Exactamente dónde se envía la salida depende claramente de dónde se originó el proceso.
Nuestra consola o terminal debe ser el dispositivo que acepta la salida. Sería concatenar el archivo, por defecto, a nuestra salida estándar,
es decir, nuestra consola o pantalla de terminal.
Stderr: El componente final en este diálogo de descriptores de archivos es un error estándar. Cada comando podría enviar su salida a uno
de dos lugares:
Hace lo mismo con los errores que con la salida estándar; los envía directamente a la pantalla de tu terminal.
Las Operaciones de entrada y salida no forman parte del conjunto de sentencias de
C++, sino que pertenecen al conjunto de Funciones y clases de la biblioteca estándar
de C++. Ellas se incluyen en los Archivos de cabecera iostream.h por lo que siempre
que deseemos utilizarlas deberíamos introducir la línea de código #include
<iostream.h>.
Así en lugar de printf usamos el flujo estándar de salida cout y el operador << ("colocar en"); y en lugar
de scanf usamos el flujo de entrada estándar cin y el operador >>("obtener de"). Estos operadores de
inserción y extracción de flujo, a diferencia de printf y scanf, no requieren de cadenas de formato y de
especificadores de conversión para indicar los tipos de datos que son extraídos o introducidos.
Estos objetos se utilizan mediante los operadores << y >>. El operador < <se denomina operador
de inserción; y apunta al objeto donde tiene que enviar la información.
cout<<variable1<<variable2<<...<<variablen;
No olvidemos que las cadenas de texto son variables y se ponen entre “ “ (comillas dobles).
Por su parte >> se denomina operador de extracción, lee información del flujo cin (a la
izquierda del operador) y las almacena en las variables indicadas a la derecha).
La sintaxis sería la siguiente:
cin>>variable1>>...>>variablen;
Formateo de salidas con funciones de flujos
❖ width: Indica al flujo cuantos espacios debe
La organización de la salida de un programa en usar al enviar un elemento a la salida
C++ es su formato.
. cout.width(4);
En C++ podemos controlar el formato con
El método width solamente afecta a la siguiente
órdenes que determinan detalles tales como el
salida por pantalla.
número de espacios entre los elementos y el
número de dígitos después del punto decimal
❖ fill: Indica el carácter con lo que completa los
Veamos algunas funciones o métodos asociadas a
espacios en blanco cuando se manda un
los flujos de salida:
elemento a la salida y se fija el número de
espacios con la función width.
❖ precisión: Fija el número de cifras después
de la coma:
cout.fill(‘a’); Al igual que el método width, el
método fill solamente afecta a la siguiente salida por
precisión cout.precision(2);
pantalla.
setf: es una abreviatura de set flags, que significa
establecer banderas. El efecto sobre el flujo depende de la bandera.
Una bandera es algo que indica que se debe efectuar unsetf: Cualquier bandera establecida se puede
algo de una de dos posibles maneras. desactivar con esta función miembro
Si damos una determinada bandera como argumento una vez establecida una bandera o valor se mantiene
de setf, dicha bandera le dirá a la computadora que en todo el programa a no ser que se utilice la función
escriba las salidas en ese flujo de alguna forma miembro unsetf o se varíe el valor con el método
específica. adecuado
E/S por consola
scanf(): Función de entrada por consola con el Sus prototipos son los siguientes:
formato especificado.
int printf (" caracteres de transmisión y
Por otra parte la entrada estándar , que escape", lista de argumentos);
generalmente es por el teclado , se realiza
mediante la función scanf.
Tanto la función printf como la función scanf int scanf (" caracteres de transmisión y
permite especificar el formato en que se van a escape", lista de argumentos);En la función
escribir o leer datos. printf() (con scanf() no), entre las comillas se
pueden poner rótulos literales mezclados con
Esto se conoce como entrada y salida
los caracteres de transmisión.
formateada.
conclusiones
1. Las Operaciones de entrada y salida no forman parte del conjunto de sentencias de C++, sino que
pertenecen al conjunto de Funciones y clases de la biblioteca estándar de C++.
2. Estas Funciones se utilizan para introducir datos mediante el teclado y poder visualizarlos en la
pantalla.
3. Los datos de entrada son los que la computadora va a procesar. Los datos de salida son datos
derivados, es decir, obtenidos a partir de los datos de entrada. Por esta razón, a los datos de salida se
les considera más significativos que a los datos de entrada.
Grupo #6
Sentencias de Control
Integrantes del Grupo:
● Sentencias de salto
Sentencia IF
son una estructura de control condicional, que nos permiten tomar cierta
decisión al interior de nuestro algoritmo, es decir, nos permiten determinar que
acciones tomar dada condición, por ejemplo determinar si un número cualquiera
es mayor que 10 y de acuerdo a esto mostrar un mensaje.
En resumen, un condicional if es una estructura que nos posibilita definir las
acciones a ejecutar si se cumple cierta condición.
¿Cómo Funciona Un Condicional IF?
Para comprender mejor cómo funciona el condicional if, una muy buena
forma es partiendo de un ejemplo. Supongamos que queremos verificar si el
resultado de una suma ingresada por el usuario es correcto o no.
Para este ejemplo, el condicional if, es el encargado de verificar si el
resultado ingresado corresponde o no a la respuesta correcta de la suma. El
condicional if, funciona verificando la condición ingresada y de acuerdo a su
valor de verdad (falso o verdadero) se lleva a cabo o no una serie de
instrucciones.
Sintaxis
if(condición a evaluar) //Por ejemplo X <= 10
{
....
....
Bloque de Instrucciones si se cumple la condición....
....
....
}
....
Bloque de Instrucciones restante DEL ALGORITMO....
Ejemplo
int main()
{
int resultado = 0;
cout << "Cuánto es 39+50? ";
cin >> resultado;
if(resultado == 39+50)
{
cout << "Respuesta Correcta. Felicitaciones!\n";
}
Los condicionales If-Else
Son una estructura de control, que nos permiten tomar cierta decisión al interior de
nuestro algoritmo, es decir, nos permiten determinar que acciones tomar dada o no
cierta condición.
1. Realiza las operaciones de la instrucción uno (si la hay), estas operaciones sólo se
ejecutan una vez
Después de ejecutar el cuerpo del ciclo (el cual se ejecuta sólo si la condición es
verdadera) se realiza el paso 4 y se repiten los pasos 2 y 3
Sintaxis
Ciclo While
Ciclo While
El bucle while o bucle mientras
es un ciclo repetitivo basado en
los resultados de una expresión
lógica; se encuentra en la mayoría
de los lenguajes de programación
estructurados.
struct ejemplo
{ char c;
int i;};
La palabra reservada struct indica se está definiendo una estructura. El identificador ejemplo es
el nombre de la estructura. Las variables declaradas dentro de las llaves de la definición de
estructura son los miembros de la estructura. Los miembros de la misma estructura deben tener
nombres ´únicos mientras que dos estructuras diferentes pueden tener miembros con el mismo
nombre. Cada definición de estructura debe terminar con un punto y coma. La definición de
struct ejemplo contiene un miembro de tipo char y otro de tipo int. Los miembros de una
estructura pueden ser variables de los tipos de datos básicos (int, char, float,etc) o agregados
como ser arreglos y otras estructuras. Una estructura no puede contener una instancia de sí
misma. Declaramos variables del tipo estructura del siguiente modo: struct ejemplo e1, a[10]; o
alternativamente sin usar la palabra struct:
Estructura main
Cada programa de C tiene una función principal que se debe llamar main. Si su código sigue
el modelo de programación Unicode, puede utilizar la versión de carácter ancho de main,
wmain. La función main sirve como punto de partida para la ejecución del programa.
Normalmente, controla la ejecución del programa dirigiendo las llamadas a otras funciones
del programa. Un programa deja de ejecutarse normalmente al final de main, aunque
puede finalizar en otros puntos del programa por distintos motivos. A veces, quizás cuando
se detecta un error, puede resultar conveniente forzar la finalización de un programa. Para
ello, utilice la función exit. Vea la Referencia de la biblioteca en tiempo de ejecución para
obtener información y un ejemplo sobre cómo usar la función exit.
Ejemplo
por ejemplo
begin
ch := 'A'; c := 64; { realizan la misma acción, y su uso es legal }
ch := 64; {char no puede contener un número}
c := 'A'; {byte no puede contener un carcter alfanumérico}
end.
Estructura Double
El nombre double significa que la precisión de estos números es dos veces más que la precisión de los
números del tipo float. En mayoría de los casos el tipo double es más cómodo. En muchos casos la
precisión limitada de los números float simplemente es insuficiente. La razón de utilizar todavía el tipo
float se encuentra en el ahorro de la memoria durante el almacenamiento (es importante para las
grandes cantidades de matrices de números reales).
ejemplo:
double a=12.111;
double b=-956.1007;
float c =0.0001;
float d =16;
Una operación válida entre estructuras es asignar variables de estructura a variables de
estructura del mismo tipo. Las estructuras no pueden compararse entre sí
Ejemplo
Consideremos la información de una fecha. Una fecha consiste de: el dıa, el mes, el año y
posiblemente el dıa en el año y el nombre del mes. Declaramos toda esa información en una
estructura del siguiente modo:
struct fecha {
int dia;
int mes;
int anio;
int dia_del_anio;
char nombre_mes[9];
}
DEFAULT
La sentencia default se utiliza en los bloques switch junto con los case. Si no existe concordancia de la
<variable switch> con ninguno de los valores case, se ejecuta la sentencia por defecto, señalada por default.
int main()
{
char c;
cout << "Escribe una vocal" << endl;
cin >> c;
switch(c)
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
cout << "Es una vocal" << endl;
break;
default:
cout << "Es una consonante" << endl;
}
SYSTEM (“PAUSE”)
Al escribir system ("pause") se está incorporando una pausa en el programa, es decir, que se espera a que
el usuario presione alguna tecla para continuar con la ejecución del mismo.
WHILE
Los ciclos while son también una estructura cíclica, que nos permite ejecutar una o varias líneas de código
de manera repetitiva sin necesidad de tener un valor inicial e incluso a veces sin siquiera conocer cuando
se va a dar el valor final que esperamos
Estructura IF-ELSE-END
El if simple le permite ejecutar una serie de enunciados si una condición es verdadera y saltar dichos
pasos si la condición es falsa. La cláusula ELSE le permite ejecutar un conjunto de enunciados si la
comparación es verdadera y un conjunto diferente de enunciados si la comparación es falsa. IF condición
bloque1 ELSE bloque2 END
Estructura CIN
CIN es el flujo de entrada estándar que normalmente es el teclado y cout es el flujo de salida
estándar que por lo general es la pantalla
En resumen un ciclo do-while, es una estructura de control cíclica que permite ejecutar de manera repetitiva un bloque de
instrucciones sin evaluar de forma inmediata una condición específica, sino evaluándose justo después de ejecutar por
primera vez el bloque de instrucciones
el do-while nos permite ejecutar cierta acción de forma infinita hasta que se cumpla alguna condición específica, en
nuestro caso sería que el número ingresado sea mayor a 100. De modo que si el usuario nos ingresa de manera sucesiva
los siguientes numero 1,50,99, 49, 21, 30, 100 ..., nuestro programa no finalizara, pues ninguno de estos números es
mayor que 100, sin embargo si nos ingresa el numero 300, el programa finalizará inmediatamente.
int numero;
do
{
cout << "Ingrese un numero ";
cin >> numero;
}
while(numero <= 100);
Arreglos c++
DEFINICIÓN:Un arreglo en C++ es un conjunto de datos que se almacenan en memoria de manera contigua con elmismo
nombre. Para diferenciar los elementos de un arreglo se utilizan índices detrás del nombre del arreglo y encerrados por [].
EJEMPLO: int vector [10]; // array de 10 enteros:vector[0]..vector[9].
DECLARACIÓN DE ARREGLOS UNIDIMENSIONALES: Suma y Resta:Los arreglos deben tener el mismo tamaño y la suma se
realiza elemento a elemento. Por ejemplo C = A + B. Donde A, B y C son arreglos de enteros de tamaño 3.