В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География

Ерлан зарегистрирован на сервере school.org с логином admin и паролем er234!5. Ему необходимо соединиться с базой данных students. Какую команду PHP он должен записать, чтобы соединиться с базой данных? Напишите полную команду со всеми параметрами.

Показать ответ
Ответ:
ivanignatov201
ivanignatov201
24.02.2020 13:05

Привет питонистам!

# - значок комментария, я использовала его, чтобы, если что, была возможность запустить код и свериться со всем в процессе

Вроде, примерно я всё описала, но если что-то не до конца понятно, можешь спрашивать!! Код действительно не самый тривиальный, но, вроде, это одна из реализаций merge sort или сортировки слиянием

Насколько я понимаю, в результате вызова этой подпрограммы мы проходимся по части массива (с элемента под номером p и до последнего) и при этом постоянно сравниваем элементы из двух частей от этой части массива - левой и правой. Таким образом, если у нас mass = {6, 3, 5, 1, 2, 7}, p = 0, q = 2, r = 5

Получаем left = {6, 3, 5}, right = {1, 2, 7}

И, проходясь по циклу while, получаем следующие значения:

1-ая итерация цикла: 6 > 1 => mass = {1, 3, 5, 1, 2, 7}

2-ая: 6 > 2 => mass = {1, 2, 5, 1, 2, 7}

3-я: 6 < 7 => mass = {1, 2, 6, 1, 2, 7}

4-я: 3 < 7 => mass = {1, 2, 6, 3, 2, 7}

5-я: 5 < 7 => mass = {1, 2, 6, 3, 5, 7}

Затем наш цикл заканчивается, так как просмотрены все элементы массива left, но, так как мы не поставили на место последний элемент массива right, запустится самый нижний цикл. Нам повезло и семёрка уже стоит на своём месте, но программа перепишет её ещё раз

Итог первого прохода программы: mass = {1, 2, 6, 3, 5, 7}

Как мы видим, произошла частичная сортировка, но, чтобы полностью отсортировать массив, требуется больше одного подхода и сходу весь алгоритм я написать не смогу - если это нужно, напиши и я попробую разобраться через какое-то время

# def - слово, говорящее нам о том, что перед нами подпрограмма/функция

# Атрибуты:

# mass - некоторый массив чисел

# p, q, r - некоторые значения. Имеет смысл вводить такие, что p <= q < r

def Merge(mass, p, q, r):

# Вводим массив left: это новый массив, включающий в себя с p-ого по (q+1)-ый элементы массива mass

left = mass[p : q + 1]

# Вводим массив right: это новый массив, включающий в себя с (q+1)-ого по (r+1)-ый элементы массива mass

right = mass[q + 1 : r + 1]

# i, j, k - традиционные наименования переменных циклов

i, j, k = 0, 0, p

# len() - функция для подсчёта количества элементов в массиве

# Соответственно, цикл выполняется до тех пор, пока не будут просмотрены все элементы в массиве left или все - в массиве right

while i < len(left) and j < len(right):

 # Вначале мы проверяем, больше ли i-ый элемент массива left j-ого в массиве right

 if left[i] < right[j]:

  # Если да, заменяем k-ый элемент массива i-ым элементом массива left

  mass[k] = left[i]

  # И прибавляем к i единицу, чтобы сдвинуть цикл

  i += 1

 else:

  # Если нет, заменяем k-ый элемент массива j-ым элементом массива right

  mass[k] = right[j]

  # И сдвигаем j на единицу

  j += 1

 # После этого, вне зависсимости от результата условия, сдвигаем k

 k += 1

# Затем, так как есть шанс, что элементы в каком-то из массивов не просмотрены до конца, проверяем массивы

# Если программа не до конца массива left, она перекладывает все элементы из него в массив mass

while i < len(left):

 mass[k] = left[i]

 i += 1

 k += 1

# Если программа не до конца массива right, она перекладывает все элементы из него в массив mass

while j < len(right):

 mass[k] = right[j]

 j += 1

 k += 1

0,0(0 оценок)
Ответ:
evalissa17
evalissa17
04.06.2021 17:54
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>

int main()  
  {
    SetConsoleCP(1251);      
    SetConsoleOutputCP(1251);  
 
int const n=3;
int mas[n][n];
int sum1, sum2;
bool magik;

for (int i=0; i<n; i++)
    for (int j=0; j<n; j++)
         {
           printf("mas[%d][%d] = ", i+1, j+1);
           scanf("%d",&mas[ i ][ j ]);
         }

printf("\nВведенная матрица:\n");
     for (int i=0; i<n; i++)
        {
             for (int j=0; j<n; j++)
                       {
                          printf("%d  ",mas[ i ][ j ]);
                       }
             printf("\n");
         }

sum1=0;
sum2=0;

for (int i = 0; i<n; i++)
     {
            sum1 += mas[ i ][ i ];
            sum2 += mas[ i ][ n-1-i ];
      }

printf("Сумма главной диагонали = %d\n", sum1);
printf("Сумма побочной диагонали = %d\n", sum2);

magik = true;
for (int i=0; i<n; i++)
    {
        if (sum1==sum2)
             {
                 sum2=0;
                 for (int j=0; j<n; j++)
                    {
                        sum2 += mas[ i ][ j ];
                     }
              } else  { magik=false; break; }
     }

if (magik==true)
     {
           for (int i=0; i<n; i++)    
               {
                   if (sum1==sum2)
                        {
                           sum2=0;
                           for (int j=0; j<n; j++)
                               {
                                   sum2 += mas[ j ][ i ];
                               }
                         }
                        else  { magik=false; break; }
                 }
       }

if (magik==true)
    printf("\nМатрица является магическим квадратом\n");  
else
    printf("\nМатрица не является магическим квадратом\n");

system("pause");
return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота