(1)确定函数的定义域,利用对数的运算性质,化简函数,再确定内函数的值域,即可求得函数的值域;
(2)先确定函数的定义域,再利用对数的运算性质,化简函数,分类讨论,确定内函数的值域,即可求得函数的值域.
【解析】
(1)由题意,可得,∴1<x<7
又∵函数f(x)=log2+log2(x-1)+log2(7-x)=log2(x+1)(7-x)=log2[-(x-3)2+16].
令g(x)=-(x-3)2+16,由于函数的定义域为{x|1<x<7},则g(7)<g(x)≤g(3),即0<g(x)≤16,所以函数f (x)的值域为(-∞,4]
(2)由题意,可得,∴x>1且x<p
∵函数的定义域不能为空集,故p>1,函数的定义域为(1,p).
函数f(x)=log2+log2(x-1)+log2(p-x)=log2(x+1)(p-x)=log2[-x2+(p-1)x+p].
令t=-x2+(p-1)x+p==g(x)
①当,即1<p<3时,t在(1,p)上单调减,g(p)<t<g(1),即0<t<2p-2,
∴f(x)<1+log2(p-1),函数f(x)的值域为(-∞,log2(p-1));
②当,即p≥3时,g(p)<t<g(),即0<t≤,
∴f(x)≤2log2(p+1)-2,函数f(x)的值域为(-∞,2log2(p+1)-2).
综上:当1<p<3时,函数f(x)的值域为(-∞,log2(p-1));当p≥3时,函数f(x)的值域为(-∞,2log2(p+1)-2).