Faça um programa em Pascal que leia strings do teclado até que uma string vazia seja digitada.
Para cada string lida, o programa deverá informar se ela é ou não um ISBN.
Considere que um string é um ISBN (definição simplificada e adaptada) se e somente se possui
onze caracteres, tais que o décimo caracter é o símbolo '-' e todos os demais caracteres são
dígitos. Além disso, o décimo primeiro caracter deve ser o resultado do resto da divisão por dez,
da soma de todos os demais dígitos.
Faça um programa em Pascal que leia strings do teclado até que uma string vazia seja digitada.
Para cada string lida, o programa deverá informar se ela é ou não um ISBN.
Considere que um string é um ISBN (definição simplificada e adaptada) se e somente se possui
onze caracteres, tais que o décimo caracter é o símbolo '-' e todos os demais caracteres são
dígitos. Além disso, o décimo primeiro caracter deve ser o resultado do resto da divisão por dez,
da soma de todos os demais dígitos.
Dada a complexidade considerável desse algoritmo, fui usado o português estruturado para mostrar explicitamente como pode ser feito, mas a maioria dos algoritmos tem uma segunda forma, esse pode ser feito de outra maneira, essa foi a mais didática para o exercício proposto.
Algoritmo "codigoISBN"
Var
isbn[11]: real; //codigo isbn a ser digitado
i, j, aux: inteiro //contador e auxiliar
Inicio
escreva ("Informe o codigo: ")
leia (isbn)
enquanto isbn != NULO faça
para j de 9 ate 1 passo +1 faca
aux <= isbn[j];
isbn[11] <= soma(aux/10);
se isbn [10] == "-"
escreva ("Codigo é ISBN: ", isbn[j]);
fimse
fimpara
fimenquanto
Fimalgoritmo
Dada a complexidade considerável desse algoritmo, fui usado o português estruturado para mostrar explicitamente como pode ser feito, mas a maioria dos algoritmos tem uma segunda forma, esse pode ser feito de outra maneira, essa foi a mais didática para o exercício proposto.
Algoritmo "codigoISBN"
Var
isbn[11]: real; //codigo isbn a ser digitado
i, j, aux: inteiro //contador e auxiliar
Inicio
escreva ("Informe o codigo: ")
leia (isbn)
enquanto isbn != NULO faça
para j de 9 ate 1 passo +1 faca
aux <= isbn[j];
isbn[11] <= soma(aux/10);
se isbn [10] == "-"
escreva ("Codigo é ISBN: ", isbn[j]);
fimse
fimpara
fimenquanto
Fimalgoritmo
Para escrever sua resposta aqui, entre ou crie uma conta.
Fundamentos de Programação
•ESTÁCIO
Compartilhar