cadenas inversas en visual basic, c, java

26
 UNIVERSIDAD CENTRAL DEL ECUADOR “FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICA” PROYECTO DE AULA TEMA: CADENAS INVERSAS EN VISUAL BASIC, C, JAVA PROYECTO AUTORES:  CATAGÑA ROSITA  ESCOBAR CAMILA  PACHACAMA LILIANA  YAGUACHI JOHANA GRUPO:”GETCHARS” TUTOR:  ING.WAGNER LUCERO JULIO-2015 QUITO-ECUADOR 1

Upload: camyi-escobar

Post on 02-Nov-2015

17 views

Category:

Documents


0 download

DESCRIPTION

El código de un programa básicamente consiste en la construcción de datos que tiene una secuencia de instrucciones, escritas para realizar una tarea específica.El programa que vamos a crear tiene como finalidad la construcción de varias cadenas para luego ser invertidas.Desde un punto de vista de la programación, una cadena podrá estar formada por cualquier combinación finita de todo .En este mismo ámbito (el de la programación), se utilizan normalmente como un tipo de dato predefinido, para palabras, frases o cualquier otra sucesión de caracteres.

TRANSCRIPT

  • 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

    3

  • 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.

    4

  • 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.

    5

  • 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.

    6

  • 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.

    7

  • 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.

    8

  • 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.

    9

  • 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

  • int i; // y pues aqu, pues aqui no aparece esta parte cuando se imprime for (i=0;i=0;j--) { cadena2[i][k]= cadenaorig[i][j]; k++; } } System.out.println(cadena2[j]); for( i=0;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

  • } cadena2[i][k] = '\0'; printf("\n"); } for (i = 0; i
  • 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