М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

Написать программу организующую сортировку выбора. процедуру использовать только для сортировки!

👇
Ответ:
omanivchuk
omanivchuk
22.02.2021
Const n = 10;
type arr=array[1..n] of byte;
procedure sort(var a:arr);
var i, j, max, imax:integer;
begin
j := n;
while j > 1 do begin
    max := a[1];
    imax := 1;
    for i := 2 to j do
        if a[i] > max then begin
            max := a[i];
            imax := i
        end;
    a[imax] := a[j];
    a[j] := max;
    j := j - 1
 end;
end;
var
a: arr; i: byte;
 
begin
Randomize;
writeln('Исходный массив:');
for i := 1 to n do 
  begin
  a[i] := random(256);
  write(a[i]:4)
  end;
writeln;
sort(a);
writeln('Отсортированный массив:');
for i := 1 to n do write(a[i]:4);
writeln;
end.

Пример:
Исходный массив:
 119 239 156 143  34 184  93  19 218 120
Отсортированный массив:
  19  34  93 119 120 143 156 184 218 239
4,5(12 оценок)
Ответ:
Vladisimus
Vladisimus
22.02.2021
Procedure Sort(arr : array of integer);
var
  i, j, temp, len, min : integer;
begin
  len := length(arr);

  for j := 0 to len - 2 do
  begin
    min := j;
 
    for i := j + 1 to len - 1 do
      if arr[i] < arr[min] then
        min := i;

    if min > j then
    begin
      temp := arr[j];
      arr[j] := arr[min];
      arr[min] := temp;
    end;
  end;
end;

const
  N = 10; // Количество элементов массива
  Max = 100; // Максимальное число в массиве
var
  arr : array of integer;
  i : integer;
begin
  //Устанавливаем длину массива
  SetLength(arr, N);

  for i := 0 to N - 1 do
    arr[i] := random(Max);
 
  //Выводим исходный массив
  for i := 0 to N - 1 do
    write(arr[i], ' ');
  writeln();

  Sort(arr);

  //Выводим отсортированный массива
  for i := 0 to N - 1 do
    write(arr[i], ' ');
  writeln();
end.
4,7(75 оценок)
Открыть все ответы
Ответ:
vladimir00041
vladimir00041
22.02.2021

cd ~

mkdir folder1

cd folder1

touch file1

touch file2

touch file3

touch file4

tar cvf archive.tar *

mkdir ../folder2

cd ../folder2

touch new_file

cp ../folder1/archive.tar .

tar rvf archive.tar new_file

tar vf archive.tar --delete file3

tar vf archive.tar --list > list1

tar vf ../folder1/archive.tar --list > list2

diff list1 list2

#Разъединение выполнить не получится, потому что все файлы пустые, но если засовывать не пустые, то

split -b 10M archive.tar "part" # вместо 10M нужный размер

cat part* > joined_archive.tar

tar vf archive.tar --list

tar vf joined_archive.tar --list

tar czvf final_archive.tar archive.tar ../folder1/archive.tar joined_archive.tar

4,4(67 оценок)
Ответ:
SHEVENIST
SHEVENIST
22.02.2021

from tkinter import *

class Main(Frame):

   def __init__(self, root):

       super(Main, self).__init__(root)

       self.build()

   def build(self):

       self.formula = "0"

       self.lbl = Label(text=self.formula, font=("Times New Roman", 21, "bold"), bg="#000", foreground="#FFF")

       self.lbl.place(x=11, y=50)

       btns = [

           "C", "DEL", "*", "=",

           "1", "2", "3", "/",

           "4", "5", "6", "+",

           "7", "8", "9", "-",

           "(", "0", ")", "X^2"

       ]

       x = 10

       y = 140

       for bt in btns:

           com = lambda x=bt: self.logicalc(x)

           Button(text=bt, bg="#FFF",

                  font=("Times New Roman", 15),

                  command=com).place(x=x, y=y,

                                     width=115,

                                     height=79)

           x += 117

           if x > 400:

               x = 10

               y += 81

   def logicalc(self, operation):

       if operation == "C":

           self.formula = ""

       elif operation == "DEL":

           self.formula = self.formula[0:-1]

       elif operation == "X^2":

           self.formula = str((eval(self.formula))**2)

       elif operation == "=":

           self.formula = str(eval(self.formula))

       else:

           if self.formula == "0":

               self.formula = ""

           self.formula += operation

       self.update()

   def update(self):

       if self.formula == "":

           self.formula = "0"

       self.lbl.configure(text=self.formula)

if __name__ == '__main__':

   root = Tk()

   root["bg"] = "#000"

   root.geometry("485x550+200+200")

   root.title("Калькулятор")

   root.resizable(False, False)

   app = Main(root)

   app.pack()

   root.mainloop()

Объяснение:

1.Создаём окно 485 на 550. Размеры не важны, мне понравились такие. Так же указываем, что окно не будет изменяться.

class Main(Frame):

   def __init__(self, root):

       super(Main, self).__init__(root)

       self.build()

   def build(self):

       pass

 

   def logicalc(self, operation):

       pass

   def update():

      pass

if __name__ == '__main__':

   root = Tk()

   root["bg"] = "#000"

   root.geometry("485x550+200+200")

   root.title("Калькулятор")

   root.resizable(False, False)

   app = Main(root)

   app.pack()

   root.mainloop()

2.Делаем кнопочки

В методе build создаём такой список:

btns = [

           "C", "DEL", "*", "=",

           "1", "2", "3", "/",

           "4", "5", "6", "+",

           "7", "8", "9", "-",

           "+/-", "0", "%", "X^2"

       ]

Он отвечает за все кнопки, отображающиеся у нас в окне.

3.Мы создали список, теперь проходимся циклом и отображаем эти кнопки. Для этого в том же методе пишем следующее:

x = 10

       y = 140

       for bt in btns:

           com = lambda x=bt: self.logicalc(x)

           Button(text=bt, bg="#FFF",

                  font=("Times New Roman", 15),

                  command=com).place(x=x, y=y,

                                     width=115,

                                     height=79)

           x += 117

           if x > 400:

               x = 10

               y += 81

4.Замечательно, у нас есть кнопочки. Добавляем надпись с выводом результата. Я хочу что бы текст был слева, следовательно, атрибутов выравнивания текста писать не нужно.

self.formula = "0"

self.lbl = Label(text=self.formula, font=("Times New Roman", 21, "bold"),

                bg="#000", foreground="#FFF")

self.lbl.place(x=11, y=50)

5.Пишем логику

def logicalc(self, operation):

   if operation == "C":

       self.formula = ""

   elif operation == "DEL":

       self.formula = self.formula[0:-1]

   elif operation == "X^2":

       self.formula = str((eval(self.formula))**2)

   elif operation == "=":

       self.formula = str(eval(self.formula))

   else:

       if self.formula == "0":

           self.formula = ""

       self.formula += operation

   self.update()

def update(self):

   if self.formula == "":

       self.formula = "0"

   self.lbl.configure(text=self.formula)

Так, как у нас нет ввода с клавиатуры, мы можем позволить себе сделать так, просто проверить на спец. кнопки (C, DEL, =) и в остальных случаях просто добавить это к формуле.

за внимание!)

4,7(31 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ