NOSSO MENU

sábado, 3 de junho de 2023

estrutura do grafo do menu

 # -*- coding: utf-8 -*-

"""

Created on Sat Jun  3 00:20:08 2023


@author: dan-s

"""


class MenuItem:

    def __init__(self, label, action=None):

        self.label = label

        self.action = action



class MenuGraph:

    def __init__(self):

        self.graph = {}


    def add_item(self, item, parent=None):

        if item not in self.graph:

            self.graph[item] = []

        if parent:

            self.graph[parent].append(item)


    def display(self):

        self._display_menu("", list(self.graph.keys())[0])


    def _display_menu(self, indent, item):

        print(indent + item.label)


        if item.action:

            item.action()


        children = self.graph.get(item, [])

        for child in children:

            self._display_menu(indent + "  ", child)



# Exemplo de uso


# Funções de ação

def action1():

    print("Executing action 1...")


def action2():

    print("Executing action 2...")


def action3():

    print("Executing action 3...")


# Criando os itens de menu

item1 = MenuItem("Item 1", action1)

item2 = MenuItem("Item 2", action2)

item3 = MenuItem("Item 3")

item4 = MenuItem("Item 4", action3)

item5 = MenuItem("Item 5")


# Construindo a estrutura do grafo

menu_graph = MenuGraph()

menu_graph.add_item(item1)

menu_graph.add_item(item2, parent=item1)

menu_graph.add_item(item3, parent=item1)

menu_graph.add_item(item4, parent=item3)

menu_graph.add_item(item5, parent=item3)


# Exibindo o menu

menu_graph.display()

"""Neste exemplo, a classe MenuItem representa cada item do menu, assim como no exemplo anterior. A classe MenuGraph é responsável por criar e gerenciar a estrutura do grafo do menu. O método add_item é usado para adicionar um item ao grafo, especificando seu nó pai (ou seja, o item pai no menu). O método display é usado para exibir o menu na tela, percorrendo o grafo e imprimindo os itens de acordo com as conexões definidas.


As funções de ação são definidas da mesma maneira que no exemplo anterior e são executadas quando um item do menu é selecionado.


Você pode personalizar o exemplo, adicionando mais itens ao menu e definindo as conexões desejadas entre eles usando o método add_item. Certifique-se de ajustar o código conforme necessário para atender às suas necessidades específicas."""


sexta-feira, 2 de junho de 2023

estrutura de árvore para representar um menu

 # -*- coding: utf-8 -*-

"""

Created on Fri Jun  2 23:11:01 2023


@author: dan-s

"""

"""Em Python, você pode implementar uma estrutura de árvore para representar um menu usando classes e objetos. Aqui está um exemplo de como você pode fazer isso:"""

class MenuItem:

    def __init__(self, label, action=None):

        self.label = label

        self.action = action

        self.children = []


    def add_child(self, child):

        self.children.append(child)


    def execute_action(self):

        if self.action:

            self.action()

        else:

            print("No action defined for this menu item.")


    def __str__(self):

        return self.label



class Menu:

    def __init__(self, root):

        self.root = root


    def display(self):

        self._display_menu(self.root)


    def _display_menu(self, menu_item, indent=""):

        print(indent + str(menu_item))

        for child in menu_item.children:

            self._display_menu(child, indent + "  ")


        if not indent:

            choice = input("Enter your choice: ")

            for child in menu_item.children:

                if str(child) == choice:

                    child.execute_action()

                    break



# Exemplo de uso


# Funções de ação

def action1():

    print("Executing action 1...")


def action2():

    print("Executing action 2...")


def action3():

    print("Executing action 3...")


# Criando os itens de menu

item1 = MenuItem("Item 1", action1)

item2 = MenuItem("Item 2", action2)

item3 = MenuItem("Item 3")

item4 = MenuItem("Item 4", action3)

item5 = MenuItem("Item 5")


# Construindo a estrutura do menu

item3.add_child(item4)

item3.add_child(item5)

item1.add_child(item2)

item1.add_child(item3)


# Criando o menu e exibindo-o

menu = Menu(item1)

menu.display()

menu2 = Menu(item3)

menu2.display()


Tabuadas do 1 ao 10, juntamente com uma breve explicação sobre como calculá-las

Tabuadas do 1 ao 10, juntamente com uma breve explicação sobre como calculá-las:


Tabuada do 1:

1 x 1 = 1

1 x 2 = 2

1 x 3 = 3

1 x 4 = 4

1 x 5 = 5

1 x 6 = 6

1 x 7 = 7

1 x 8 = 8

1 x 9 = 9

1 x 10 = 10


Explicação: Na tabuada do 1, você simplesmente multiplica o número 1 pelo número de 1 a 10 para obter o resultado. Como qualquer número multiplicado por 1 é igual a ele mesmo, todos os resultados são iguais aos números que estão sendo multiplicados.


Tabuada do 2:

2 x 1 = 2

2 x 2 = 4

2 x 3 = 6

2 x 4 = 8

2 x 5 = 10

2 x 6 = 12

2 x 7 = 14

2 x 8 = 16

2 x 9 = 18

2 x 10 = 20


Explicação: Na tabuada do 2, você multiplica o número 2 pelo número de 1 a 10 para obter o resultado. Por exemplo, 2 multiplicado por 1 é igual a 2, 2 multiplicado por 2 é igual a 4 e assim por diante.


Tabuada do 3:

3 x 1 = 3

3 x 2 = 6

3 x 3 = 9

3 x 4 = 12

3 x 5 = 15

3 x 6 = 18

3 x 7 = 21

3 x 8 = 24

3 x 9 = 27

3 x 10 = 30


Explicação: Na tabuada do 3, você multiplica o número 3 pelo número de 1 a 10 para obter o resultado. A cada iteração, o número multiplicador aumenta em 1. Por exemplo, 3 multiplicado por 1 é igual a 3, 3 multiplicado por 2 é igual a 6 e assim por diante.


Tabuada do 4:

4 x 1 = 4

4 x 2 = 8

4 x 3 = 12

4 x 4 = 16

4 x 5 = 20

4 x 6 = 24

4 x 7 = 28

4 x 8 = 32

4 x 9 = 36

4 x 10 = 40


Explicação: Na tabuada do 4, você multiplica o número 4 pelo número de 1 a 10 para obter o resultado. A cada iteração, o número multiplicador aumenta em 1. Por exemplo, 4 multiplicado por 1 é igual a 4, 4 multiplicado por 2 é igual a 8 e assim por diante.


Tabuada do 5:

5 x 1 = 5

5 x 2 = 10

5 x 3 = 15

5 x 4 = 20

5 x 5 = 25

5 x 6 = 30

5 x 7 = 35

5 x 8 = 40

5 x 9 = 45

5 x 10 = 50


Explicação: Na tabuada do 5, você multiplica o


 número 5 pelo número de 1 a 10 para obter o resultado. A cada iteração, o número multiplicador aumenta em 1. Por exemplo, 5 multiplicado por 1 é igual a 5, 5 multiplicado por 2 é igual a 10 e assim por diante.


Tabuada do 6:

6 x 1 = 6

6 x 2 = 12

6 x 3 = 18

6 x 4 = 24

6 x 5 = 30

6 x 6 = 36

6 x 7 = 42

6 x 8 = 48

6 x 9 = 54

6 x 10 = 60


Explicação: Na tabuada do 6, você multiplica o número 6 pelo número de 1 a 10 para obter o resultado. A cada iteração, o número multiplicador aumenta em 1. Por exemplo, 6 multiplicado por 1 é igual a 6, 6 multiplicado por 2 é igual a 12 e assim por diante.


Tabuada do 7:

7 x 1 = 7

7 x 2 = 14

7 x 3 = 21

7 x 4 = 28

7 x 5 = 35

7 x 6 = 42

7 x 7 = 49

7 x 8 = 56

7 x 9 = 63

7 x 10 = 70


Explicação: Na tabuada do 7, você multiplica o número 7 pelo número de 1 a 10 para obter o resultado. A cada iteração, o número multiplicador aumenta em 1. Por exemplo, 7 multiplicado por 1 é igual a 7, 7 multiplicado por 2 é igual a 14 e assim por diante.


Tabuada do 8:

8 x 1 = 8

8 x 2 = 16

8 x 3 = 24

8 x 4 = 32

8 x 5 = 40

8 x 6 = 48

8 x 7 = 56

8 x 8 = 64

8 x 9 = 72

8 x 10 = 80


Explicação: Na tabuada do 8, você multiplica o número 8 pelo número de 1 a 10 para obter o resultado. A cada iteração, o número multiplicador aumenta em 1. Por exemplo, 8 multiplicado por 1 é igual a 8, 8 multiplicado por 2 é igual a 16 e assim por diante.


Tabuada do 9:

9 x 1 = 9

9 x 2 = 18

9 x 3 = 27

9 x 4 = 36

9 x 5 = 45

9 x 6 = 54

9 x 7 = 63

9 x 8 = 72

9 x 9 = 81

9 x 10 = 90


Explicação: Na tabuada do 9, você multiplica o número 9 pelo número de 1 a 10 para obter o resultado. A cada iteração, o número multiplicador aumenta em 1. Por exemplo, 9 multiplicado por 1 é igual a 9, 9 multiplicado por 2 é igual a 18 e assim por diante.


Tabuada do 10:

10 x 1 = 10

10 x 2 = 20

10 x 3 = 30

10 x 4


 = 40

10 x 5 = 50

10 x 6 = 60

10 x 7 = 70

10 x 8 = 80

10 x 9 = 90

10 x 10 = 100


Explicação: Na tabuada do 10, você multiplica o número 10 pelo número de 1 a 10 para obter o resultado. A cada iteração, o número multiplicador aumenta em 1. Por exemplo, 10 multiplicado por 1 é igual a 10, 10 multiplicado por 2 é igual a 20 e assim por diante.


Essas são as tabuadas do 1 ao 10, que fornecem os resultados da multiplicação entre os números de 1 a 10 e o número correspondente da tabuada.

10 tabelas de matemática úteis para crianças, juntamente com uma breve explicação de cada uma

10 tabelas de matemática úteis para crianças, juntamente com uma breve explicação de cada uma:


1. Tabela de multiplicação:


   |   | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

   |---|---|---|---|---|---|---|---|---|---|----|

   | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

   | 2 | 2 | 4 | 6 | 8 | 10| 12| 14| 16| 18| 20 |

   | 3 | 3 | 6 | 9 | 12| 15| 18| 21| 24| 27| 30 |

   | 4 | 4 | 8 | 12| 16| 20| 24| 28| 32| 36| 40 |

   | 5 | 5 | 10| 15| 20| 25| 30| 35| 40| 45| 50 |

   | 6 | 6 | 12| 18| 24| 30| 36| 42| 48| 54| 60 |

   | 7 | 7 | 14| 21| 28| 35| 42| 49| 56| 63| 70 |

   | 8 | 8 | 16| 24| 32| 40| 48| 56| 64| 72| 80 |

   | 9 | 9 | 18| 27| 36| 45| 54| 63| 72| 81| 90 |

   |10 | 10| 20| 30| 40| 50| 60| 70| 80| 90| 100|


   Esta tabela mostra a multiplicação de números de 1 a 10 em formato de grade. Ela ajuda as crianças a memorizarem as multiplicações básicas e a desenvolverem habilidades de multiplicação.


2. Tabela de adição:


   |   | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

   |---|---|---|---|---|---|---|---|---|---|----|

   | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11 |

   | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11| 12 |

   | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11| 12| 13 |

   | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11| 12| 13| 14 |

   | 5 | 6 | 7 | 8 | 9 | 10| 11| 12| 13| 14| 15 |

   | 6 | 7 | 8 | 9 | 10| 11| 12| 13| 14| 


15| 16 |

   | 7 | 8 | 9 | 10| 11| 12| 13| 14| 15| 16| 17 |

   | 8 | 9 | 10| 11| 12| 13| 14| 15| 16| 17| 18 |

   | 9 | 10| 11| 12| 13| 14| 15| 16| 17| 18| 19 |

   |10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 20 |


   Esta tabela mostra a adição de números de 1 a 10 em formato de grade. Ajuda as crianças a praticarem adição básica e a desenvolverem fluência numérica.


3. Tabela de subtração:


   |   | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

   |---|---|---|---|---|---|---|---|---|---|----|

   | 1 | 0 | -1| -2| -3| -4| -5| -6| -7| -8| -9 |

   | 2 | 1 | 0 | -1| -2| -3| -4| -5| -6| -7| -8 |

   | 3 | 2 | 1 | 0 | -1| -2| -3| -4| -5| -6| -7 |

   | 4 | 3 | 2 | 1 | 0 | -1| -2| -3| -4| -5| -6 |

   | 5 | 4 | 3 | 2 | 1 | 0 | -1| -2| -3| -4| -5 |

   | 6 | 5 | 4 | 3 | 2 | 1 | 0 | -1| -2| -3| -4 |

   | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | -1| -2| -3 |

   | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | -1| -2 |

   | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | -1 |

   |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0  |


   Esta tabela mostra a subtração de números de 1 a 10 em formato de grade. Ajuda as crianças a praticarem subtração básica e a compreenderem os conceitos de "tirar" ou "diminuir".


4. Tabela de divisão:


   |   | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

   |---|---|---|---|---|---|---|---|---|---|----|

   | 1 | 1 | 0.5| 0.33| 0.25| 0.2| 0.16| 0.14| 0.12| 


0.11| 0.1 |

   | 2 | 2 | 1 | 0.66| 0.5| 0.4| 0.33| 0.28| 0.25| 0.22| 0.2 |

   | 3 | 3 | 1.5| 1 | 0.75| 0.6| 0.5| 0.43| 0.37| 0.33| 0.3 |

   | 4 | 4 | 2 | 1.33| 1 | 0.8| 0.66| 0.57| 0.5| 0.44| 0.4 |

   | 5 | 5 | 2.5| 1.66| 1.25| 1 | 0.83| 0.71| 0.62| 0.55| 0.5 |

   | 6 | 6 | 3 | 2 | 1.5| 1.2| 1 | 0.85| 0.75| 0.66| 0.6 |

   | 7 | 7 | 3.5| 2.33| 1.75| 1.4| 1.16| 1 | 0.87| 0.77| 0.7 |

   | 8 | 8 | 4 | 2.66| 2 | 1.6| 1.33| 1.14| 1 | 0.88| 0.8 |

   | 9 | 9 | 4.5| 3 | 2.25| 1.8| 1.5| 1.28| 1.12| 1 | 0.9 |

   |10 | 10| 5 | 3.33| 2.5| 2| 1.66| 1.42| 1.25| 1.11| 1 |


   Esta tabela mostra a divisão de números de 1 a 10 em formato de grade. Ela pode ajudar as crianças a aprenderem os conceitos básicos de divisão e a praticarem a divisão de números.


5. Tabela de valores numéricos:


   |   | Unidades | Dezenas | Centenas | Milhares |

   |---|----------|----------|------------|-------------|

   | 1 |    1     |    10    |    100     |    1000    |

   | 2 |    2     |    20    |    200     |    2000    |

   | 3 |    3     |    30    |    300     |    3000    |

   | 4 |    4     |    40    |    400     |    4000    |

   | 5 |    5     |    50    |    500     |    5000    |

   | 6 |    6     |    60    |    600     |    6000    |

   | 7 |    7     |    70    |    700     |    7000    |

   | 8 |    8     |    80    |    800     |    8000    |

   | 9 |    9     |    90    |    900     |


    9000    |

   |10|   10    |   100   |   1000    |   10000   |


   Essa tabela mostra os valores posicionais dos dígitos em números de diferentes ordens. Ajuda as crianças a entenderem como os números são compostos por unidades, dezenas, centenas, e assim por diante.


6. Tabela de equivalência de frações:


   | Fração | Equivalente |

   |---------|--------------|

   |   1/2   |     2/4      |

   |   1/3   |     2/6      |

   |   1/4   |     2/8      |

   |   1/5   |     2/10     |

   |   1/6   |     2/12     |

   |   1/7   |     2/14     |

   |   1/8   |     2/16     |

   |   1/9   |     2/18     |

   |   1/10  |     2/20     |


   Essa tabela mostra diferentes frações equivalentes. Ajuda as crianças a entenderem que diferentes frações podem representar a mesma quantidade.


7. Tabela de conversão de medidas:


   | Unidade de medida | Conversão |

   |-------------------|------------|

   | Centímetros       | Polegadas  |

   | Metros            | Pés        |

   | Quilômetros       | Milhas     |

   | Litros            | Galões     |

   | Gramas            | Onças      |

   | Quilogramas       | Libras     |


   Essa tabela mostra a conversão de unidades de medida comuns, como comprimento, peso e volume. Ajuda as crianças a entenderem as relações entre diferentes unidades de medida.


8. Tabela de formas geométricas:


   | Forma Geométrica | Descrição                                          |

   |------------------|----------------------------------------------------|

   | Triângulo        | Possui três lados e três ângulos.                   |

   | Quadrado         | Tem quatro lados iguais e quatro ângulos retos.     |

   | Retângulo        | Possui quatro lados e quatro ângulos retos.         |

   | Círculo          | Uma forma redonda com um raio constante.            |

   | Losango          | Tem quatro lados iguais, mas não ângulos retos.     |

   | Hexágono         | Possui seis lados e seis ângulos.                   |

   | Pentágono        | Tem cinco lados e cinco ângulos.                    |

   | Triângulo retângulo | Possui um ângulo reto e outros dois ângulos agudos. |


   Essa tabela mostra diferentes formas geométricas, como triângulos, quadrados, retângulos e círculos, juntamente com suas características. Ajuda as crianças a reconhecerem e identificarem diferentes formas.


9. Tabela de números romanos:


   | Números Romanos | Numeração Decimal |

   |-----------------|-------------------|

   | I               | 1                 |

   | II              | 2                 |

   | III             | 3                 |

   | IV              | 4                 |

   | V               | 5                 |

   | VI              | 6


                 |

   | VII             | 7                 |

   | VIII            | 8                 |

   | IX              | 9                 |

   | X               | 10                |


   Essa tabela mostra a numeração em algarismos romanos correspondentes aos números decimais. Ajuda as crianças a entenderem e lerem números romanos básicos.


10. Tabela de horários:


   | Horário | Minutos |

   |---------|---------|

   | 1:00    | 60      |

   | 2:00    | 120     |

   | 3:00    | 180     |

   | 4:00    | 240     |

   | 5:00    | 300     |

   | 6:00    | 360     |

   | 7:00    | 420     |

   | 8:00    | 480     |

   | 9:00    | 540     |

   | 10:00   | 600     |


   Essa tabela mostra os horários correspondentes aos minutos. Ajuda as crianças a relacionarem os horários com a quantidade de minutos decorridos.

As estruturas de dados

 Introdução


As estruturas de dados e o estudo de algoritmos são fundamentais na programação e são amplamente reconhecidos por sua importância. Neste artigo, abordaremos as estruturas de dados desde o início, discutindo o que são, fornecendo exemplos e destacando sua relevância.


O Conceito de Dados


Os dados, em suas diversas formas, são os elementos básicos da programação. Eles representam unidades de informação que podem ser acessadas por meio de identificadores, como variáveis.


A maioria das linguagens de programação utiliza variações dos seguintes tipos de dados primitivos:


- INT ou números inteiros: valores numéricos inteiros (positivos ou negativos).

- FLOAT ou números de ponto flutuante: valores numéricos com casas decimais (positivos ou negativos).

- BOOLEAN ou valores booleanos: representados apenas pelos valores "verdadeiro" e "falso". Também conhecidos como operadores lógicos.

- TEXT: sequências de caracteres usadas para manipular texto e outros tipos de dados não numéricos ou booleanos, como hashes de criptografia.


Por exemplo, o JavaScript possui tipos primitivos embutidos na linguagem, como number, string, boolean e symbol. Já o C# trabalha com uma variedade maior de tipos primitivos, dependendo do espaço de memória ocupado pela variável. O C, por sua vez, não possui um tipo de dados booleano próprio, representando o falso pelo número 0 e qualquer outro valor como verdadeiro. Outras linguagens podem utilizar variações diferentes desses tipos.


Estruturas de Dados: Definição e Características


Em ciência da computação, as estruturas de dados são formas de organizar e armazenar dados. A escolha da estrutura de dados adequada depende do uso e processamento desses dados, considerando fatores como eficiência de busca, volume de dados, complexidade de implementação e relacionamentos entre os dados.


Podemos dizer que um programa consiste em algoritmos e estruturas de dados, que trabalham juntos para garantir o funcionamento adequado do programa.


Cada estrutura de dados possui métodos específicos para realizar operações como inserção ou exclusão de elementos, busca e localização de elementos, e ordenação dos elementos de acordo com critérios específicos.


As estruturas de dados podem ser lineares (ex.: arrays) ou não lineares (ex.: grafos), homogêneas (todos os elementos possuem o mesmo tipo de dado) ou heterogêneas (podem conter elementos de vários tipos), estáticas (com tamanho ou capacidade de memória fixa) ou dinâmicas (podem expandir conforme necessário).


A seguir, apresentaremos uma lista e descrição de algumas estruturas de dados comuns.


Array


Um array, também conhecido como vetor ou matriz, é a estrutura de dados mais comum e frequentemente a primeira a ser estudada. Ele é uma lista ordenada de valores.


Por exemplo, em JavaScript, podemos ter um array de números:


const listaNumeros = [4, 6, 2, 77, 1, 0];


O array mantém a ordem dos elementos, o que significa que, a menos que seja aplicada alguma função ou método para alterar a ordem, o primeiro elemento sempre será 4 e o último será 0.


Redes Sociais

anuncios