Напишите pascal-программу, которая удаляет 2 символа из строки с четным количеством символов и 3 симв. из строки с нечетным количеством символов. заранее )
Uses crt; var a:string; begin write('Введите строку: '); readln(a); if (length(a) mod 2) = 0 then delete(a,1,2) else delete(a,1,3); writeln('Конечная строка: ',a); end.
Const eps=1e-8; var a,b,c:real; s1,s2,s3:integer; begin read(a); read(b); read(c); if a>0 then s1:=s1+1; if b>0 then s1:=s1+1; if c>0 then s1:=s1+1; if a<0 then s2:=s2+1; if b<0 then s2:=s2+1; if c<0 then s2:=s2+1; if frac(a)<eps then s3:=s3+1; if frac(b)<eps then s3:=s3+1; if frac(c)<eps then s3:=s3+1; writeln('Число положительных чисел = ',s1); writeln('Число отрицательных чисел = ',s2); writeln('Число целых чисел = ',s3); end.
/* Для подсчета целых чисел использовалась функция frac - она возвращает дробную часть числа. При сравнении дробных чисел полезно отсекать разряды после скажем 8 знака после запятой, что и было сделано путем введения константы eps . */
begin Write('Введите величину радиуса окружности: '); Readln(r); r2 := sqr(r); n := 0; {1. Точки в первой четверти без учета попавших на оси } x := 1; while x <= r do begin y := 1; while y <= r do begin if sqr(x) + sqr(y) <= r2 then n := n + 1; y := y + 1 end; x := x + 1 end; n := 4 * n; { учли точки в остальных трех четвертях } n := n + 1; { учли точку в начале координат } n := n + 4 * trunc(r); { учли точки, находящиеся на координатных осях } Writeln('Число точек, принадлежащих кругу, равно ', n); end.
Тестовое решение: Введите величину радиуса окружности: 3 Число точек, принадлежащих кругу, равно 29
var a:string;
begin
write('Введите строку: ');
readln(a);
if (length(a) mod 2) = 0 then
delete(a,1,2)
else
delete(a,1,3);
writeln('Конечная строка: ',a);
end.