Questao 1
procedure LerTabela; var i,j:integer;
begin AssignFile(arq, 'tabela.txt') ; Reset(arq); for i:= 0 to 40 do begin for j:=0 to 10 do begin read (arq, tabela [i][j]); end; end; end; procedure MostrarTabela; var i,j: integer; begin for i:= 0 to 40 do begin writeln; for j:=0 to 10 do begin write(tabela[i][j]:2:4); end; end; end; Carregar a tabela do desvio padrão por torno e seu respectivo tempo de processamento por eixo, (tabela chamada ‘desvio.txt’):
PS: Aqui foi usada uma record.
procedure CarregarDesvioPadrao; var n: integer; begin AssignFile(Arquivo, 'desvio.txt'); Reset(Arquivo); For n := 1 to 7 do with SerieA[n] do begin read(Arquivo, torno); read(Arquivo, desvio); readln(Arquivo, tempo);
end; closeFile(Arquivo); end;
Cálculo feito para achar o valor a procurar na tabela Z:
Function CalcularZ (dp:extended):extended; const linferior=7.45; lsuperior=7.55; begin result:=(linferior-(lsuperior+linferior)/2)/dp; end;
Achando e carregando o valor correspondente a linha e coluna na tabela Z:
function zlinha (z: extended): integer; begin result := round (int(z*(-10)) + 1); // round para transformar ext em int; end; function zcol (z: extended): integer; begin result := round ((frac(z*(-10))*10) + 1) end; procedure Zfinal; begin for x:= 1 to 7 do begin vetorz[x] := calcularZ(serieA[x].desvio); end; end; Encontrando a probabilidade de não conformidade dos eixos para cada torno:
procedure Probabilidade; var i:integer; begin For i:=1 to 7 do begin probtorno[i]:=tabela[zlinha(vetorz[i])][zcol(vetorz[i])]; writeln ('Torno ',i,' = ',probtorno[i] *