Академический Документы
Профессиональный Документы
Культура Документы
Asignatura:
Lenguajes formales y autmatas.
Laboratorio:
Documentacin Programacin
Integrantes:
I Semestre
Fecha de entrega:
28 de agosto de 2016
Programa 1:
Desarrolle un programa en que usted plantee un alfabeto y luego le solicite
al usuario dos cadenas cualesquiera. El programa debe suministrar la
siguiente salida:
Mostrar el alfabeto que usa la aplicacin.
Determinar si las cadenas son vlidas o no.
Calcular la longitud de la cadena.
A travs de opciones permita escoger la operacin de concatenacin
de ambas cadenas suministradas por el usuario.
Reporte:
Qu mecanismo de programacin us para determinar la validez de las
cadenas de entrada? Copie el cdigo completo en esta gua.
El siguiente programa fue desarrollado en el lenguaje de programacin C. Sobre la
plataforma dev c++.
Para realizar la validacin de las cadenas se utiliz una sentencia de if and else dentro
de un bucle for que mediante la ayuda de un vector permite almacenar el valor de las
variables introducidas.
Se utiliz una funcin de la libreara string strcmpi La cual nos permite evaluar si una
cadena es igual a la otra.
*****CODIGO*****
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
int i,t;
main()
{
int validar(char ax[]);
void unir(char ax1[], char ax2[], char ax3[]);
char bin1[4],bin2[4],bin3[8], op[2] ;
int ax,ax2;
printf("Lenguaje: 0,1\n");
printf("Cardinalidad: xxxx(4 digitos)\n"); //cardinalidad 4digitos
do
{
printf("\n Ingrese cadena #1=> ");
scanf("%s",bin1); ax=validar(bin1);// captura de la primera cadena y
validacion de la misma
printf("\n Ingrese cadena #2=> ");
scanf("%s",bin2); ax2=validar(bin2);// captura de la segunda cadena y
validacion de la misma
if(ax==0&&ax2==0){
unir(bin1,bin2,bin3);
printf("cadena concatenada\n=> ");
for(i=0;i<t;i++)
printf("%c",bin3[i]);
}
else{
printf("\n*****CADENA RECHAZADAS*****\n");
}
printf("\n");
printf("\n Desea Continuar \n SI / NO => ");
scanf("%s",op);
}
while(strcmpi(op,"si")==0);
getch();
}
void unir(char ax1[], char ax2[], char ax3[])//funcion que une las cadenas
{
int n=0, c;
c=strlen(ax1);
t=strlen(ax2)+c;
for(i=0;i<t;i++)
{
if(i<c)
ax3[i]=ax1[i];
else
{
ax3[i]=ax2[n];
n++;
}
}
return;
*******CODIGO*******
CAPTURA:
En que se bas para generar los dos lenguajes de su programa.
El programa est basado en el sistema numrico de cdigo binario compuesto por 0
(Cero) y 1 (Uno).
Programa 2:
Desarrolle un programa que acepte como cadenas de entrada las siguientes
categoras lxicas.
5 palabras reservadas de Visual Basic (Las que usted desee).
Operadores lgicos matemticos (+,-,*,/,<>,and,or,not).
Nmeros enteros positivos o negativos.
Reporte:
Cul fue su alfabeto propuesto?
El siguiente programa se desarroll el alfabeto compuesto por las siguientes categoras
lxicas del lenguaje de programacin visual basic:
Long
Integer
Private
Public
Dim
********CODIGO********
#include<stdio.h>
#include<string.h>
#include<conio.h>
#define mx 15
main()
{
char m[mx],op[2];
do
{
printf("Lenguaje: palabras reservadas de Lenguaje de Programacion JAVA");
printf("\nIngrese la palabra reservada de Java: ");
scanf("%s",m);
if(strcmpi(m,"long")==0)
printf("\n==[CADENA ACEPTADA]==\n");
else
{
if(strcmpi(m,"integer")==0)
printf("\n==[CADENA ACEPTADA]==\n");
else
{
if(strcmpi(m,"private")==0)
printf("\n==[CADENA ACEPTADA]==\n");
else
{
if(strcmpi(m,"public")==0)
printf("\n==[CADENA ACEPTADA]==\n");
else
{
if(strcmpi(m,"Dim")==0)
printf("\n==[CADENA ACEPTADA]==\n");
else
printf("\n==[CADENA RECHAZADA]==\n");
}
}
}
}
printf("\n Desea Continuar \n [SI/NO] -> ");
scanf("%s",op);
}
while(strcmpi(op,"si")==0);
getch();
}
*******CODIGO*******
CAPTURA: