Questões de Tecnologia da Informação · Fundep

Tecnologia da InformaçãoParadigmas e linguagens de programaçãoFundep 2007

TJ MG

Questão de Tecnologia da Informação

Analise os trechos de código a seguir relativos a unit CalculaZ.pas implementados na linguagem object pascal através do Delphi: unit CalculaZ; ... type TfrmCalculaZ = class(TForm) lblX: TLabel; edtX: TEdit; lblY: TLabel; edtY: TEdit; btnCalcularZ: TButton; 20 lblZ: TLabel; edtZ: TEdit; procedure btnCalcularZClick(Sender: TObject); ... type EFaixaInvalida = class(Exception); var frmCalculaZ: TfrmCalculaZ; implementation ... function calcularZ(x : Double; y: Double) : Double; begin if (x = 0) or (y = 0) then raise EDivByZero.Create('Divisão por zero'); if (x < 4) or (x > 15) or ((y > 10) and (y < 16)) then raise EFaixaInvalida.Create('Faixa inválida'); try result := x/y + 10*x - 7*y +y/x; except on Exception do raise Exception.Create('Erro inesperado!'); end; end; procedure TfrmCalculaZ.btnCalcularZClick(Sender: TObject); begin try edtZ.Text := FloatToStr ( calcularZ(StrToFloat(edtX.Text), StrToFloat(edtY.Text)) ); except on EConvertError do edtZ.Text := 'Parâmetros incorretos'; on EDivByZero do edtZ.Text := 'Divisão por zero'; on Exception do edtZ.Text := 'X ou Y inválidos'; end; end; end. Suponha que, ao se executar o código, sejam informados os valores 5 e 11 para o atributo Text dos componentes edtX e edtY, respectivamente. Após o botão btnCalculaZ ser pressionado, o valor preenchido para o atributo Text do componente edtZ será

Sua resposta

Mais questões de Paradigmas e linguagens de programação

Questão de prova oficial, com o gabarito definitivo publicado pela banca. Reproduzida para fins de estudo.