Вы находитесь на странице: 1из 6

UNIVERSIDAD TECNOLGICA DE PANAM

CENTRO REGIONAL DE VERAGUAS


FACULTAD DE INGENIERA DE SISTEMAS COMPUTACIONALES

Lic. En Ingeniera de Sistemas y Computacin

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();

int validar(char ax[])//funcion que valida las cadenas


{
int sw;
for(i=0;i<4;i++)
{
if(ax[i]=='0'||ax[i]=='1')
sw=0;
else
{
sw=1;
i=4;
}
}
if(sw==0){
printf("==>[Cadena aceptada]<==\n");
return(0);
}
else{
printf("==>[Cadena rechazada]<==\n");
return(1);
}

}
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

Qu mecanismo de programacin us para determinar la validez de las


cadenas?
Se utiliza una funcin de la librera string strcmpi que permite evaluar si la cadena es
en maysculas o minsculas.
Con ayuda de una sentencia de if and else se logr validar las cadenas.

********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:

Вам также может понравиться