Programación
miércoles, 23 de marzo de 2016
EJERCICIO CON FUNCIONES STRING
CAMBIAR LAS CADENAS A MAYÚSCULAS.
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <iostream>
using namespace std;
main()
{
int Indice;
string var;
char nom[20];
cout<<"Ingrese una palabra ";
cin>>nom;
//cout<<endl<<nom<<endl;
for(Indice=strlen(nom); Indice > -1; Indice--)
{
var= toupper(nom[Indice]);
cout<<var;
}
getch();
}
FUNCIONES DE STRING
La librería de string contiene varias funciones de las cuales vamos a ver las siguientes.
strcat : Añade una copia de la cadena apuntada por s2 (incluyendo el carácter nulo) al final de la cadena apuntada por s1.
// El carácter inicial de s2 sobrescribe el carácter nulo al final de s1.
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main()
{
char s1[11] = "Hola ";
char s2[7] = "amigos";
printf( "s1=%s\t", s1 );
printf( "s2=%s\n", s2 );
strcat( s1, s2 );
printf( "s1=%s\n", s1 );
getch();
}
strchr: Localiza la primera aparición de c (convertido a unsigned char) en la cadena apuntada por s (incluyendo el carácter nulo).
#include <stdio.h> #include <string.h> #include <conio.h> int main() { char s[14] = "Hola amigos"; char c = 'a'; printf( "s=%s\t", s ); printf( "c=%c\n", c ); printf( "strchr=%s\n", strchr( s, c ) ); getch(); }
strcmp: Compara la cadena apuntada por s1 con la cadena apuntada por s2.
#include <stdio.h> #include <string.h> #include<conio.h> int main() { char s1[6] = "Abeja"; char s2[6] = "abeja"; int i; printf( "s1=%s\t", s1 ); printf( "s2=%s\n", s2 ); i = strcmp( s1, s2 ); printf( "s1 es " ); if( i < 0 ) printf( "menor que" ); else if( i > 0 ) printf( "mayor que" ); else printf( "igual a" ); printf( " s2\n" ); getch(); }
strcpy : Copia la cadena apuntada por s2 (incluyendo el carácter nulo) a la cadena apuntada por s1.
#include <stdio.h> #include <string.h> #include <conio.h> int main() { char s2[8] = "abcdefg"; char s1[8]; strcpy( s1, s2 ); printf( "s2=%s\n", s2 ); printf( "s1=%s\n", s1 ); getch(); }
strlen : Calcula el número de caracteres de la cadena apuntada por s.
#include <stdio.h> #include <conio.h> #include <string.h> int main() { char s[13] = "Hola a todos"; printf( "s=%s\n", s ); printf( "strlen(s) = %d\n", strlen( s ) ); getch(); }
miércoles, 27 de enero de 2016
Variables Locales
Variable local
Una variable local es, en informática, la variable a la que se le otorga un ámbito local. Tales variables sólo pueden accederse desde la función o bloque de instrucciones en donde se declaran. Las variables locales se contraponen a las variables globales.
En la mayoría de lenguajes de programación las variables locales son variables automáticas almacenadas directamente en la pila de llamadas. Esto significa que cuando unafunción recursiva se llama a sí misma, las variables locales reciben, en cada instancia de la función, espacio para el direccionamiento de memoria separados. De esta forma las variables con este ámbito se pueden declarar, reescribir y leer sin riesgo de efectos secundarios para los procesos fuera del bloque en el que son declarados.
Los lenguajes de programación que se sirven de la semántica llamada por valor semantics proven una subrutina llamada con su propia copia local de los argumentos que se pasan. En la mayoría de lenguajes, a estos parámetros locales se les trata igual que otras variables locales dentro de la subrutina. Por otro lado las semánticas llamada por referencia y llamada por nombre permiten que los parámetros actúen como alias de los argumentos que se pasan, permitiendo a la subrutina modificar variables al margen de su ámbito.
Algunos expertos abogan por limitarse al uso de variables locales para evitar efectos laterales en el resto del software motivados por un cambio en un módulo en particular.
Variables Globales
Variable global
Una variable global es, en informática, una variable accesible en todos los ámbitos de un programa informático. Los mecanismos de interacción con variables globales se denominan mecanismos de entorno global. El concepto de entorno global contrasta con el de entorno local donde todas las variables son locales sin memoria compartida (y por ello todas las iteraciones pueden restringirse al intercambio de mensajes).
El uso de este tipo de variables suele considerarse como una mala práctica, por el riesgo que conlleva esa deslocalización: una variable global puede ser modificada en cualquier parte del programa (a menos que resida en una sección de memoria protegida) y cualquier parte del programa depende de ella. Es por ello que una variable global tiene un potencial ilimitado para crear dependencias, factor éste que aumenta la complejidad. Sin embargo, en algunas ocasiones, las variables globales resultan muy útiles. Por ejemplo, se pueden usar para evitar tener que pasar variables usadas muy frecuentemente de forma continua entre diferentes subrutinas.
Las variables globales se usan de forma frecuente para pasar información entre diferentes secciones del código que no comparten una relación de "función llamadora" - "función llamada", como ocurre con hilos concurrentes y módulos para el manejo de señales. Los lenguajes de programación donde cada archivo define un espacio de nombres implícito elminan la mayor parte de los problemas de los lenguajes con nombres de espacios globales, aunque pueda haber algunos problemas si no se tiene cuidado a la hora deencapsular el código. Sin las restricciones adecuadas (como por ejemplo con un mutex), el código que usa variables globales no será a prueba de hilos excepto para los valores de sólo lectura en la memoria protegida.
Ejemplo de una variable global en C++
#include <iostream> int global = 3; // Esta es la variable global. void ChangeGlobal() { global = 5; // Se referencia la variable global en una función. } int main() { std::cout << global << '\n'; // Se referencia la variable global en una segunda función. ChangeGlobal(); std::cout << global << '\n'; return 0; }
Suscribirse a:
Entradas (Atom)