Program z1; var x,y,z: real; begin write('введите числа: '); write('x = '); read(x); write('y = '); read(y); if x> y then z: =x-y else z: =sqrt(x+y); writeln('исходя из значений x и y, получится чило: ',z: 6: 2); end.p.s.: z: 6: 2 нужно для того, чтобы уравнять десятичную дробь до сотых, если она получится.
gladkihvv
30.11.2021
Microsoft qbasic: dim n as double, p as double, k as integer cls k = 0 p = 1 do input "vvedite chislo ili 0 dlya kontsa vvoda: ", n if n < > 0 then p = p * n k = k + 1 end if loop until n = 0 p = exp(log(p) / k) print "srednee geometricheskoe = "; p end тестовое решение: vvedite chislo ili 0 dlya kontsa vvoda: 3.2 vvedite chislo ili 0 dlya kontsa vvoda: 11.7 vvedite chislo ili 0 dlya kontsa vvoda: 8.4 vvedite chislo ili 0 dlya kontsa vvoda: 0 srednee geometricheskoe = 6.800461329716477
Natella-874535
30.11.2021
Const ptr = 10; type razbivka = array[0..ptr] of byte; var n, i, z, k: byte; x: razbivka; procedure p(var x: razbivka; var z: byte); var i, j, s: byte; begin i : = z - 1; s : = x[z]; while (i > 1) and ( x[i - 1] < = x[i] ) do begin s : = s + x[i]; dec(i); end; inc( x[i] ); z : = i + s - 1; for j : = i + 1 to z do x[j] : = 1; end; begin write('введите число: '); readln(n); write(n,' = '); z : = n; for i : = 1 to z do x[i] : = 1; for i : = 1 to n do begin if i > 1 then write(' + '); write( x[i], '' ); end; writeln; repeat p( x, z ); inc(k); write( n,' = ' ); for i : = 1 to z do begin if i > 1 then write(' + '); write( x[i], '' ); end; writeln; until z = 1; end.p.s: нашел в интернете для вас вариант с рекурсией. сами можете убедиться, что с ней только хуже (по быстродействию уж точно)const m = 100; var a: array[1..m] of integer; k, n: integer; procedure p(j,n: integer); var i: integer; begin if ( n = 0 ) and ( k > 1 ) thenbegin for i : = 1 to k dowrite( a[i] : 4 ); writeln; end else for i : = j to n dobegininc(k); a[k] : = i; p( j, n - i ); dec(k); end; end; beginwrite('введите число: '); readln(n); k : = 0; p(1,n); end.значения ptr и m можно поставить и больше, но тогда я не ручаюсь)
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Если х больше у то найти х-у иначе квадратный корень х+у в паскале