yuip2008
?>

Кратко описать различные записи ветвлений (с примерами

Информатика

Ответы

podenkovaev314
Четырехзначное число в расширенной записи имеет вид
1000a+100b+10c+d
Известно, что первая и последняя цифры одинаковы, отсюда d=a.
Сумма цифр числа равна 16, т.е. 2a+b+c=16  (1)
Если число делится на 2, то оно четное, следовательно "a" может равняться
2, 4, 6, 8.      (2)
Нулю оно равняться не может, поскольку тогда число станет трехзначным.
Если четырехзначное число делится на 11, то модуль разности между суммами цифр, стоящих на четных и нечетных местах должна делиться на 11, т.е. |(a+c)-(a+b)|= |(c-b| делится на 11. Но разность двух однозначных чисел не может превышать 9, поэтому если она делится на 11, то она должна быть равна нулю. Но тогда с=b и число имеет вид
1000a+100b+10b+a.
А уравнение (1) будет выглядеть как
2a+b+b=16; 2a+2b=16; b=8-a  (3)
C учетом (2) можно из (3) получить 4 решения:
a=2, b=6
a=4, b=4
a=6, b=2
a=8, b=0
И это породит 4 возможных кода: 2662, 4444, 6226, 8008.
maryariazantseva

Program Parabolas;
Uses Crt;
Var
  a, b, c, d, m, n, dis, x1, x2 : real;
begin
  writeln('Введите коэфициенты первой параболы');
  write('A=');readln(a);
  write('B=');readln(b);
  write('C=');readln(c);
  writeln('Введите коэфициенты второй параболы');
  write('D=');readln(d);
  write('M=');readln(m);
  write('N=');readln(n);
  writeln('*** alphaues is thinking... ***');
  if a=d then
    if b=m then
      if c=n then
        writeln('Параболы совпадают!')
      else
        writeln('Параболы не пересекаются!')
    else
      begin
        x1:=(c-n)/(b-m);
        writeln('Параболы пересекаются в 1-й точке: ',x1,' ',a*x1*x1+b*x1+c);
      end
  else
    begin
      dis:=(b-m)*(b-m)-4*(a-d)*(c-n);
      if dis>0 then
        begin
          x1:=((m-b)+sqrt(dis))/(2*(a-d));
          x2:=((m-b)-sqrt(dis))/(2*(a-d));
          writeln('Параболы пересекаются в 2-x точкax: ');
          writeln(x1,' ',a*x1*x1+b*x1+c);
          writeln(x2,' ',a*x2*x2+b*x1+c);
        end
      else
        if dis=0 then  
        begin
          x1:=(m-b)/(2*(a-d));
          writeln('Параболы пересекаются в 1-й точке: ',x1,' ',a*x1*x1+b*x1+c);
        end
        else writeln('Параболы не пересекаются!');
   end;
end.   

 

Program MassXY;
uses crt;
const n = 20;
var
  x,y:array [1..n] of real;
  i,k, maxnum, minnum:integer;
  max, min,temp: real;
begin
  k:=1;
  randomize;
  for i:=1 to n do
    begin
      x[i]:=random(101)-50;
      if (1<=x[i]) and (x[i]<=2) then
        begin
          y[i]:=x[i];
          k:=k+1;
        end;
    end;
  writeln('*** alphaues is thinking... ***');
  max:=y[1];
  maxnum:=1;
  min:=y[1];
  minnum:=1;
  for i:=1 to k do
    begin
      if max<y[i] then
        begin
          max:=y[i];
          maxnum:=i;
        end;
      if min>y[i] then
        begin
          min:=y[i];
          minnum:=i;
        end;      
    end;
    temp:=y[maxnum];
    y[maxnum]:=y[minnum];
    y[minnum]:=temp;
  writeln('Массив Y состоит из ',k,' элементов:');
  for i:=1 to k do
    write(y[i],'  ');
end.

Program MatrixP;
uses crt;
const n=10;
const m=8;
var
  p:array[1..n,1..m] of integer;
  sum:array[1..n] of integer;
  st:array[1..m] of integer;
  i,j,tempsum,min,max,minnum,maxnum : integer;
begin
  Randomize;
  {ввод и вывод матрицы}
  writeln('Начальная матрица:');
  for i:=1 to n do
    begin
      for j:=1 to m do
        begin
          p[i,j]:= Random(100);
          write(p[i,j]:5);
        end;
       writeln;
    end;
  writeln('*** alphaues is thinking... ***');
  {нахождение сумм строк}
  for i:=1 to n do  
    begin
      tempsum:=0;
      for j:=1 to m do
        tempsum:=tempsum+p[i,j];
      sum[i]:=tempsum;
    end;
  maxnum:=1;
  tempsum:=sum[1];
  for i:=1 to n do  
    if tempsum>sum[i] then
      begin
        tempsum:=sum[i];
        minnum:=i;
      end;  
  writeln('Min сумма в ',minnum,'-й строке: ',sum[minnum]);
  {нахождение max элемента матрицы}
  max:=p[1,1];
  for i:=1 to n do
    for j:=1 to m do
      begin
        if max<p[i,j] then max:=p[i,j];
        maxnum:=i;
      end;
  writeln('Max элемент ',max,' находится в ',maxnum,'-й строке');
  for j:=1 to m do
    begin
      st[j]:=p[maxnum,j];
      p[maxnum,j]:=p[minnum,j];
      p[minnum,j]:=st[j];
    end;
  {вывод матрицы}
  writeln('Результат:');
  for i:=1 to n do
    begin
      for j:=1 to m do
        begin
          write(p[i,j]:5);
        end;
       writeln;
    end;
 end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Кратко описать различные записи ветвлений (с примерами
Ваше имя (никнейм)*
Email*
Комментарий*