// 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.
s: string;
i, n1, n2: integer;
begin
writeln('Введите текст');
readln(s);
n1 := 0;
n2 := 0;
for i := 1 to length(s) do
case s[i] of
'+': n1 := n1 + 1;
'*': n2 := n2 + 1;
else write( s[i])
end;
writeln;
writeln('+ удалено ', n1, ', * удалено ', n2)
end.
Тестовое решение:
Введите текст
Y:=35.45*x+2*y/(z-4);
Y:=35.45x2y/(z-4);
+ удалено 1, * удалено 2