Você está na página 1de 26

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERA CIENCIAS FSICAS Y MATEMTICA

PROYECTO DE AULA

TEMA: CADENAS INVERSAS EN VISUAL BASIC, C, JAVA


PROYECTO

AUTORES:

CATAGA ROSITA

ESCOBAR CAMILA

PACHACAMA LILIANA

YAGUACHI JOHANA

GRUPO:GETCHARS

TUTOR:

ING.WAGNER LUCERO

JULIO-2015
QUITO-ECUADOR
1

NDICE

Cadenas Inversas en Visual Basic, C, Java


PGINAS PRELIMINARES

Caratula..................................................................................................................1

ndice ................................................................................................................. 2-3

Resumen ................................................................................................................4

Introduccin ...........................................................................................................5

CAPTULO I: EL PROBLEMA.

1.1 Anlisis crtico .............................................................................................................6


1.2Objetivos.......................................................................................................................7
1.2.1 Objetivo general .......................................................................................................7
1.2.2 Objetivos Especficos ...............................................................................................7
1.3 Justificacin .................................................................................................................8

CAPTULO II: MARCO TERICO.

2.1 Antecedentes................................................................................................................9
2.2.1 Perspectiva Histrica ................................................................................................9
2.2.2 Lxico y programacin. ..........................................................................................10
2.2 Marco Terico ...........................................................................................................11
2.2.1 Lenguajes de Programacin ...................................................................................11
2

2.2.1 Cadenas........................................................................................................ 11-12-13

CAPTULO III: DESARROLLO.

2.2.2 Desarrollo ................................................................. 14-15-16-17-18-19-20-21-22


Definicin de trminos ........................................................................................... 23-24

CAPTULO IV: CONCLUSIONES Y RECOMENDACIONES.

2.2.2 Conclusiones .......................................................................................................25


2.2.2 Recomendaciones ...............................................................................................25
2.2.2 Bibliografa .........................................................................................................26
2.2.2 Webgrafa ............................................................................................................26

UNIVERSIDAD CENTRAL DEL ECUADOR


FACULTAD DE INGENIERA CIENCIAS FSICAS Y MATEMTICA

PROGRAMACIN

RESUMEN

El cdigo de un programa bsicamente consiste en la construccin de datos que tiene


una secuencia de instrucciones, escritas para realizar una tarea especfica.
El programa que vamos a crear tiene como finalidad la construccin de varias cadenas
para luego ser invertidas.
Desde un punto de vista de la programacin, una cadena podr estar formada por
cualquier combinacin finita de todo .En este mismo mbito (el de la programacin), se
utilizan normalmente como un tipo de dato predefinido, para palabras, frases o cualquier
otra sucesin de caracteres.
Con una clara definicin del programa a realizar tomamos en cuenta que, es necesario
una correcta construccin y ejecucin del programa (cadenas inversas).
Mediante el cual nos daremos cuenta una vez ms que en el mundo de la programacin
todo es posible, de la construccin de programas simples podemos pasar a construir
programas que requieran de un mayor conocimiento.
El programa nos deja como legado que la programacin no solo ayuda al mundo
matemtico, si no que abarca todas ramas y ciencias de estudio, el programa ser de gran
ayuda a los estudiosos de la lengua a una mejor comprensin de las frases invertidas.

INTRODUCCIN

A veces a la persona a la que nadie imagina capaz de nada, es la que haces cosas
que nadie imagina.
ALAN TURING.

El programa que vamos a realizar consiste en la construccin de un programa que


especficamente nos va a permitir generar cadenas inversas.
Las palabras o frases inversas bsicamente son aquellas que se leen de derecha a
izquierda en algunos casos su significado no va a cambiar, pero existen casos que su
significado a variar completamente. Habitualmente, estas frases se resienten en su
significado cuanto ms largas son.
Para la construccin y aplicacin del programa vamos a necesitar de todos los
conocimientos que hemos adquirido a lo largo de este periodo, as como tambin de las
fuentes de consulta que podamos adquirir, para un mejor aprendizaje vamos a construir
el programa en varios lenguajes, lo cual nos permitir aplicar mejor nuestros
conocimientos y a su vez ir mejorando cada vez ms el cdigo del programa.
La realizacin del programa tienes como finalidad

una mejor visualizacin y

conceptualizacin de la definicin de cadenas, as como tambin nos ayuda a comprender


la gran ayuda que proporciona tener conocimiento de programacin, ya que se los pude
aplicar para resolver problemas de la vida diaria.

CAPTULO I

EL PROBLEMA

ANLISIS CRTICO

El gran mundo de la programacin nos permite darnos cuenta que puede ser utilizado
en todos los mbitos desde las matemticas hasta la literatura.
La programacin nos ayuda a fortalecer nuestra lgica ya que se la aplica para la
realizacin de algoritmos, luego con la ayuda de las distintas herramientas de los
diferentes lenguajes de programacin, ser transformados en unos xitos programas que
nos ayudan a resolver algunas de las dificultades que podemos encontrar en la vida
cotidiana.
Un claro ejemplo es el programa que vamos a realizar, el cual consiste en la ejecucin de
cadenas inversas en Visual Basic, C, Java.
Como ya mencionamos anteriormente las cadenas inversas son frases o palabras que se
las lee de derecha a izquierda.
Si nos damos cuenta este grupo de frases tienen relacin con gramtica, y aunque son
campos muy distintos los problemas que existen dentro de la misma pueden ser resueltos
por los diferentes lenguajes de programacin, y as nuevamente concluimos que el mundo
de la programacin est ligado a resolver algunos problemas de la vida cotidiana.

OBJETIVOS
Objetivo general.
Construir un programa que permita la ejecucin de cadenas inversas, a travs de la
aplicacin de varios conocimientos de programacin en sus diferentes lenguajes, y as
ampliar nuestro conocimiento en los diferentes lenguajes de programacin.
Objetivos especficos.

Investigar y ampliar nuestros conocimientos de los lenguajes de programacin.

Investigar y aplicar nuevas herramientas en los diferentes lenguajes de


programacin.

Aplicar de manera correcta y satisfactoria todos conocimientos aprendidos.

Explicar la utilizacin de los distintos lenguajes de programacin en problemas


de la vida cotidiana.

JUSTIFICACIN

La realizacin del programa de cadenas inversas tiene como fin poder explicar, la
utilizacin de los distintos lenguajes de programacin en problemas de la vida cotidiana.
Para ello vamos a estudiar e identificar correctamente la utilizacin y funcionamiento que
cada herramienta posee en los distintos lenguajes de programacin.
Teniendo en claro todos estos conocimientos, parmetros y trminos podremos mejorar
cada vez ms el cdigo que construyamos y explicaremos el porqu del uso de la
programacin para la ejecucin de un programa en diferentes lenguajes de programacin.
Podremos comprender cuan amplio es el mundo de la programacin ya que es utilizado
y requerido para todas las ramas y ciencias de estudio, como el programa que construimos
ya que el mismo se basa en definiciones gramaticales que a travs de algoritmos y la
utilizacin de secuencias lgicas se transformara en un problema de la vida diaria
solucionado por programacin.

CAPTULO II
MARCO TERICO
2.1. Antecedentes
2.1.2. Perspectiva histrica
Para crear un programa, y que la computadora lo intrprete y ejecute las instrucciones
escritas en l, debe usarse un lenguaje de programacin. En sus inicios las computadoras
interpretaban slo instrucciones en un lenguaje especfico, del ms bajo nivel, conocido
como cdigo mquina, siendo ste excesivamente complicado para programar.
De hecho slo consiste en cadenas de nmeros 1 y 0 (sistema binario). Para facilitar el
trabajo de programacin, los primeros cientficos que trabajaban en el rea decidieron
reemplazar las instrucciones, secuencias de unos y ceros, por palabras o letras
provenientes del ingls; las codificaron y crearon as un lenguaje de mayor nivel, que se
conoce como Assembly o lenguaje ensamblador.
Por ejemplo, para sumar se usa la letra A de la palabra inglesaadd (sumar). En realidad
escribir en lenguaje ensamblador es bsicamente lo mismo que hacerlo en lenguaje
mquina, pero las letras y palabras son bastante ms fciles de recordar y entender que
secuencias de nmeros binarios. A medida que la complejidad de las tareas que realizaban
las computadoras aumentaba, se hizo necesario disponer de un mtodo sencillo para
programar. Entonces, se crearon los lenguajes de alto nivel.
Mientras que una tarea tan trivial como multiplicar dos nmeros puede necesitar un
conjunto de instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastar
con slo una. Una vez que se termina de escribir un programa, sea en ensamblador o en
algunos lenguajes de alto nivel, es necesario compilarlo, es decir, traducirlo completo a
lenguaje mquina.

2.1.2. Lxico y programacin.


La programacin se rige por reglas y un conjunto ms o menos reducido de rdenes,
expresiones, instrucciones y comandos que tienden a asemejarse a una lengua natural
acotada (en ingls); y que adems tienen la particularidad de una reducida ambigedad.
Cuanto menos ambiguo es un lenguaje de programacin, se dice, es ms potente.

10

2. 2 Marco Terico
2.2.1 Lenguajes de Programacin
Un

lenguaje de programacin es un

lenguaje formal diseado para expresar

procesos que pueden ser llevados a cabo por mquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de
una mquina, para expresar algoritmos con precisin, o como modo de comunicacin
humana.
Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen
su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se
escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el cdigo
fuente de un programa informtico se le llama programacin.

El desarrollo lgico del programa para resolver un problema en particular:

Escritura de la lgica del programa empleando un lenguaje de programacin


especfico (codificacin del programa).

Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina.

Prueba y depuracin del programa.

2.2.2 Cadenas.
En programacin, si no se ponen restricciones al alfabeto, una cadena podr estar
formada por cualquier combinacin finita de todo el juego de caracteres disponibles (las
letras de la 'a' a la 'z' y de la 'A' a la 'Z', los nmeros del '0' al '9', el espacio en blanco ' ',
smbolos diversos '!', '@', '%', etc).
En este mismo mbito (el de la programacin), se utilizan normalmente como un tipo de
dato predefinido, para palabras, frases o cualquier otra sucesin de caracteres.
En este caso, se almacenan en un vector de datos, o matriz de datos de una sola fila
(array en ingls).

11

Las cadenas se pueden almacenar fsicamente:

Seguidas.

Enlazados letra a letra.

Generalmente son guardados un carcter a continuacin de otro por una cuestin de


eficiencia de acceso.
Un caso especial de cadena es la que contiene cero caracteres, a esta cadena se la
llama cadena vaca; en teora de autmatas es comn denotar a la misma por medio de la
letra griega .
Operacin con cadenas de caracteres.
Si consideramos las cadenas como un tipo de datos, hay que definir (o conocer) cuales
son las operaciones que podemos hacer con ellas.

Asignacin: Consiste en asignarle una cadena a otra.

Concatenacin: Consiste en unir dos cadenas o ms (o una cadena con un carcter)


para formar una cadena de mayor tamao.

Bsqueda: Consiste en localizar dentro de una cadena una subcadena ms pequea o


un carcter.

Extraccin: Se trata de sacar fuera de una cadena una porcin de la misma segn su
posicin dentro de ella.

Comparacin: Se utiliza para comparar dos cadenas.

Ejemplo:
Representacin de cadenas en el lenguaje C.
Una cadena suele ser representada entre comillas dobles superiores ("palabra"), mientras
que un carcter de esa cadena (un char en ingls) suele ser representado entre comillas
simples ('p'). Por ejemplo, en C:
charAt c = 'a';
12

char str[5] = "hola";

Generalmente para acceder a un carcter en una posicin determinada se suele usar la


forma variable [posicin] como cuando se accede a un vector.
Para poder mostrar una comilla (") dentro de la cadena y no tener problemas con las
comillas que la delimitan, se usan secuencias de escape.
Una forma comn, en muchos lenguajes, de escapar un carcter es anteponindole un \
(sin comillas), p. e.: \" (sin comillas).

13

CAPTULO III

DESARROLLO

Palindromos en Visual Basic,C,Java.


3. Desarrollo.
CDIGO JAVA:
package nuevoo1;
import java.util.*;
public class Nuevoo1 {
public static void main(String[] args) {
//Habilito entrada de datos
Scanner lectura=new Scanner(System.in);
//System.out.println("Ingrese las palabras");
//String cadena=lectura.nextLine();
char cadena2[][]=new char[10][10];
char cadenaorig[][]=new char[10][10];
String cadenainvertida="";
int contador=0, j, numpalb;
char ascii;
int dim[]=new int [10];
System.out.println("sr. usuario por favor ingrese numero de
palabras con las que desea trabajar");
numpalb=lectura.nextInt();
String s = new String();
System.out.println(" por favor ingrese palabras");
for(j=0;j<=numpalb ;j++)
{
s= lectura.nextLine();
dim[j]=s.length();
cadenaorig[j]=s.toCharArray();
}
//aqui logr imprimir solo los nmeros a los q pertenecen
los caracteres pero no me salen los caracteres
System.out.println(cadenaorig[j]);
for(int i=0;i<s.length();i++){
ascii=s.charAt(i);
System.out.println(ascii + s.charAt(i) );
}

14

int i;
// y pues aqu, pues aqui no aparece esta parte cuando se
imprime
for (i=0;i<=numpalb;i++)
{
int k=0;
for (j=dim[i]-1;j>=0;j--)
{
cadena2[i][k]= cadenaorig[i][j];
k++;
}
}
System.out.println(cadena2[j]);
for( i=0;i<s.length();i++)
{
ascii=s.charAt(j);
System.out.println(ascii + s.charAt(j) );
}
}
}

//Tranformacion de cadena a ascii

/*

System.out.println("Valor de la cadena en codigo Ascii");


for(int i=0;i<cadena.length();i++){
int ascii=cadena.charAt(i);
System.out.println(ascii +" ->"+ cadena.charAt(i));
}

//Invertir cadena ingresada


for(int i=cadena.length()-1;i>=0;i--){
contador=contador+1;
//Asignacion de acumulacion
cadenainvertida+=cadena.charAt(i);
}
System.out.println("Cadena invertida\n"+cadenainvertida);
System.out.println("El numero de caracteres en la cadena es
de :\n"+contador);*/

15

16

CDIGO VSB:
Sub Hola()
Dim texto(100) As String
Dim dimension As Integer
Dim i As Integer
Dim invertir As String
Dim j As Integer
Dim dest(100) As String
Dim ch As String
Dim asci As Integer

dimension = InputBox("Ingrese con cuantas palabras desea trabajar: ")

i=0
While (i < dimension)
texto(i) = InputBox("Ingrese Texto :" & i)
Worksheets("hoja1").Cells(1 + i, 1).Value = texto(i)
i=i+1
Wend

i=0
17

While (i < dimension)


invertir = StrReverse(texto(i))
Worksheets("hoja1").Cells(1 + i, 2).Value = invertir
i=i+1
Wend

j=0
While (j < dimension)

For i = 1 To Len(texto(j))
ch = Mid(texto(j), i, 1)
asci = Asc(ch)
dest(j) = dest(j) + CStr(asci)
Next i

Worksheets("hoja1").Cells(1 + j, 3).Value = asci


j=j+1
Wend

End Sub

18

19

CDIGO C:
// ConsoleApplication1.cpp: define el punto de entrada de la
aplicacin de consola.
//
#include "stdafx.h"
#include "stdlib.h"
#include "string.h"
int _tmain(int argc, _TCHAR* argv[])
{
int dimension, i, j, k;
char cadena2[10][50];
char cadenaorig[10][50];
int numpalb;
printf("sr.usuario por favor ingrese el nmero de palabras
con las que desea trabajar \n");
scanf_s("%d", &numpalb);
fflush(stdin);
for (i = 0; i < numpalb; i++)
{
printf("sr.usuario por favor ingrese palabra \n ");
gets_s(cadenaorig[i]);
printf("\n");
}
for (i = 0; i<numpalb; i++)
{
int k = 0;
for (j = 0; j < cadenaorig[i][j]; j++)
{
printf("%d "" == >""
%c \n \t",
cadenaorig[i][j], cadenaorig[i][j]);
}
cadena2[i][k] = '\0';
printf("\n");
}

for (i = 0; i<numpalb; i++)


{
int k = 0;
for (j = strlen(cadenaorig[i]) - 1; j >= 0; j--)
{
cadena2[i][k] = cadenaorig[i][j];
k++;

20

}
cadena2[i][k] = '\0';
printf("\n");
}
for (i = 0; i<numpalb; i++)
{
puts(cadena2[i]);
printf("\n");
}
for (i = 0; i<numpalb; i++)
{
int k = 0;
for (j = strlen(cadenaorig[i]) - 1; j >= 0; j--)
{
cadena2[i][k] = cadenaorig[i][j];
k++;
printf("%d,"" == >"" %c \n \t", cadenaorig[i][j],
cadenaorig[i][j]);
printf("\n");
}
cadena2[i][k] = '\0';
}
getchar();
getchar();
return 0;
}

21

22

Definicin de trminos.
Codificacin:Se llama codificacin a la transformacin de la formulacin de un mensaje
a travs de las reglas o normas de un cdigo o lenguaje predeterminado.
Algoritmo: (algorithm) Mtodo que describe cmo se resuelve un problema en trmino
de las acciones que se ejecutan y especifica el orden en que se ejecutan estas acciones.
Los algoritmos ayudan al programador a planificar un programa antes de su escritura en
un lenguaje de programacin.
Array :(array, vector, lista) Objeto contenedor que almacena una secuencia indexada de
los mismos tipos de datos. Normalmente los elementos individuales se referencian por el
valor de un ndice.
El ndice es un valor entero que, suele comenzar, en 0 para el primer elemento, 1 para el
segundo y as sucesivamente.
Binario: (binary) Representacin numrica en base 2. En esta base slo se utilizan los
dgitos 0 y 1. Las posiciones de los ddigitos representan potencias sucesivas de 2.
Compilacin: (compilation) Proceso de traduccin de un lenguaje de programacin.
Normalmente este proceso implica la traduccin de un lenguaje de programacin de alto
nivel a lenguaje de programacin de bajo nivel, o el formato binario de un conjunto de
instrucciones especficas. La traduccin dse realiza con un programa denominado
compilador.
Depuracin: (debugging) Proceso de encontrar, fijar y eliminar errores en un programa.
Para estas tareas se suele utilizar una herramienta de programacin conocida como
depurador. Libro Java 5 Depurador (debugger) Herramienta para ayudar a la localizacin
de errores de un programa: jdbc se proporciona como parte del J2SDK. Un depurador
puede establecer puntos de interrupcin (breakpoint), parada simple a travs de un
programa e inspecciona el estado de las variables.
IDE: (integrated development) Software para ayudar a lso programadores a escribir
cdigo eficientemente.
23

ASCII :(American Standard Code for Information Interchange): Cdigo estndar


estadounidense para el intercambio de informacin. Cdigo de siete bits adoptado como
un estndar mundial para facilitar el intercambio de datos entre distintos sistemas y
mquinas en ambientes conectados en red.
C++: Lenguaje de programacin orientado a objetos, basado en el lenguaje C.

24

CAPTULO IV

CONCLUSIONES Y RECOMENDACIONES

4. Conclusiones y Recomendaciones
4.1 Conclusiones.

Podemos concluir que cualquier ejercicio propuesto puede ser aplicado en


diferentes lenguajes de programacin.

Comprender la aplicacin de programacin ya que es de gran ayuda en algunos


problemas cotidianos.

Conocer las herramientas que utilizamos en los lenguajes de programacin ya


que no cumplen la misma funcin en todos los lenguajes, es por eso que es
recomendable conocer cul es funcionamiento de las mismas.

Realizar un correcto anlisis del programa planteado.

Buscar diferentes alternativas para optimizar la ejecucin del programa.

El mundo de la programacin es de gran ayuda, ya que nos muestra que es


utilizado en varios mbitos.

4.2 Recomendaciones.

Comprender que funcin cumple cada una de las herramientas de los distintos
lenguajes de programacin.

Emplear correctamente las herramientas de los distintos lenguajes de


programacin.

Aplicar una buena lgica para desarrollar de manera eficaz los algoritmos.

Comprender con exactitud cul es el problema a desarrollar.


25

Bibliografa.

Michele Amelot .(2010). VBA Excel 2010 ; Barcelona; ENI.

Deitel,Harvey M. Deitel,Paul J;Como programar en C/C# y Java ; Mexico ;


PEARSON EDUCACIN.

Thierry GROUSSARD.(2010). C# Los fundamentos del lenguaje, Desarrollar


con Visual Studio 2010; Barcelona; Estelle DECHENAUD.

A Beginners Guide(2010), Java Fundamentals.

Webgrafia.

www.aprenderaprogramar.com/foros/ , 2015/04/05.

www.canalvisualbasic.net/foro/visual-basic-net/que-es-un-palindromo
2015/04/05.

comopasarprogramacion.wordpress.com/palndromo-en-java/, 2015/04/08

tecdigital.tec.ac.cr/revistamatematica/cursoslinea/NUMERICO/excel/VBAExcel
-MNumericos.pdf, 2015/04/09.

personales.upv.es/jpgarcia/LinkedDocuments/macrosVisualBasicParaExcel.pdf,
2015/04/10.

26

Você também pode gostar