alansantana 0 Denunciar post Postado Outubro 23, 2005 pode me ajudar Olá Bom dia Tenho esses quatro popgramas, e preciso passa-los para pascal. Se conhece as duas linguagens ajude me por favor. Mande para alan.santana@gmail.com ou alan_santana@terra.com.br Obrigado programa_01 #include <stdio.h> /* So definindo os limites da tabela.em pascal acho que é com CONST */ #define LINHA 3 #define COLUNA 3 void LeMatriz(int MAT[][COLUNA]) { int i,j; for(i=0;i<LINHA;i++) for (j=0;j<COLUNA;j++) scanf("%d",&MAT[j]); } int SomaLinha(int MAT[][COLUNA],int ATUAL_COLUNA,int LINHA_ATUAL) { if(ATUAL_COLUNA>=COLUNA) return 0; else return SomaLinha(MAT,ATUAL_COLUNA+1,LINHA_ATUAL)+MAT[LINHA_ATUAL][ATUAL_COLUNA]; } int SomaTudo(int MAT[][COLUNA],int LINHA_ATUAL,int COLUNA_ATUAL) { if(LINHA_ATUAL>=LINHA) return 0; else return SomaLinha(MAT,COLUNA_ATUAL,LINHA_ATUAL)+SomaTudo(MAT,LINHA_ATUAL+1,COLUNA_ATUAL) ; } main() { int MAT[LINHA][COLUNA]={0}; int i; LeMatriz(MAT); printf ("\n%d\n",SomaTudo(MAT,0,0)); } ____________________________________________________________________ programa_02 #include <stdio.h> #include <stdlib.h> #define VEZES 5 struct NODO{ int DADO; struct NODO *PROX; } typedef Elemento; void InsereFinal(Elemento *INICIO,Elemento *NO) { if (INICIO->PROX==NULL) { INICIO->PROX=NO; return; } else InsereFinal(INICIO->PROX,NO); } void InsereNaPosicao(Elemento *INICIO,Elemento *NO,int CONTADOR,int POS) { if (CONTADOR==POS-1) { NO->PROX=INICIO->PROX; INICIO->PROX=NO; return; } else InsereNaPosicao(INICIO->PROX,NO,CONTADOR+1,POS); } /* Só pra ver como tá a bagunça */ void ImprimeLista(Elemento *INICIO) { if (INICIO==NULL) return; else { printf (" %d ",INICIO->DADO); ImprimeLista(INICIO->PROX); } } main() { Elemento *HEAD=malloc(sizeof(Elemento)); Elemento *TEMP; int QTDE=0; int X=1; int POS; HEAD->PROX=NULL; while (X<=VEZES) { TEMP=malloc(1*sizeof(Elemento)); TEMP->PROX=NULL; printf ("\nInserir elemento:"); scanf("%d",&(*TEMP).DADO); printf("\nPosicao:"); scanf("%d",&POS); if (POS>QTDE) { if (QTDE==0) InsereFinal(HEAD,TEMP); else InsereFinal(HEAD->PROX,TEMP); } else if (POS>0) InsereNaPosicao(HEAD,TEMP,0,POS); else printf ("digite uma posicao maior que zero"); QTDE++; X++; ImprimeLista(HEAD->PROX); } else { printf (" %d ",INICIO->DADO); ImprimeLista(INICIO->PROX); } } main() { Elemento *HEAD=malloc(sizeof(Elemento)); Elemento *TEMP; int QTDE=0; int X=1; int POS; HEAD->PROX=NULL; while (X<=VEZES) { TEMP=malloc(1*sizeof(Elemento)); TEMP->PROX=NULL; printf ("\nInserir elemento:"); scanf("%d",&(*TEMP).DADO); printf("\nPosicao:"); scanf("%d",&POS); if (POS>QTDE) { if (QTDE==0) InsereFinal(HEAD,TEMP); else InsereFinal(HEAD->PROX,TEMP); } else if (POS>0) InsereNaPosicao(HEAD,TEMP,0,POS); else printf ("digite uma posicao maior que zero"); QTDE++; X++; ImprimeLista(HEAD->PROX); } free(HEAD); } ____________________________________________________________________ programa_03 #include <stdio.h> #include <stdlib.h> struct NODO { int DADO; struct NODO *PROX; } typedef Elemento; void TelaOpcao() { printf ("\n1-Inserir Numero"); printf ("\n2-Sair\n"); } void InsereLista(Elemento *INICIO,Elemento *NO) { if (INICIO->PROX==NULL) { NO->PROX=INICIO->PROX; INICIO->PROX=NO; return; } else InsereLista(INICIO->PROX,NO); } void ImprimeLista(Elemento *INICIO,int QTDE) { if (INICIO==NULL) printf ("\nLista vazia\n"); else { while (INICIO!=NULL) { printf (" %d ",INICIO->DADO); INICIO=INICIO->PROX; } printf ("\nElementos na lista:%d\n",QTDE); } } void PrimeiraOpcao(Elemento *INICIO,int *QTDE) { int NUM; Elemento *TMP=malloc(sizeof(Elemento)); printf("\nNúmero (digite -1 para imprimir a lista)"); scanf("%d",&NUM); if(NUM!=-1) { TMP->DADO=NUM; InsereLista(INICIO,TMP); (*QTDE)++; } else ImprimeLista(INICIO->PROX,(*QTDE)); } void SegundaOpcao(Elemento *HEAD) { free(HEAD); } main() { int OPCAO,QTDE=0; Elemento *HEAD=malloc(sizeof(Elemento)); do { TelaOpcao(); scanf("%d",&OPCAO); switch(OPCAO) { case 1: PrimeiraOpcao(HEAD,&QTDE); break; case 2: SegundaOpcao(HEAD); break; default: printf ("\nNao existe essa opcao"); } }while (OPCAO && OPCAO!=2); } ____________________________________________________________________ programa_04 #include <stdio.h> #include <stdlib.h> #define VEZES 10 struct NODO { int NUM; struct NODO *PROX; } typedef Elemento; void Opcoes() { printf ("\n1-Inserir Numero\n2-Remover Numero\n"); printf ("\n3-No Final da Lista\n4-No inicio da lista\\n"); printf ("\n>>"); } void LeituraNumero(Elemento *TMP) { printf ("\nDigite o numero a ser inserido:"); scanf("%d",&(*TMP).NUM); } void InsereNumero(Elemento *INICIO,Elemento *NO,int OP) { if (OP==4) { NO->PROX=INICIO->PROX; INICIO->PROX=NO; } else if (OP==3) { if (INICIO->PROX!=NULL) while (INICIO->PROX!=NULL) INICIO=INICIO->PROX; NO->PROX=NULL; INICIO->PROX=NO; } } void RemoveNumero(Elemento *INICIO,int OP) { Elemento *TMP; if (OP==4) { TMP=INICIO->PROX; INICIO->PROX=INICIO->PROX->PROX; free(TMP); } else if (OP==3) { if (INICIO->PROX!=NULL) { while (INICIO->PROX->PROX!=NULL) INICIO=INICIO->PROX; free(INICIO->PROX); INICIO->PROX=NULL; } } } void ImprimeLista(Elemento *NO) { while (NO!=NULL) { printf (" %d ",NO->NUM); NO=NO->PROX; } } main() { Elemento *HEAD=malloc(sizeof(Elemento)); Elemento *TMP; int OP1,OP2,X=0; while (X<VEZES) { Opcoes(); scanf("%d %d",&OP1,&OP2); if (OP1==1) { TMP=malloc(sizeof(Elemento)); LeituraNumero(TMP); InsereNumero(HEAD,TMP,OP2); } else if (OP1==2 && HEAD->PROX!=NULL) RemoveNumero(HEAD,OP2); ImprimeLista(HEAD->PROX); X++; } free(HEAD); } Compartilhar este post Link para o post Compartilhar em outros sites
Cypher 0 Denunciar post Postado Fevereiro 26, 2006 o que estas a pedir não achas demais :)é claro que te podemos ajudar só que mudar um programa de uma linguagem para a outra dá trabalho...e nunca a sintaxe é a mesma e ocorre sempre um erro..Cypher Compartilhar este post Link para o post Compartilhar em outros sites
System 0 Denunciar post Postado Fevereiro 27, 2006 o que estas a pedir não achas demais :)é claro que te podemos ajudar só que mudar um programa de uma linguagem para a outra dá trabalho...e nunca a sintaxe é a mesma e ocorre sempre um erro..CypherOlá, tudo bem?Existem linguagens muito parecidas, e nestas fica mais fácil fazer isso.Por exemplo, um script JS, e eu quero passar para PHP, só muda algumas coisinhas ;) Compartilhar este post Link para o post Compartilhar em outros sites
ricci ottadnot 4 Denunciar post Postado Março 10, 2006 ae vo te passar o codigo do primeiro programa... os outros dois vou tentar fazer mais a noite... beleza http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif program prog1;uses crt;const LINHA = 3;const COLUNA = 3;type matriz = record MATR : array [1..LINHA,1..COLUNA] of integer; end;var MAT : matriz; i : integer;procedure LeMatriz(var MAT:matriz);var i,j : integer;begin for i:= 1 to LINHA do begin for j:=1 to COLUNA do read(MAT.matr[i,j]); end;end;function SomaLinha(var MAT:matriz; var ATUAL_COLUNA:integer;var LINHA_ATUAL:integer):integer;begin if ATUAL_COLUNA>=COLUNA then SomaLinha:=0 else SomaLinha:= SomaLinha(MAT,ATUAL_COLUNA,LINHA_ATUAL) +MAT.matr[LINHA_ATUAL,ATUAL_COLUNA];end;function SomaTudo(var MAT:matriz;var LINHA_ATUAL:integer; var COLUNA_ATUAL:integer):integer;var n:integer;begin if LINHA_ATUAL>=LINHA then SomaTudo := 0 else begin n := LINHA_ATUAL+1; SomaTudo:= SomaLinha(MAT,COLUNA_ATUAL,LINHA_ATUAL) + SomaTudo(MAT,n,COLUNA_ATUAL); end;end;begin LeMatriz(MAT);end. o que pode dar erro no pascal na hora de compilar eh q tem algumas linhas que excedem 255 caracteres.. eh soh dar um <ENTER>... Compartilhar este post Link para o post Compartilhar em outros sites
Cypher 0 Denunciar post Postado Março 13, 2006 Olá, tudo bem?Existem linguagens muito parecidas, e nestas fica mais fácil fazer isso.Por exemplo, um script JS, e eu quero passar para PHP, só muda algumas coisinhassó algumas coisinhas o crl ... :)é um bocado complcado passar todo o programa duma linguagem para outra pois nunca tem todas as mesmas funções e procedimentos.....é obvio se forem programas pequenos e simples é mais facil como tudo na vida....Cypher Compartilhar este post Link para o post Compartilhar em outros sites
System 0 Denunciar post Postado Março 18, 2006 Olá, tudo bem?Existem linguagens muito parecidas, e nestas fica mais fácil fazer isso.Por exemplo, um script JS, e eu quero passar para PHP, só muda algumas coisinhassó algumas coisinhas o crl ... :)é um bocado complcado passar todo o programa duma linguagem para outra pois nunca tem todas as mesmas funções e procedimentos.....é obvio se forem programas pequenos e simples é mais facil como tudo na vida....CypherÉ... Por isso que programo sem utilizar as funções prontas, tipo substr() e outras, sempre prefiro substituir a função por um procedimento, sempre que der.Mas existem algumas funções que, na verdade, são comandos da linguagem e não funções.Tipo assim, passar JavaScript para PHP é fácil, só muda algumas coisinhas, o resto é tudo igual. Compartilhar este post Link para o post Compartilhar em outros sites