Jump to content

Recommended Posts

Posted

Olá tenho o seguindo programa a fazer,e já quebrei a cabeça e não consegui,alguém me ajude!por favor!!

O valor de seno(x) pode ser dado pela sequência de Taylon, e o ângulo para se calcular o seno deve ser informado em radiano, e não em graus.

Implemente uma função para calcular o

valor do seno de x. Note que xk+2 é igual a

xk*x2 e (n+2)! = n!*(n+1)*(n+2).

Tenho este também que não consegui fazer,fazefunção em pascal que retorne o número em binário,só que entra string e não sei trata-la.

Escreva um programa contendo uma

função

Function binario(n:integer):TipoString;

Que retorna um tipo chamado

TipoString, declarado como:

Type TipoString = string[50];

String contendo o número n na base

binária.

Posted (edited)

O meu do seno ta retornando "values out of range"...não da certo!!

Program seno;
var a: integer;
function s (x : real) : real;
var y, k : real;
var i, f, z, n, t : integer;
begin
t:= 0;
n:= 3;
k:= x;
y:= x*x*x;
f:= 6;
x:= x - x*x*x/3*2;
for i:= 1 to 100 do
begin
z:= f*(n+1)*(n+2);
f:= z;
n:= n + 2;
y:= y*(k*k);
if (t = 1)
then
begin
x:= x - y/z;
t:= 0;
end
else
begin
x:= x + y/z;
t:= t + 1;
end;
end;
s:= x;
end;
begin
readln (a);
writeln (' O valor do seno de a = ', s (a));
end.
Edited by thoga31
GeSHi
Posted

Dicas para o seno: cria uma função à parte para o cálculo dos factoriais. Assim farás, por exemplo, factorial(n) em vez de fors dentro de fors que só vai criar código ilegível.

Quanto ao Out Of Range, significa que o tipo de dados não suporta os resultados que estão a dar: substitui Integer por LongInt.

Knowledge is free!

Posted

Ah, é verdade, outra coisa, indenta o teu código para ser muito mais legível. Eu não consigo perceber nada do código.

E comenta-o, habitua-te a isso, torna-se essencial.

Knowledge is free!

Posted

Tenho este também que não consegui fazer,fazefunção em pascal que retorne o número em binário,só que entra string e não sei trata-la.

O quê que não sabes? Trabalhar com strings?

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Posted

E o professor manda fazer algo que inclui criar tipos novos sem dizer como se trabalha com strings? 😕

Então é assim.

Ao declarares uma variável do tipo string, podes guardar nela valores alfanuméricos, texto no fundo.

Esses valores têm de estar obrigatoriamente entre pelicas ( ' ).

Ex.:

program teste;
var
  s:String;
begin
  s:= 'Olá Ana!';
  writeln(s);
end.
 

Isto iria escrever no ecrã as palavras: Olá Ana!

Posto isto, há alguns truques para trabalhar com strings:

1. Para limitar uma string a um tamanho especifico, coloca-se à frente da declaração o nº de caracteres máximo, entre parentesis rectos:

var
  s: string [50]; // aceita no máximo 50 caracteres
 

2. Se quiseres aceder a um caracter específico da string, só tens de colocar, também entre parentesis rectos, o nº da posição que queres aceder:

s:='Olá Ana!';
writeln(s);  // Isto irá mostrar no ecrã as palavras: [b]Olá Ana![/b]
s[8]:='.'
writeln(s);  // Isto irá mostrar no ecrã as palavras: [b]Olá Ana.[/b]
 

Estas são as bases das strings. A partir daqui, tens várias funções que te permitem copiar ou apagar partes da string, mas aí já depende especificamente do que quiseres fazer. Como exemplo, deixo-te mais um:

s:='Olá Ana!';
writeln(s); // Isto irá mostrar no ecrã as palavras: [b]Olá Ana![/b]
r:='Tudo bem ' + Copy(s,5,999);  // Isto irá colocar na variável r (String) a junção do valor 'Tudo bem' com uma cópia do valor que estiver em s, a partir da 5ª posição ('A').
		    // O 999 é a quantidade máxima de caracteres que serão copiados, podia-se neste caso usar qualquer numero acima de 4.
writeln(r); // Isto irá mostrar no ecrã as palavras: [b]Tudo bem Ana![/b]

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Posted
Tenho este também que não consegui fazer,fazefunção em pascal que retorne o número em binário,só que entra string e não sei trata-la.

Penso que o que tu queres é um programa que introduzas um número e o obtenhas o correspondente em binário. Além de eu achar que te devias esforçar por tentar resolver esse problema que nem é tão dificil assim.... o pessoal aqui ajuda-te.... acho que podes encontrar isso na Wiki.

xk*x2

@Ana, não quererias escrever xk*x^2?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.