Boa noite, estou tentando fazer meu codigo no portugol Studio porem sempre da erro se voces puder olhar e me informar onde esta o erro agradeço embaixo esta meu codigo completo:
programa
{
//constante global
const inteiro TMH = 8
/*Divisão do merge
* ele divide o inicio e o fim em 2
* entao ele separa em (inicio,meio,valor) e
* (meio+1,fim,valor) cada uma dessas sera dividida
* ate sobrar menhum a sem dividido para ser organizado
*/
funcao merge(inteiro valor[],inteiro inc, inteiro fim)
{
inteiro meio
se(inc < fim)
{
meio =(inc + fim)/2
merge(valor, inc, meio)
merge(valor, meio+1, fim)
mergeSort(valor, inc, meio, fim)
}
}
//organização do mergeSort
funcao mergeSort(inteiro valor[],inteiro inc, inteiro meio, inteiro fim)
{
inteiro n1,n2
n1 = meio - inc + 1
n2 = fim - meio
inteiro l[]={n1+1}
inteiro r[]={n2+1}
para(inteiro i=1; i < n1; i++)
{
l = valor[inc + i -1]
para(inteiro j=1; j < n2; j++)
{
r[j] = valor[meio + j]
para(inteiro k=inc; k < fim; k++)
{
se(l <= r[j])
{
valor[k] = l
i += 1
}
senao
{
valor[k] = r[j]
j += 1
}
}
}
}
}
funcao inicio()
{
inteiro valor[TMH]
inteiro inc
inteiro fim
//Declarar os valores a serem ordenados
escreva("Digite ",TMH," valores \n")
para(inteiro i=0; i < TMH; i++)
{
escreva(i+1,"º valor: ")
leia(valor)
}
//declarando inicio, meio, fim
inc =0+((0 + TMH)/2)
fim =((0 + TMH)/2) + TMH
merge(valor,inc,fim)
}
}