las getchar

37
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 1

Upload: brenda-jazmin

Post on 18-Aug-2015

72 views

Category:

Education


0 download

TRANSCRIPT

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

ÍNDICE

Cadenas Inversas en Visual Basic, C, Java

PÁGINAS PRELIMINARES

Caratula 1

Índice 2-3

Resumen 4

Introducción 5

CAPÍTULO I: EL PROBLEMA.

1.1 Análisis crítico 6

1.2Objetivos 7

1.2.1 Objetivo general 7

1.2.2 Objetivos Específicos 7

1.3 Justificación 8

CAPÍTULO II: MARCO TEÓRICO.

2.1 Antecedentes 9

2.2.1 Perspectiva Histórica 9

2.2.2 Léxico y programación. 10

2.2 Marco Teórico 11

2.2.1 Lenguajes de Programación 11

2

2.2.1 Cadenas 11-12-13

CAPÍTULO III: DESARROLLO.

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

Definición de términos 23-24

CAPÍTULO IV: CONCLUSIONES Y RECOMENDACIONES.

2.2.2 Conclusiones 25

2.2.2 Recomendaciones 25

2.2.2 Bibliografía 26

2.2.2 Webgrafía 26

3

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICA

PROGRAMACIÓN

RESUMEN

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.

Con una clara definición del programa a realizar tomamos en cuenta que, es necesario una correcta construcción y ejecución del programa (cadenas inversas).

Mediante el cual nos daremos cuenta una vez más que en el mundo de la programación todo es posible, de la construcción de programas simples podemos pasar a construir programas que requieran de un mayor conocimiento.

El programa nos deja como legado que la programación no solo ayuda al mundo matemático, 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 comprensión de las frases invertidas.

4

INTRODUCCIÓN

“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 construcción de un programa que

específicamente nos va a permitir generar cadenas inversas.

Las palabras o frases inversas básicamente 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 más largas son.

Para la construcción y aplicación del programa vamos a necesitar de todos los

conocimientos que hemos adquirido a lo largo de este periodo, así como también 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 más el código del programa.

La realización del programa tienes como finalidad una mejor visualización y

conceptualización de la definición de cadenas, así como también nos ayuda a

comprender la gran ayuda que proporciona tener conocimiento de programación, ya que

se los pude aplicar para resolver problemas de la vida diaria.

5

CAPÍTULO I

EL PROBLEMA

ANÁLISIS CRÍTICO

El gran mundo de la programación nos permite darnos cuenta que puede ser utilizado

en todos los ámbitos desde las matemáticas hasta la literatura.

La programación nos ayuda a fortalecer nuestra lógica ya que se la aplica para la

realización de algoritmos, luego con la ayuda de las distintas herramientas de los

diferentes lenguajes de programación, 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 ejecución

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 relación con gramática, y aunque son

campos muy distintos los problemas que existen dentro de la misma pueden ser

resueltos por los diferentes lenguajes de programación, y así nuevamente concluimos

que el mundo de la programación está ligado a resolver algunos problemas de la vida

cotidiana.

6

OBJETIVOS

Objetivo general.

Construir un programa que permita la ejecución de cadenas inversas, a través de la

aplicación de varios conocimientos de programación en sus diferentes lenguajes, y así

ampliar nuestro conocimiento en los diferentes lenguajes de programación.

Objetivos específicos.

Investigar y ampliar nuestros conocimientos de los lenguajes de programación.

Investigar y aplicar nuevas herramientas en los diferentes lenguajes de

programación.

Aplicar de manera correcta y satisfactoria todos conocimientos aprendidos.

Explicar la utilización de los distintos lenguajes de programación en problemas

de la vida cotidiana.

7

JUSTIFICACIÓN

La realización del programa de cadenas inversas tiene como fin poder explicar, la

utilización de los distintos lenguajes de programación en problemas de la vida cotidiana.

Para ello vamos a estudiar e identificar correctamente la utilización y funcionamiento

que cada herramienta posee en los distintos lenguajes de programación.

Teniendo en claro todos estos conocimientos, parámetros y términos podremos

mejorar cada vez más el código que construyamos y explicaremos el porqué del uso de

la programación para la ejecución de un programa en diferentes lenguajes de

programación.

Podremos comprender cuan amplio es el mundo de la programación 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 través de

algoritmos y la utilización de secuencias lógicas se transformara en un problema de la

vida diaria solucionado por programación.

8

CAPÍTULO II

“MARCO TEÓRICO”

2.1. Antecedentes

2.1.2. Perspectiva histórica

Para crear un programa, y que la computadora lo intérprete y ejecute las instrucciones

escritas en él, debe usarse un lenguaje de programación. En sus inicios las

computadoras interpretaban sólo instrucciones en un lenguaje específico, del más bajo

nivel, conocido como código máquina, siendo éste excesivamente complicado para

programar.

De hecho sólo consiste en cadenas de números 1 y 0 (sistema binario). Para facilitar el

trabajo de programación, los primeros científicos que trabajaban en el área decidieron

reemplazar las instrucciones, secuencias de unos y ceros, por palabras o letras

provenientes del inglés; 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 básicamente lo mismo que hacerlo en lenguaje

máquina, pero las letras y palabras son bastante más fáciles de recordar y entender que

secuencias de números binarios. A medida que la complejidad de las tareas que

realizaban las computadoras aumentaba, se hizo necesario disponer de un método

sencillo para programar. Entonces, se crearon los lenguajes de alto nivel.

Mientras que una tarea tan trivial como multiplicar dos números puede necesitar un

conjunto de instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastará

con sólo 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 máquina.

9

2.1.2. Léxico y programación.

La programación se rige por reglas y un conjunto más o menos reducido de órdenes,

expresiones, instrucciones y comandos que tienden a asemejarse a una lengua natural

acotada (en inglés); y que además tienen la particularidad de una reducida ambigüedad.

Cuanto menos ambiguo es un lenguaje de programación, se dice, es más potente.

10

2. 2 Marco Teórico

2.2.1 Lenguajes de Programación

Un  lenguaje de programación es un  lenguaje formal diseñado para expresar

procesos que pueden ser llevados a cabo por máquinas como las computadoras.

Pueden usarse para crear programas que controlen el comportamiento físico y lógico de

una máquina, para expresar algoritmos con precisión, o como modo de comunicación

humana.

Está formado por un conjunto de símbolos y reglas sintácticas y semánticas 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 código

fuente de un programa informático se le llama programación.

El desarrollo lógico del programa para resolver un problema en particular:

Escritura de la lógica del programa empleando un lenguaje de programación

específico (codificación del programa).

Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.

Prueba y depuración del programa.

2.2.2 Cadenas.

En programación, si no se ponen restricciones al alfabeto, una cadena podrá estar

formada por cualquier combinación finita de todo el juego de caracteres disponibles (las

letras de la 'a' a la 'z' y de la 'A' a la 'Z', los números del '0' al '9', el espacio en blanco ' ',

símbolos diversos '!', '@', '%', etc).

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.

En este caso, se almacenan en un vector de datos, o matriz de datos de una sola fila

(array en inglés).

11

Las cadenas se pueden almacenar físicamente:

Seguidas.

Enlazados letra a letra.

Generalmente son guardados un carácter a continuación de otro por una cuestión de

eficiencia de acceso.

Un caso especial de cadena es la que contiene cero caracteres, a esta cadena se la

llama cadena vacía; en teoría de autómatas es común denotar a la misma por medio de

la letra griega .

Operación 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.

Asignación: Consiste en asignarle una cadena a otra.

Concatenación: Consiste en unir dos cadenas o más (o una cadena con un carácter)

para formar una cadena de mayor tamaño.

Búsqueda: Consiste en localizar dentro de una cadena una subcadena más pequeña o

un carácter.

Extracción: Se trata de sacar fuera de una cadena una porción de la misma según su

posición dentro de ella.

Comparación: Se utiliza para comparar dos cadenas.

Ejemplo:

Representación de cadenas en el lenguaje C.

Una cadena suele ser representada entre comillas dobles superiores ("palabra"),

mientras que un carácter de esa cadena (un char en inglés) suele ser representado entre

comillas simples ('p'). Por ejemplo, en C:

charAt c = 'a';

12

char str[5] = "hola";

Generalmente para acceder a un carácter en una posición determinada se suele usar la

forma  variable [posición]  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 común, en muchos lenguajes, de escapar un carácter es anteponiéndole un

«\» (sin comillas), p. e.: «\"» (sin comillas).

13

CAPÍTULO III

DESARROLLO

Palindromos en Visual Basic,C,Java.

3. Desarrollo.

CÓDIGO 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 números 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

CÓDIGO 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

CÓDIGO C:

// ConsoleApplication1.cpp: define el punto de entrada de la aplicación 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 número 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

Definición de términos.

Codificación:Se llama codificación a la transformación de la formulación de un

mensaje a través de las reglas o normas de un código o lenguaje predeterminado.

Algoritmo: (algorithm) Método que describe cómo se resuelve un problema en término

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 programación.

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) Representación numérica en base 2. En esta base sólo se utilizan los

dígitos 0 y 1. Las posiciones de los d´digitos representan potencias sucesivas de 2.

Compilación: (compilation) Proceso de traducción de un lenguaje de programación.

Normalmente este proceso implica la traducción de un lenguaje de programación de alto

nivel a lenguaje de programación de bajo nivel, o el formato binario de un conjunto de

instrucciones específicas. La traducción dse realiza con un programa denominado

compilador.

Depuración: (debugging) Proceso de encontrar, fijar y eliminar errores en un programa.

Para estas tareas se suele utilizar una herramienta de programación conocida como

depurador. Libro Java 5 Depurador (debugger) Herramienta para ayudar a la

localización de errores de un programa: jdbc se proporciona como parte del J2SDK. Un

depurador puede establecer puntos de interrupción (breakpoint), parada simple a través

de un programa e inspecciona el estado de las variables.

IDE: (integrated development) Software para ayudar a lso programadores a escribir

código eficientemente.

23

ASCII :(American Standard Code for Information Interchange): Código estándar

estadounidense para el intercambio de información. Código de siete bits adoptado como

un estándar mundial para facilitar el intercambio de datos entre distintos sistemas y

máquinas en ambientes conectados en red.

C++: Lenguaje de programación orientado a objetos, basado en el lenguaje C.

24

CAPÍTULO IV

CONCLUSIONES Y RECOMENDACIONES

4. Conclusiones y Recomendaciones

4.1 Conclusiones.

Podemos concluir que cualquier ejercicio propuesto puede ser aplicado en

diferentes lenguajes de programación.

Comprender la aplicación de programación ya que es de gran ayuda en algunos

problemas cotidianos.

Conocer las herramientas que utilizamos en los lenguajes de programación ya

que no cumplen la misma función en todos los lenguajes, es por eso que es

recomendable conocer cuál es funcionamiento de las mismas.

Realizar un correcto análisis del programa planteado.

Buscar diferentes alternativas para optimizar la ejecución del programa.

El mundo de la programación es de gran ayuda, ya que nos muestra que es

utilizado en varios ámbitos.

4.2 Recomendaciones.

Comprender que función cumple cada una de las herramientas de los distintos

lenguajes de programación.

Emplear correctamente las herramientas de los distintos lenguajes de

programación.

Aplicar una buena lógica para desarrollar de manera eficaz los algoritmos.

Comprender con exactitud cuál es el problema a desarrollar.

25

Bibliografía.

 

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

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

PEARSON EDUCACIÓN.

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

con Visual Studio 2010; Barcelona; Estelle DECHENAUD.

A Beginner’s 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/palíndromo-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