Este documento presenta información sobre cadenas y funciones para manipular cadenas en C. Explica el uso de funciones como strcpy, strcat y strlen para copiar, concatenar y obtener la longitud de cadenas. También cubre funciones como strcmp para comparar cadenas y strchr para buscar caracteres dentro de una cadena.
Este documento describe el funcionamiento y tipos de compuertas lógicas utilizadas en sistemas digitales. Explica las compuertas AND, OR, NOT, NAND, NOR, XOR y sus tablas de verdad. También describe cómo las compuertas lógicas pueden combinarse para crear funciones más complejas y cómo un tipo de compuerta puede sustituirse por otro equivalente utilizando solo compuertas NAND o NOR.
Pointers in C are variables that store memory addresses. They allow accessing and modifying the value stored at a specific memory location. Pointers contain the address of another variable as their value. To use pointers, they must first be declared along with the data type of the variable being pointed to. The address of the variable is then assigned to the pointer using the & operator. The value at the address can then be accessed using the * operator in front of the pointer variable name. The NULL pointer is a constant with a value of 0 that indicates an unassigned pointer. When a pointer is incremented, its value increases by the scale factor, which is the length of the data type being pointed to.
The document provides an overview of pointers in C programming. It defines pointers as variables that contain the address of another variable in memory. The document outlines various pointer operations such as dereferencing with *, address of with &, arithmetic, comparisons, NULL pointers, function pointers, pointers to arrays, arrays of pointers, and pointers to pointers. It provides examples to illustrate how to declare, initialize, and manipulate pointers in C code.
The document discusses structures in C programming. It explains that a structure defines a template to group together different data types under a single name. It demonstrates how to define a structure, create structure variables, and access members of a structure using the dot and arrow operators.
This document discusses string handling functions in C programming. It defines a string as an array of characters and introduces the string.h header file, which contains functions for manipulating strings like strlen(), strcmp(), strcmpi(), strcpy(), and strcat(). It explains what each function does, including getting the length of a string, comparing strings, copying one string to another, and concatenating two strings.
El documento describe los vectores y matrices en C++. Los vectores son contenedores que almacenan elementos del mismo tipo en una secuencia lineal ordenada. Las matrices son vectores bidimensionales o tridimensionales que almacenan varios vectores consecutivos. Los vectores son buenos para manipular elementos de forma individual o secuencial, mientras que las matrices requieren dos o tres índices para acceder a los elementos y son útiles para almacenar datos en puntos de coordenadas.
El documento explica los arreglos en C++. Define un arreglo como un conjunto de datos almacenados de forma contigua con el mismo nombre, donde los elementos se diferencian por índices. Explica arreglos unidimensionales y multidimensionales, cómo declararlos e inicializarlos, y operaciones como suma, resta y multiplicación con arreglos. También cubre arreglos de caracteres multidimensionales y cómo acceder a cadenas específicas dentro de la tabla.
Las instrucciones de C++ controlan cómo y en qué orden se manipulan los objetos en un programa. Existen varios tipos de instrucciones como declarativas, de asignación, selectivas, repetitivas, de entrada y salida de datos, y de bifurcación. Las instrucciones declarativas introducen nombres en un programa como variables y librerías, mientras que las instrucciones de asignación dan valores a las variables.
Este documento describe el funcionamiento y tipos de compuertas lógicas utilizadas en sistemas digitales. Explica las compuertas AND, OR, NOT, NAND, NOR, XOR y sus tablas de verdad. También describe cómo las compuertas lógicas pueden combinarse para crear funciones más complejas y cómo un tipo de compuerta puede sustituirse por otro equivalente utilizando solo compuertas NAND o NOR.
Pointers in C are variables that store memory addresses. They allow accessing and modifying the value stored at a specific memory location. Pointers contain the address of another variable as their value. To use pointers, they must first be declared along with the data type of the variable being pointed to. The address of the variable is then assigned to the pointer using the & operator. The value at the address can then be accessed using the * operator in front of the pointer variable name. The NULL pointer is a constant with a value of 0 that indicates an unassigned pointer. When a pointer is incremented, its value increases by the scale factor, which is the length of the data type being pointed to.
The document provides an overview of pointers in C programming. It defines pointers as variables that contain the address of another variable in memory. The document outlines various pointer operations such as dereferencing with *, address of with &, arithmetic, comparisons, NULL pointers, function pointers, pointers to arrays, arrays of pointers, and pointers to pointers. It provides examples to illustrate how to declare, initialize, and manipulate pointers in C code.
The document discusses structures in C programming. It explains that a structure defines a template to group together different data types under a single name. It demonstrates how to define a structure, create structure variables, and access members of a structure using the dot and arrow operators.
This document discusses string handling functions in C programming. It defines a string as an array of characters and introduces the string.h header file, which contains functions for manipulating strings like strlen(), strcmp(), strcmpi(), strcpy(), and strcat(). It explains what each function does, including getting the length of a string, comparing strings, copying one string to another, and concatenating two strings.
El documento describe los vectores y matrices en C++. Los vectores son contenedores que almacenan elementos del mismo tipo en una secuencia lineal ordenada. Las matrices son vectores bidimensionales o tridimensionales que almacenan varios vectores consecutivos. Los vectores son buenos para manipular elementos de forma individual o secuencial, mientras que las matrices requieren dos o tres índices para acceder a los elementos y son útiles para almacenar datos en puntos de coordenadas.
El documento explica los arreglos en C++. Define un arreglo como un conjunto de datos almacenados de forma contigua con el mismo nombre, donde los elementos se diferencian por índices. Explica arreglos unidimensionales y multidimensionales, cómo declararlos e inicializarlos, y operaciones como suma, resta y multiplicación con arreglos. También cubre arreglos de caracteres multidimensionales y cómo acceder a cadenas específicas dentro de la tabla.
Las instrucciones de C++ controlan cómo y en qué orden se manipulan los objetos en un programa. Existen varios tipos de instrucciones como declarativas, de asignación, selectivas, repetitivas, de entrada y salida de datos, y de bifurcación. Las instrucciones declarativas introducen nombres en un programa como variables y librerías, mientras que las instrucciones de asignación dan valores a las variables.
Función Hash: metodos de división y de medio Cuadrado.Ana Castro
Este documento describe funciones hash y dos métodos para implementarlas: el método de división y el método del medio cuadrado. Una función hash mapea claves de entrada a valores hash de salida de tamaño fijo para usarlos como direcciones de almacenamiento. Estos métodos buscan minimizar colisiones cuando claves distintas generan el mismo valor hash. El método de división toma el residuo de dividir la clave entre un número, mientras que el método del medio cuadrado eleva la clave al cuadrado y toma dígitos centrales
Este documento presenta varios programas en C++ que utilizan estructuras de control repetitivas como while, do-while y for. Incluye programas que calculan sumas, promedios, tablas de multiplicar y más. El documento proporciona código de ejemplo con la sintaxis y funcionalidad de cada tipo de ciclo repetitivo.
Este documento describe una prueba de series para determinar si una serie de números se generó de manera aleatoria. La prueba involucra formar parejas consecutivas de números, mapearlas en una cuadrícula, calcular las frecuencias observadas y esperadas en cada celda, y sumar las diferencias cuadráticas entre las frecuencias para verificar si es menor a un valor crítico, lo que indicaría que los números son independientes y aleatorios.
Ejercicios de programación en C (Estructuras condicionales-Selectivas)Maynor Mendoza
Los documentos presentan programas en C para resolver diferentes problemas matemáticos y lógicos mediante el uso de condicionales y estructuras de control. Los programas incluyen cálculos de áreas geométricas, conversión de caracteres, cálculo de descuentos y obsequios, evaluación de índices de masa corporal, cálculo de días transcurridos, ordenamiento y comparación de números, y cálculo de costos de alquiler.
This document discusses pointers in C++. It begins by defining pointers and explaining that they allow indirect access to memory locations through addresses. It then covers declaring and initializing pointer variables, dereferencing pointers to access the value at a memory address, dynamic memory allocation using pointers and new/delete, passing pointers as arguments to functions, and allocating multi-dimensional arrays dynamically using pointers. Key topics include declaring pointer types, assigning addresses to pointers, dereferencing with *, using new/delete to allocate/free memory, and how pointers enable accessing array elements and passing arguments by reference.
El documento resume comandos importantes en C++ como iostream.h, stdio.h, math.h, string.h, conio.h e iomanip.h. Explica funciones como cin, cout, gets, putchar, cos, strcpy, strcmp y clrscr, describiendo su sintaxis, descripción y valor de retorno. El documento proporciona una guía sobre la entrada/salida, manipulación de cadenas y funciones matemáticas en C++.
Un multiplexor es un dispositivo digital que permite seleccionar una de varias entradas de datos y enviarla a una salida única, controlada por señales de entrada de selección. Funciona con múltiples entradas de datos y una salida, y una combinación binaria de las entradas de control determina cuál de las entradas de datos se enviará a la salida. Formalmente, es un circuito combinacional con entradas de selección, entradas de datos múltiples y una salida única, que enruta los datos de la entrada correspondiente al número binario en las ent
Este documento explica el concepto de hashing y diferentes métodos para implementarlo. Hashing se refiere al direccionamiento a partir de una llave hacia una posición en una estructura de datos. Existen diferentes técnicas como hashing de dirección directa, tablas hash y open addressing. Las tablas hash usan una función hash para mapear llaves a posiciones, lo que puede causar colisiones. Métodos como encadenamiento y open addressing resuelven colisiones almacenando elementos en listas o probando posiciones alternas.
Este documento presenta 46 problemas de programación con sus respectivas descripciones e instrucciones de entrada y salida. Los problemas cubren diversos temas matemáticos y de programación como sumas, multiplicaciones, ordenamiento, áreas, matrices, y análisis de cadenas. El objetivo es proporcionar ejercicios de programación para practicar diferentes conceptos y desarrollar soluciones algorítmicas a problemas bien definidos.
Este documento describe las estructuras repetitivas for y while en Java. Explica que for se usa cuando se conoce la cantidad de repeticiones, mientras que while evalúa una condición en cada iteración. Proporciona ejemplos de cómo inicializar variables, evaluar condiciones y modificarlas para controlar la repetición.
Este documento presenta seis ejercicios de programación sobre vectores, matrices y diferentes tipos de bucles en C++. Los ejercicios cubren temas como generar series, ingresar y visualizar datos en vectores y matrices, e imprimir diagonales principales y secundarias.
Pointer variables store memory addresses and are used to indirectly access the value stored at those addresses. In C, pointers are declared with an asterisk and the variable type. The address-of operator "&" returns the memory address of a variable, which can be assigned to a pointer variable. The dereference operator "*" accesses the value stored at the memory address pointed to by the pointer. Pointer arithmetic allows pointers to be incremented or decremented to access sequential memory addresses.
Este documento describe el uso de estructuras anidadas en C/C++. Explica que una estructura puede contener otras estructuras, lo que se conoce como anidamiento. Proporciona un ejemplo de una estructura Stack que contiene una estructura anidada Link para implementar una pila como una lista enlazada simple. Describe la sintaxis para declarar estructuras anidadas y cómo inicializar y usar los métodos de las estructuras anidadas Stack y Link.
The document provides an overview of the C programming language. It discusses the history and development of C, which originated from programming languages like ALGOL and BCPL. C was created by Dennis Ritchie at Bell Labs in 1972 and is strongly associated with UNIX. The document also covers basic C programming concepts like data types, functions, header files, and the structure of a C program. It provides examples of simple C programs and discusses programming style and executing a C program.
Distribuciones Muestrales y Estimación de los Parámetros de una Poblaciónjosegonzalez1606
Distribuciones Muestrales y Estimación de los Parámetros de una Población
Integrantes:
José González C.I: 28.576.187 Marcell Girardi C.I: 24. 491.579 Yulianny Marcano C.I: 26. 385.075 Alejandro Brito C.I: 24.947.747 José Pereira C.I: 28.095. 315
El documento describe los conceptos básicos de VHDL como lenguaje de descripción de hardware. VHDL se utiliza para diseñar circuitos digitales y consta de módulos como entidades y arquitecturas. Una entidad define las entradas, salidas y funcionalidad a nivel de sistema, mientras que una arquitectura describe la implementación interna de la entidad.
El programa permite al usuario introducir 10 números y ordenarlos mediante el método de burbuja. Luego calcula la suma, resta y determina el número más grande y más pequeño. Primero ordena los números de forma ascendente usando el método de burbuja, luego calcula la suma y resta de los números y determina cuál es el número más grande y más pequeño.
Este documento explica la estructura básica de una clase en Java. Describe que una clase contiene atributos y métodos que definen las características y comportamientos de un objeto. Explica que los atributos declaran los datos de un objeto y los métodos definen sus acciones. También presenta un ejemplo de una clase Persona con atributos como nombre, apellido y edad, así como un constructor y métodos para saludar y obtener la edad.
El documento habla sobre las funciones en C++. Define una función como un grupo de sentencias o declaraciones con un nombre asignado que puede ser llamado desde cualquier parte del programa. Explica la sintaxis de las funciones, cómo pasar argumentos por valor y referencia, el uso de void, valores por defecto, recursividad y otras consideraciones de eficiencia.
El documento describe cadenas (strings) en C. Explica que las cadenas en C son arrays de caracteres terminados en '\0'. Detalla cómo declarar, inicializar y asignar cadenas, y describe funciones comunes para manipular cadenas como strcpy(), strcmp(), strlen(), gets(), puts() y más. También incluye ejemplos de programas que usan estas funciones con cadenas.
El documento presenta un programa en C++ que define un arreglo tridimensional llamado 'numeros' y realiza operaciones matemáticas (suma, resta, multiplicación y promedio) sobre los valores almacenados en el arreglo. El programa solicita al usuario que ingrese valores en el arreglo y luego imprime el resultado de realizar las operaciones sobre los elementos del arreglo.
Función Hash: metodos de división y de medio Cuadrado.Ana Castro
Este documento describe funciones hash y dos métodos para implementarlas: el método de división y el método del medio cuadrado. Una función hash mapea claves de entrada a valores hash de salida de tamaño fijo para usarlos como direcciones de almacenamiento. Estos métodos buscan minimizar colisiones cuando claves distintas generan el mismo valor hash. El método de división toma el residuo de dividir la clave entre un número, mientras que el método del medio cuadrado eleva la clave al cuadrado y toma dígitos centrales
Este documento presenta varios programas en C++ que utilizan estructuras de control repetitivas como while, do-while y for. Incluye programas que calculan sumas, promedios, tablas de multiplicar y más. El documento proporciona código de ejemplo con la sintaxis y funcionalidad de cada tipo de ciclo repetitivo.
Este documento describe una prueba de series para determinar si una serie de números se generó de manera aleatoria. La prueba involucra formar parejas consecutivas de números, mapearlas en una cuadrícula, calcular las frecuencias observadas y esperadas en cada celda, y sumar las diferencias cuadráticas entre las frecuencias para verificar si es menor a un valor crítico, lo que indicaría que los números son independientes y aleatorios.
Ejercicios de programación en C (Estructuras condicionales-Selectivas)Maynor Mendoza
Los documentos presentan programas en C para resolver diferentes problemas matemáticos y lógicos mediante el uso de condicionales y estructuras de control. Los programas incluyen cálculos de áreas geométricas, conversión de caracteres, cálculo de descuentos y obsequios, evaluación de índices de masa corporal, cálculo de días transcurridos, ordenamiento y comparación de números, y cálculo de costos de alquiler.
This document discusses pointers in C++. It begins by defining pointers and explaining that they allow indirect access to memory locations through addresses. It then covers declaring and initializing pointer variables, dereferencing pointers to access the value at a memory address, dynamic memory allocation using pointers and new/delete, passing pointers as arguments to functions, and allocating multi-dimensional arrays dynamically using pointers. Key topics include declaring pointer types, assigning addresses to pointers, dereferencing with *, using new/delete to allocate/free memory, and how pointers enable accessing array elements and passing arguments by reference.
El documento resume comandos importantes en C++ como iostream.h, stdio.h, math.h, string.h, conio.h e iomanip.h. Explica funciones como cin, cout, gets, putchar, cos, strcpy, strcmp y clrscr, describiendo su sintaxis, descripción y valor de retorno. El documento proporciona una guía sobre la entrada/salida, manipulación de cadenas y funciones matemáticas en C++.
Un multiplexor es un dispositivo digital que permite seleccionar una de varias entradas de datos y enviarla a una salida única, controlada por señales de entrada de selección. Funciona con múltiples entradas de datos y una salida, y una combinación binaria de las entradas de control determina cuál de las entradas de datos se enviará a la salida. Formalmente, es un circuito combinacional con entradas de selección, entradas de datos múltiples y una salida única, que enruta los datos de la entrada correspondiente al número binario en las ent
Este documento explica el concepto de hashing y diferentes métodos para implementarlo. Hashing se refiere al direccionamiento a partir de una llave hacia una posición en una estructura de datos. Existen diferentes técnicas como hashing de dirección directa, tablas hash y open addressing. Las tablas hash usan una función hash para mapear llaves a posiciones, lo que puede causar colisiones. Métodos como encadenamiento y open addressing resuelven colisiones almacenando elementos en listas o probando posiciones alternas.
Este documento presenta 46 problemas de programación con sus respectivas descripciones e instrucciones de entrada y salida. Los problemas cubren diversos temas matemáticos y de programación como sumas, multiplicaciones, ordenamiento, áreas, matrices, y análisis de cadenas. El objetivo es proporcionar ejercicios de programación para practicar diferentes conceptos y desarrollar soluciones algorítmicas a problemas bien definidos.
Este documento describe las estructuras repetitivas for y while en Java. Explica que for se usa cuando se conoce la cantidad de repeticiones, mientras que while evalúa una condición en cada iteración. Proporciona ejemplos de cómo inicializar variables, evaluar condiciones y modificarlas para controlar la repetición.
Este documento presenta seis ejercicios de programación sobre vectores, matrices y diferentes tipos de bucles en C++. Los ejercicios cubren temas como generar series, ingresar y visualizar datos en vectores y matrices, e imprimir diagonales principales y secundarias.
Pointer variables store memory addresses and are used to indirectly access the value stored at those addresses. In C, pointers are declared with an asterisk and the variable type. The address-of operator "&" returns the memory address of a variable, which can be assigned to a pointer variable. The dereference operator "*" accesses the value stored at the memory address pointed to by the pointer. Pointer arithmetic allows pointers to be incremented or decremented to access sequential memory addresses.
Este documento describe el uso de estructuras anidadas en C/C++. Explica que una estructura puede contener otras estructuras, lo que se conoce como anidamiento. Proporciona un ejemplo de una estructura Stack que contiene una estructura anidada Link para implementar una pila como una lista enlazada simple. Describe la sintaxis para declarar estructuras anidadas y cómo inicializar y usar los métodos de las estructuras anidadas Stack y Link.
The document provides an overview of the C programming language. It discusses the history and development of C, which originated from programming languages like ALGOL and BCPL. C was created by Dennis Ritchie at Bell Labs in 1972 and is strongly associated with UNIX. The document also covers basic C programming concepts like data types, functions, header files, and the structure of a C program. It provides examples of simple C programs and discusses programming style and executing a C program.
Distribuciones Muestrales y Estimación de los Parámetros de una Poblaciónjosegonzalez1606
Distribuciones Muestrales y Estimación de los Parámetros de una Población
Integrantes:
José González C.I: 28.576.187 Marcell Girardi C.I: 24. 491.579 Yulianny Marcano C.I: 26. 385.075 Alejandro Brito C.I: 24.947.747 José Pereira C.I: 28.095. 315
El documento describe los conceptos básicos de VHDL como lenguaje de descripción de hardware. VHDL se utiliza para diseñar circuitos digitales y consta de módulos como entidades y arquitecturas. Una entidad define las entradas, salidas y funcionalidad a nivel de sistema, mientras que una arquitectura describe la implementación interna de la entidad.
El programa permite al usuario introducir 10 números y ordenarlos mediante el método de burbuja. Luego calcula la suma, resta y determina el número más grande y más pequeño. Primero ordena los números de forma ascendente usando el método de burbuja, luego calcula la suma y resta de los números y determina cuál es el número más grande y más pequeño.
Este documento explica la estructura básica de una clase en Java. Describe que una clase contiene atributos y métodos que definen las características y comportamientos de un objeto. Explica que los atributos declaran los datos de un objeto y los métodos definen sus acciones. También presenta un ejemplo de una clase Persona con atributos como nombre, apellido y edad, así como un constructor y métodos para saludar y obtener la edad.
El documento habla sobre las funciones en C++. Define una función como un grupo de sentencias o declaraciones con un nombre asignado que puede ser llamado desde cualquier parte del programa. Explica la sintaxis de las funciones, cómo pasar argumentos por valor y referencia, el uso de void, valores por defecto, recursividad y otras consideraciones de eficiencia.
El documento describe cadenas (strings) en C. Explica que las cadenas en C son arrays de caracteres terminados en '\0'. Detalla cómo declarar, inicializar y asignar cadenas, y describe funciones comunes para manipular cadenas como strcpy(), strcmp(), strlen(), gets(), puts() y más. También incluye ejemplos de programas que usan estas funciones con cadenas.
El documento presenta un programa en C++ que define un arreglo tridimensional llamado 'numeros' y realiza operaciones matemáticas (suma, resta, multiplicación y promedio) sobre los valores almacenados en el arreglo. El programa solicita al usuario que ingrese valores en el arreglo y luego imprime el resultado de realizar las operaciones sobre los elementos del arreglo.
El documento presenta un programa en C++ que define un arreglo tridimensional llamado 'numeros' y realiza operaciones matemáticas (suma, resta, multiplicación y promedio) sobre los valores almacenados en el arreglo. El programa solicita al usuario que ingrese valores en el arreglo y luego imprime el resultado de realizar las operaciones sobre los elementos.
El documento contiene varios programas de C++ que muestran ejemplos del uso de diferentes tipos de datos, operadores, estructuras de control y funciones. Los programas cubren temas como variables enteras, flotantes y booleanas, operadores aritméticos, de comparación y lógicos, condicionales if-else y switch-case, bucles while, for y do-while, arrays, funciones y clases.
El documento contiene varios ejemplos de código C++ que muestran el uso de diferentes tipos de variables (enteras, booleanas, float, double), operadores (aritméticos, de comparación, lógicos), estructuras de control (if, switch, while, for), funciones, clases y métodos. Los ejemplos van desde "Hola Mundo" hasta cálculos más complejos como el cálculo del sueldo de empleados y operaciones matemáticas con números.
El documento contiene varios programas de C++ que muestran ejemplos del uso de diferentes tipos de datos, operadores, estructuras de control y funciones. Los programas cubren temas como variables enteras, flotantes y booleanas, operadores aritméticos, de comparación y lógicos, condicionales if-else y switch-case, bucles while, for y do-while, arrays, funciones y clases.
Este documento contiene varios ejemplos de código C++ que utilizan arreglos multidimensionales para almacenar y manipular diferentes tipos de datos, incluyendo letras, números y otros valores. Los ejemplos muestran cómo definir arreglos, solicitar entrada de datos para llenarlos, y luego imprimir o sumar los valores almacenados.
Este documento contiene ejercicios de programación ordenados por temas. Incluye ejercicios sobre punteros a arrays y cadenas de caracteres, arrays de punteros, paso de argumentos por referencia, asignación dinámica de memoria, paso de arrays y estructuras a funciones, argumentos en línea de órdenes, recursividad, ficheros, listas enlazadas, árboles binarios y algoritmos de ordenación de datos. Cada ejercicio viene acompañado de una posible solución en C.
Este documento trata sobre vectores, matrices y cadenas de caracteres en C. Explica que un vector almacena datos del mismo tipo bajo un nombre común y se accede mediante índices. Describe vectores de una y dos dimensiones, y funciones para manipular cadenas como strcpy, strcat y strlen.
Este documento presenta código de programación en C/C++ para realizar diferentes tareas como ordenar arreglos, calcular promedios y desviaciones estándar, contar frecuencias, y asignar asientos en un avión. Incluye funciones para leer datos, ordenar arreglos, calcular promedios y desviaciones, y mostrar resultados.
Este documento trata sobre cadenas en C. Explica cómo se representan las cadenas en C como arreglos unidimensionales de caracteres terminados por un carácter nulo. También cubre temas como la lectura de cadenas desde el teclado, las bibliotecas estándar ctype.h y string.h para la manipulación de cadenas, y la conversión de tipos entre cadenas y otros tipos de datos en C. Finalmente, incluye algunos ejercicios de práctica sobre estos temas.
Los documentos presentan programas en C/C++ para realizar diferentes tareas como: calcular el promedio de números ingresados, invertir un número, clasificar triángulos, diseñar un diamante con asteriscos, calcular estadísticas como media, varianza y desviación estándar de datos, sumar términos de una serie, calcular el coseno mediante series, implementar la sucesión de Ulam y la combinatoria. Los programas utilizan estructuras de control como ciclos for y while, funciones, condicionales if/else y entrada
Este documento describe las funciones de entrada y salida (E/S) básicas en C, incluyendo E/S de caracteres, cadenas y formateada. Explica funciones como getche(), puts(), scanf() y printf() y cómo se usan para leer y escribir datos desde y hacia la consola de manera formateada.
El documento resume los conceptos básicos del lenguaje de programación C, incluyendo el uso de editores, compiladores, bibliotecas, constantes, variables, tipos de datos, funciones, entrada y salida de datos, y operadores aritméticos. Explica cómo escribir un programa simple en C con funciones main(), printf(), scanf() y system("pause").
El documento resume los conceptos básicos del lenguaje de programación C, incluyendo el uso de editores, compiladores, bibliotecas, constantes, variables, tipos de datos, funciones, entrada y salida de datos, y operadores aritméticos. Explica cómo escribir un programa simple en C con funciones main(), printf(), scanf() y system("pause").
Este documento contiene 20 prácticas de programación avanzada realizadas por Dario Lopez Diaz. Cada práctica cubre un tema diferente como operadores aritméticos, lógicos y de comparación, sentencias condicionales como if y switch, comentarios y bucles while.
Este documento resume las funciones más importantes para el manejo de cadenas en C. Algunas de las funciones descritas son: strchr encuentra la primera aparición de un carácter en una cadena, strcpy copia una cadena en otra, strcmp compara dos cadenas alfabéticamente, strcat concatena cadenas, strlen devuelve la longitud de una cadena, y strtok divide una cadena en subcadenas separadas por delimitadores.
El documento presenta varios ejercicios de programación en C++ relacionados con aritmética, vectores, matrices y series numéricas. Los ejercicios muestran código para calcular múltiplos de 3, sumar y restar números, evaluar expresiones polinómicas, llenar y mostrar vectores, generar matrices con patrones numéricos específicos, y más.
Este documento contiene información sobre varias funciones de cadenas en C, incluyendo strlwr, strncpy, strdup, strlen, strrchr, strcspn, strpbrk, strcmp, y strrev. Explica la sintaxis y el uso de cada función a través de ejemplos de código.
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...micarnavaltupatrimon
Mi Carnaval es la plataforma que permite conectar al usuario con la cultura y la emoción del Carnaval de Blancos y Negros en la ciudad de Pasto, esta plataforma brinda una amplia oferta de productos, servicios, tiquetería e información relevante para generarle valor al usuario, además, la plataforma realiza un levantamiento de datos de los espectadores que se registran, capturando su actividad e información relevante para generar la analítica demográfica del evento en tiempo real, con estos datos se generan modelos predictivos, que permiten una mejor preparación y organización del evento, de esta manera ayudando a reducir la congestión, las largas filas y, así como a identificar áreas de alto riesgo de delincuencia y otros problemas de seguridad.
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...micarnavaltupatrimon
Mi Carnaval es la plataforma que permite conectar al usuario con la cultura y la emoción del Carnaval de Blancos y Negros en la ciudad de Pasto, esta plataforma brinda una amplia oferta de productos, servicios, tiquetería e información relevante para generarle valor al usuario, además, la plataforma realiza un levantamiento de datos de los espectadores que se registran, capturando su actividad e información relevante para generar la analítica demográfica del evento en tiempo real, con estos datos se generan modelos predictivos, que permiten una mejor preparación y organización del evento, de esta manera ayudando a reducir la congestión, las largas filas y, así como a identificar áreas de alto riesgo de delincuencia y otros problemas de seguridad.
2. Variables de tipo char
Las variables de tipo char ocupan un byte.
Los valores posibles son de -128 a 127.
Las constantes de tipo char pueden especificarse utilizando un carácter
o una secuencia de escape encerrada entre apóstrofos.
‘a’, ‘5’, ‘n’
Pueden mezclarse con variables enteras.
char x, y;
int a,b;
x = 45; y = ‘a’; a = 2*x; b = 3*x – y;
3. Lectura de caracteres
scanf (stdio.h) utilizando el formato %c. requiere presionar ENTER
getch (conio.h) no requiere de ENTER.
getchar (stdio.h) requiere presionar ENTER
#include <stdio.h>
#include <conio.h>
main(){
char p1,p2,p3=65;
printf("ningrese un caracter: ");
p1 = getchar();
putchar(p1);
printf("n");
printf("nel caracteer p3 es:");
putchar(p3);
printf("n");
printf("ningrese otro caracter: ");
scanf("%c",&p2);
printf("%c",p2);
printf("ningrese otro caracter: ");
p2 = getch();
printf("caracter leido: %c",p2);
getch();
}
4. Uso de fflush
Se requiere borrar el buffer para leer correctamente
#include <stdio.h>
#include <conio.h>
main(){
char p1,p2,p3=65;
printf("ningrese un caracter: ");
p1 = getchar();
putchar(p1);
printf("n");
fflush(stdin);
printf("nel caracteer p3 es:");
putchar(p3);
printf("n");
printf("ningrese otro caracter: ");
scanf("%c",&p2);
printf("%c",p2);
printf("ningrese otro caracter: ");
fflush(stdin);
p2 = getch();
fflush(stdin);
printf("caracter leido: %c",p2);
getch();
}
5. Funciones básicas de ctype.h
Función Significado
isdigit(c) Regresa un 1 si el argumento c es un dígito, sino regresa 0.
isalpha(c) Regresa un 1 si el argumento c es una letra, sino regresa 0.
islower(c) Regresa un 1 si el argumento c es una letra minúscula, sino regresa 0.
isupper(c) Regresa un 1 si el argumento c es una letra mayúscula, sino regresa 0.
tolower(c) Regresa el carácter c convertido a minúscula.
toupper(c) Regresa el carácter c convertido a mayúscula.
6. ejemplo
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
main(){
char c1,c2,c3,c4;
printf("tecle un caracter: ");
c1 = getch();
fflush(stdin);
if(isdigit(c1))
printf("%c es un digiton",c1);
else
printf("%c NO es un digiton",c1);
printf("tecle un caracter: ");
c2 = getch();
fflush(stdin);
if(isalpha(c2))
printf("%c es una letran",c2);
else
printf("%c NO es una letran",c2);
printf("tecle un caracter: ");
c3 = getch();
fflush(stdin);
if(isupper(c3)){
printf("%c es una letra
mayusculan",c3);
printf("La minuscula de %c es
%cnn",c3,tolower(c3));
}
if(islower(c3)){
printf("%c es una letra
minusculan",c2);
printf("La mayuscula de %c es
%cnn",c3,toupper(c3));
}
getch();
}
7. Ejemplo de Conversión
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
char aMayuscula(char c){
if(isalpha(c))
return toupper(c);
switch(c){
case 'á':return 'Á';
case 'é':return 'É';
case 'í':return 'Í';
case 'ó':return 'Ó';
case 'ú':return 'Ú';
case 'ñ':return 'Ñ';
}
}
main(){
printf("%cn",aMayuscula(‘á'));
getch();
}
10. Quiz
Que valores se imprimen en la pantalla con las siguientes sentencias:
El código ASCII de ‘A’ es 65.
char a = ‘E’;
printf(“%c es una letra, su codigo ASCII es %dn”, a, a);
printf(“%c %d”, tolower(a), isdigit(a));
11. Cadenas
Una cadena de caracteres es un arreglo unidimensional de caracteres que
termina con el carácter 0.
El nombre de la variable de cadena se utiliza como un apuntador al inicio del
arreglo de caracteres.
Las constantes de tipo cadena se encierran entre comillas dobles.
Ejemplos:
char a[10] = “hola”;
char m[25] = “”;
char *x = “San Luis Potosí”;
12. Declaración e inicialización
#include <stdio.h>
#include <conio.h>
main(){
// declara una cadena de longitud 20 como máximo.
char a[20];
// declara una cadena de longitud 20 como máximo.
// el contenido es la cadena “hola”, x[4] = ‘0’.
char x[10] = "hola";
// declara una cadena de 4 caracteres mas 0
char *m = "que tal";
// declara una cadena con longitud variable
char s[] = {'B','i','e','n','v','e','n','i','d','o','0'};
// declara una cadena con longitud variable
char nom[] = "juan perez";
puts(x);
puts(m);
puts(s);
puts(nom);
printf("x es "%s", ",x);
printf("m es "%s", ",m);
printf("s es "%s", ",s);
printf("nom es "%s" ",nom);
getch();
}
13. Lectura de cadenas
#include <stdio.h>
#include <conio.h>
main(){
//cadena de longitud variable
char cad2[10]="hola";
char *cad0;
char *cad1;
cad0 = "Marruecos";
puts(cad0);
cad0 = "San Luis Potosi";
puts(cad0);
//lectura de cadena variable
gets(cad1);
puts(cad1);
//lectura de cadena de longitud fija
printf("%sn",cad2);
gets(cad2);
puts(cad2);
scanf("%s",cad2);
puts(cad2);
getch();
}
14. Biblioteca stdlib.h
Función Significado
atoi(cad) Convierte cadena a entero
atof(cad) Convierte cadena a double
strtod(cad,&cad2) Convierte cadena a double
atol(cad) Convierte cadena a long
strtol(cad,&cad2,base) Convierte cadena a long
15. Ejemplo
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main(){
char s1[20],*s2;
int i;
long l;
double d;
printf("introduce cadena:");
gets(s1);
i = atoi(s1);
l = atol(s1);
d = atof(s1);
printf("s1 = "%s"n",s1);
printf("i = %dn",i);
printf("l = %dn",l);
printf("d = %lfn",d);
l = strtol(s1,&s2,0);
printf("%d, s2= %sn",l,s2);
d = strtod(s1,&s2);
printf("%lf, s2= %sn",d,s2);
getch();
}
16. Quiz
¿Qué función realiza la conversión especificada?
1. atol ___ convierte carácter a mayúscula
2. atod ___ convierte cadena a entero
3. atoi ___ convierte carácter a minúscula
4. tolower ___ convierte cadena a entero largo
5. toupper ___ convierte cadena a double
17. Contar caracteres
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int cuenta(char s[],char c){
int i=0,cuenta=0;
while(s[i]){
if(s[i]==c)
cuenta++;
i++;
}
return cuenta;
}
main(){
char s[50],c;
printf("Cuenta el numero de
veces que aparecenun caracter en
una cadenan");
printf("introduce cadena:");
gets(s);
printf("introduce el caracter a
contar:");
c = getchar();
printf("el caracter '%c'
aparece %d vecesn“ , c,
cuenta(s,c));
getch();
}
18. Cuenta las vocales de una cadena
int cuentaVocales(char s[]){
int i=0,cuenta=0;
while(s[i]){
if(tolower(s[i])=='a'||
tolower(s[i])=='e'||
tolower(s[i])=='i'||
tolower(s[i])=='o'||
tolower(s[i])=='u'
)
cuenta++;
i++;
}
return cuenta;
}
19. Otra solución para contar vocales
main(){
int cuentaVocales;
char s[50];
printf("Escriba cadena:");
gets(s);
cuentaVocales=cuenta(s,'a')+cuenta(s,'e')+
cuenta(s,'i')+cuenta(s,'o')+cuenta(s,'u');
printf("Total de vocales %d",cuentaVocales);
getch();
}
20. Convierte a mayúsculas una
cadena
void aMayusculas(char s[]){
int i=0;
while(s[i]){
s[i] = toupper(s[i]);
i++;
}
}
main(){
char s[50];
printf("Cuenta el número de vocales en una cadenan");
printf("introduce cadena:");
gets(s);
aMayusculas(s);
printf("la cadena en mayusculas es:n%s",s);
getch();
}
21. Reemplazar un carácter por otro
void reemplaza(char s[],char c1, char c2){
int i=0;
while(s[i]){
if(s[i]==c1) s[i] = c2;
i++;
}
}
main(){
char s[50],c1,c2;
printf("reemplaza un caracter por otro en una cadenan");
printf("introduce cadena:");
gets(s);
printf("introduce el caracter a reemplazar:");
c1 = getchar();
fflush(stdin);
printf("introduce el caracter de reemplazo:");
c2 = getchar();
reemplaza(s,c1,c2);
printf("la cadena reeplazada es:n%s",s);
getch();
}
22. Suma de dígitos de un número
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
int sumaDigitos(char
s[]){
int i=0,suma=0;
while(s[i]){
if(isdigit(s[i]))
suma += s[i]-'0';
i++;
}
return suma;
}
main(){
int suma;
char s[50];
printf("Escriba cadena:");
gets(s);
suma = sumaDigitos(s);
printf("Suma de digitos = %d",suma);
getch();
}
23. Extraer fecha del CURP
El CURP está formado por una cadena de 18 caracteres, la fecha la forman
los caracteres del 5 al 10.
La siguiente función extrae el día, el mes y el año de nacimiento.
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
void fechaCURP(char s[],int *d,int *m,int *a){
*a = 1900+(s[4]-'0')*10+(s[5]-'0');
*m = (s[6]-'0')*10+(s[7]-'0');
*d = (s[8]-'0')*10+(s[9]-'0');
}
24. Actividad
Escriba una función que cambie todos los dígitos iguales a ‘0’ por la letra ‘o’
y los unos ‘1’ por letras ‘I’ de una cadena que pase como parámetro.
void reemplaza(char s[],char c1, char c2){
int i=0;
while(s[i]){
if(s[i]==c1) s[i] = c2;
i++;
}
}
25. Funciones de cadenas
Función Descripción
strcpy(cad1,cad0) Copia la cadena cad0 en la cadena cad1
strncpy(cad1,cad0,n) Copia n caracteres de la cadena cad0 en la cadena cad1
strcat(cad1,cad0) Añade una copia de cad0 al final de la cadena cad1.
strncat(cad1,cad0,n) Añade n caracteres de cad0 al final de la cadena cad1
strstr(cad1,cad0) Localiza la primera ocurrencia de la cadena cad0 en la
cadena cad1, regresa el apuntador a esa cadena.
strlen(cad0) Regresa la longitud de la cadena cad0
strcmp(cad0,cad1) Compara cad0 con cad1, regresa un entero mayor, igual o
menor que cero según si la cadena cad0 es mayor, igual o
menor que cad2.
strchr(cad,c) Localiza la primera ocurrencia del carácter c dentro de la
cadena cad y regresa el apuntador a la cadena restante.
Biblioteca string.h
33. Ejemplo strchr
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main()
{
char s[20] = "Hola amigos";
char c = 'a';
printf( "s=%st", s );
printf( "c=%cn", c );
printf( "strchr=%sn", strchr( s, c ) );
getch();
return 0;
}
34. Ejemplo contar caracteres
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main()
{
char cad1[50],cad2[50],*cad3;
int i=0;
printf("escriba cadeba: ");
gets(cad1);
printf("escriba cadeba a contar: ");
gets(cad2);
strcpy(cad3,cad1);
//localiza la primera ocurrencia
printf("AQUI");
cad3 = strstr(cad3,cad2);
//licaliza las demás ocurrencias
while(cad3!=NULL){
i++;
cad3 = strstr(cad3+1,cad2);
}
printf("nSe encontraron %d ocurrencias.n",i);
getch();
}
35. Actividad
Cual es la salida del siguiente programa:
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main()
{
char cad1[50]="bienvenidos a Mexico";
char cad2[50];
strcpy(cad2,cad1);
printf("cad2 = %sn",cad2);
strcat(cad1,strstr(cad2,"Mex"));
printf("cad1 = %sn",cad1);
strncat(cad1,cad2,10);
printf("cad1 = %sn",cad1);
getch();
}
36. Quiz
Escriba una sentencia utilizando las funciones de cadena para extraer las
cadenas que se solicita de la cadena suministrada.
s1 = “San Luis Potosí” extraer “Luis”
Obtenga la cadena “esta es una cadena concatenada” a partir de
las cadenas y las funciones de cadena (AYUDA: puede hacer llamadas
anidadas de la función strcat)
s1 = “cadena ”
s2 = “concate”
s3 = “ es una ”
s4 = “esta”
strcpy(cad1,cad0)
strncpy(cad1,cad0,n)
strcat(cad1,cad0)
strncat(cad1,cad0,n)
strstr(cad1,cad0)
strlen(cad0)
strcmp(cad0,cad1)
strchr(cad,c)
37. Arreglos de cadenas
Un arreglo de cadenas es una arreglo bidimensional de caracteres.
Podemos ver el arreglo bidimensional como un arreglo de una dimensión de
cadenas de caracteres.
Se pueden utilizar las funciones revisadas anteriormente en cada elemento del
arreglo.
38. Ordenación de una lista de
nombres
#include <stdio.h>
#include <string.h>
#include <conio.h>
void intercambia(char cad1[50],char cad2[50]){
char temp[50];
strcpy(temp,cad1);
strcpy(cad1,cad2);
strcpy(cad2,temp);
}
void ordena(char lista[][50],int num){
int i,j;
for(i = 0;i<num-1;i++){
for(j = i+1;j<num;j++)
if(strcmp(lista[i],lista[j])>0)
intercambia(lista[i],lista[j]);
}
}
39. int leerLista(char lista[][50]){
int i=0,hecho=0;
char s[50];
printf("Escriba los nombres (FIN=terminar)n");
do{
gets(lista[i]);
if(strcmp(lista[i],"FIN")!=0)
i++;
else
hecho = 1;
}while(!hecho);
return i;
}
void imprime(char lista[][50],int num){
int i;
for(i = 0;i<num;i++)
puts(lista[i]);
}
41. Apuntadores
Una variable de tipo apuntador contiene una dirección de memoria.
La dirección de memoria señalada por el apuntador es la que contiene el
dato que puede ser de cualquier tipo, incluso void.
int entero, *pentero;
entero = 548;
pentero = &entero;
*pentero = -234;
548
entero
pentero
548
entero
Asigna la dirección de entero a
pentero
pentero
-234
entero
NOTA: a los apuntadores solo
puede asignárseles: 0, NULL o
una dirección
42. Ejemplo
#include <stdio.h>
#include <conio.h>
main(){
int entero,*pentero;
entero = 548;
pentero = &entero;
printf("La dirección de entero es %dn",&entero);
printf("el valor de pentero es %dn",pentero);
printf("el valor de entero es %dn",entero);
printf("el valor de *pentero es %dn",*pentero);
*pentero = -234;
printf("el valor de entero es %dn",entero);
printf("el valor de *pentero es %dn",*pentero);
getch();
}
43. Aritmética de apuntadores
Los apuntadores pueden utilizarse para acceder a los elementos de un arreglo.
#include <stdio.h>
#include <conio.h>
main(){
int a[10]={3,4,1,8,2,3,4,5,7,0},*b;
b = a;//b apunta al inicio del arreglo a
printf("dirección de b es %d, el contenido es %dn",b,*b);
b = b + 1;//b apunta a a[1]
printf("dirección de b es %d, el contenido es %dn",b,*b);
b = b + 3;//b apunta a a[4]
printf("dirección de b es %d, el contenido es %dn",b,*b);
b = b - 2;//b apunta a a[2]
printf("dirección de b es %d, el contenido es %dn",b,*b);
getch();
}
44. #include <stdio.h>
#include <conio.h>
main(){
double a[10]={3,4,1,8,2,3,4,5,7,0},*b;
b = a;//b apunta al inicio del arreglo a
printf("dirección de b es %d, el contenido es %lfn",b,*b);
b = b + 1;//b apunta a a[1]
printf("dirección de b es %d, el contenido es %lfn",b,*b);
b = b + 3;//b apunta a a[4]
printf("dirección de b es %d, el contenido es %lfn",b,*b);
b = b - 2;//b apunta a a[2]
printf("dirección de b es %d, el contenido es %lfn",b,*b);
getch();
}
45. Apuntadores y subíndices
#include <stdio.h>
#include <conio.h>
main(){
double a[10]={3,4,1,8,2,3,4,5,7,0},*b;
int i;
b = a;//b apunta al inicio del arreglo a
for(i=0;i<10;i++)
printf("a[%d]=%lfn",i,a[i]);
for(i=0;i<10;i++)
printf("*(b+%d)=%lfn",i,*(b+i));
getch();
}
La aritmética de apuntadores y los subíndices son equivalentes.
46. Apuntadores a funciones
Las funciones se comportan como apuntadores.
El nombre de la función es un apuntador al inicio del código de la función.
Las funciones pueden pasarse como parámetros a otras funciones.
47. Ejemplo de apuntador a función
#include <stdio.h>
#include <conio.h>
#include <math.h>
void tabula(double a, double b,double (*fun)(double )){
double x,y;
for(x=a;x<=b;x+=(b-a)/10.0){
y = (*fun)(x);
printf("f(%lf) = %lf n",x*180/3.1416,y);
}
}
main(){
tabula(0,3.1416/2,sin);
tabula(0,3.1416/2,cos);
getch();
}
49. ¿Que valores tienen las variables?
int x. *px:
float y, *py;
x = 5;
px = &x;
*px = 2*x + *px;
y = x;
py = y;
y = *py + x;
printf(“*p = %d x = %dn”,*px,x);
printf(“*p = %f x = %fn”,*py,y);
x *px y *py
50. Suponga la siguiente declaración:
float n1 = 7.3, n2;
Escriba una sentencia para cada una de las siguientes
acciones:
Declare ptrF como un apuntador a un objeto tipo float
Asigne la dirección de n1 a ptrF
Despliegue el valor del objeto apuntado por ptrF
Asigne el valor del objeto apuntado por ptrF a n2
Despliegue el valor de n2
Despliegue la dirección de n1
Despliegue la dirección almacenada en ptrF
Asigne a ptrF la dirección de n2
Asigne al valor del objeto apuntado por ptrF el valor
8.1
Despliegue el valor de n1
Despliegue el valor de n2
51. Funciones de cadenas estilo
Pascal
Las siguientes funciones implementan algunas de las funciones y
procedimientos utilizadas en el lenguaje Pascal. Supondremos que las
cadenas están declaradas como arreglos de 256 caracteres (incluyendo el 0
de terminación).
Función Descripción
copystr extrae una subcadena de una cadena
deletestr borra una subcadena de una cadena
insert inserta una subcadena dentro de otra
pos busca una subcadena dentro de otra cadena
56. Ejemplo
main(){
char c1[256],c2[256];
strcpy(c1,"hola tal");
printf("c1 = %sn",c1);
strcpy(c2,"que ");
printf("c2 = %sn",c2);
insertstr(""esta es una prueba "",c1,5);
printf("inserta "esta es una prueba " en c1 = %sn",c1);
deletestr(c1,0,8);
printf("borra de 0 a 8 en c1 = %sn",c1);
deletestr(c1,10,7);
printf("borra de 10 a 17 en c1 = %sn",c1);
deletestr(c1,16,5);
printf("borra de 16 a 21 en c1 = %sn",c1);
printf("pos de "una" = %dn",pos("una",c1));
printf("pos de "xxx" = %dn",pos("xxx",c1));
printf("pos de "tal" = %dn",pos("tal",c1));
getch();
}