Bobkov
?>

Определите, что будет напечатано в результате выполнения следующей программы: var s, k: integer; begin s: =2; for k: = 0 to 2 do s: = s*s; write (s); end.

Информатика

Ответы

catmos

3 итерации

1) 2*2=4

2) 4*4 =16

3) 16*16=256

cat2572066

ответ: Значения, на основе которых выполняются вычисления. Аргументы вводят в круглых скобках сразу после имени функции. Аргументами могут быть числа, адреса ячеек, текст, выражения, содержащие другие функции.

Функции, используемые на уроках математики.

СУММ(В2:В5) – вычисление суммы числовых значений диапазона ячеек начиная с В2 до В5.

СУММ(В2:В5;100;К4) – вычисление суммы числовых значений диапазона ячеек В2:В5, числа 100 и значения ячейки К4.

СУММЕСЛИ(В2:В5;”>10”) – вычисление суммы чисел, больших 10, из диапазона ячеек В2:В5.

СРЗНАЧ(В2:В5) – вычисление среднего значения для диапазона ячеек В2:В5.

МАКС(В2:В5) – вычисление максимального значения из диапазона ячеек В2:В5.

МИН(В2:В5) – вычисление минимального значения из диапазона ячеек В2:В5.

СЧЕТ(В2:В5) – подсчёт общего количества чисел из диапазона ячеек В2:В5.

СЧЕТЕСЛИ(В2:В5;”<5”) – вычисление количества чисел меньших 5, из диапазона ячеек В2:В5.

СТЕПЕНЬ(В1;А4) – вычисление значения степени с основанием В1 и показателем степени А4.

КОРЕНЬ(В1) – вычисление значения квадратного корн

kazan-ugoop36

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, =) и в остальных случаях просто добавить это к формуле.

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

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

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

Определите, что будет напечатано в результате выполнения следующей программы: var s, k: integer; begin s: =2; for k: = 0 to 2 do s: = s*s; write (s); end.
Ваше имя (никнейм)*
Email*
Комментарий*