Program divisors;//вообще ничего не делает(аля название программы) var num,divisor,i,sum:longint;//описываем переменные типа longintbegin//начало программы write('Vvedite chislo:');//выводим текст readln(num);//считываем число write('Vvedite delitel:');//выводим текст read(divisor);//считываем заданное число(будем использовать при поиске делителей больше заданного) sum:=0;//зануляем переменную(изначально равна нулю, но на всякий случай ;) привет от с++) for i:=1 to num do //цикл от 1 до числа(можно оптимизировать идя до корня из num) begin//начало цикла if num mod i = 0 then//если на очередном шаге остаток от деления числа на i равен нулю begin//начало условия write(i,' ');//выводим делитель sum:=sum+i;//суммируем end;//конец условия end;//конец цикла writeln();//переходим на следующую строку writeln(sum);//выводим сумму for i:=1 to num do//аналогично выше begin if (num mod i = 0) and (i mod 2 = 0) then // если число делитель и делится на 2 begin write(i,' '); end; end; writeln(); for i:=1 to num do begin if (num mod i = 0) and (i mod 2 = 1) then // не делится на 2 begin write(i,' '); end; end; writeln(); for i:=1 to num do begin if (num mod i = 0) and (i>divisor) then // больше заданного числа begin write(i,' '); end; end;end.//конец программы
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016 // Внимание! В других версиях языка работа не гарантируется!
begin var m:=ReadInteger('Количество строк в массиве:'); var n:=ReadInteger('Количество столбцов в массиве:'); var a:=MatrRandomReal(m,n,-50,50); Writeln('*** Исходный массив A[',m,',',n,'] ***'); a.Println(7,2); Writeln(7*a.ColCount*'-'); var ca:=a.Rows.SelectMany(x->x).Sum/m/n; Writeln('СА=',ca); if ca<0 then begin var im,jm:integer; (im,jm):=(-1,-1); for var i:=0 to m-1 do for var j:=0 to n-1 do if (a[i,j]<0) then begin if im=-1 then (im,jm):=(i,j) else if a[i,j]>a[im,jm] then (im,jm):=(i,j) end; a[im,jm]:=ca end else for var i:=0 to m-1 do for var j:=0 to n-1 do if a[i,j]>0 then a[i,j]:=ca; Writeln('*** Результирующий массив A[',m,',',n,'] ***'); a.Println(7,2) end.
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016 // Внимание! В других версиях языка работа не гарантируется!
begin var n:=ReadInteger('N='); Writeln('Вводите элементы массива построчно'); var a:=MatrFill(n,n,0); for var i:=0 to n-1 do for var j:=0 to n-1 do Read(a[i,j]); var k:=0; foreach var v in a.Rows do if v.All(x->x=0) then k+=1; if k>0 then Writeln('Количество нулевых строк равно ',k) else begin foreach var v in a.Cols do if v.All(x->x=1) then k+=1; if k>0 then Writeln('Количество единичных столбцов равно ',k) end; Writeln('Работа завершена') end.
Пример N= 4 Вводите элементы массива построчно 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 Количество единичных столбцов равно 1 Работа завершена
Задание 3)
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('N='); var a:=MatrRandom(n,n,0,9); a.Println(2); var b:=ArrFill(10,0); foreach var x in a.Rows.SelectMany(x->x) do b[x]+=1; b.Select((x,i)->(i,x)).Println end.
1) B = int(input('B='))
2) x = abs(x**2-5*x+10)