Сколько раз будет выполнен цикл? а) for i: =0 to 15 do s: =s+1; б) for i: =10 to 15 do s: =s+1; в) for i: = -1 to 1 do s: =s+1; г) for i: =10 to 10 do s: =s+1; д) k: =5? for i: =k-1 to k+1 do s: =s+1;
// PascalABC.Net var a,b,h,x,F:double; begin h:=0.1; Write('Введите через пробел границы интервала табудяции: '); Read(a,b); x:=a; while x<=b+(h/2) do begin F:=5*sin(x)+cos(sqr(x)); Writeln(x:8:5, F:10:5); x:=x+h end; end.
Замечание: В цикле while x<=b+(h/2) do прибавление половины шага гарантирует, что несмотря на погрешности представления чисел в компьютере, цикл будет выполнен и для конечной точки интервала.
Сначала надо найти аналитическое решение задачи. Определить координаты точек пересечения двух функций - это совместно решить уравнения, описывающего функции. Теперь можно составить программу, предусмотрев в ней анализ случаев D<0, D=0 и D>0.
uses Crt; var k,b,c,x1,x2,y1,y2,d:real; begin ClrScr; Write('Введите через пробел c,k,b: '); Read(c,k,b); d:=sqr(k)-4*(c-b); if d<0 then Writeln('Точек пересечения нет') else if d=0 then begin x1:=k/2; y1:=k*x1+b; Writeln('Координаты точки пересечения (',x1:0:4,',',y1:0:4,')') end else begin d:=sqrt(d); x1:=(k-d)/2; y1:=k*x1+b; x2:=(k+d)/2; y2:=k*x2+b; Writeln('Координаты точек пересечения:'); Writeln('(',x1:0:4,',',y1:0:4,'), (',x2:0:4,',',y2:0:4,')') end; ReadKey end.
б 6
в 3
г 1
д 3
что не понятно, прашивай