Artigos

2.2: Introdução aos inteiros (Parte 2)


Tratamos as barras de valor absoluto da mesma forma que tratamos os parênteses na ordem das operações. Simplificamos a expressão interna primeiro.

Exemplo ( PageIndex {7} ): avaliar

Avalie:

  1. (| x | ) quando (x = −35 )
  2. (| −y | ) quando (y = −20 )
  3. (- | u | ) quando (u = 12 )
  4. (- | p | ) quando (p = −14 )

Solução

    Para encontrar | x | quando x = −35: (| x | )
    Substitua ( textcolor {red} {- 35} ) por x. (| textcolor {red} {- 35} | )
    Pegue o valor absoluto.(35)
      Para encontrar | - y | quando y = −20: (| -y | )
      Substitua ( textcolor {red} {- 20} ) por y. (| - ( textcolor {red} {- 20}) | )
      Simplificar.(|20|)
      Pegue o valor absoluto.(20)
        Para encontrar - | u | quando u = 12: (- | u | )
        Substitua ( textcolor {red} {12} ) por u. (- | textcolor {red} {12} | )
        Pegue o valor absoluto.(-12)
          Para encontrar - | p | quando p = −14: (- | p | )
          Substitua ( textcolor {red} {- 14} ) por p. (- | textcolor {red} {- 14} | )
          Pegue o valor absoluto.(-14)

          Observe que o resultado é negativo apenas quando há um sinal negativo fora do símbolo de valor absoluto

          Exercício ( PageIndex {13} )

          Avalie:

          1. (| x | ) quando (x = −17 )
          2. (| −y | ) quando (y = −39 )
          3. (- | m | ) quando (m = 22 )
          4. (- | p | ) quando (p = −11 )
          Responder a

          (17)

          Resposta b

          (39)

          Resposta c

          (-22)

          Resposta d

          (11)

          Exercício ( PageIndex {14} )

          Avalie:

          1. (| y | ) quando (y = −23 )
          2. (| −y | ) quando (y = −21 )
          3. (- | n | ) quando (n = 37 )
          4. (- | q | ) quando (q = −49 )
          Responder a

          (23)

          Resposta b

          (21)

          Resposta c

          (-37)

          Resposta d

          (-49)

          Exemplo ( PageIndex {8} ): comparar expressões

          Preencha (<), (> ) ou (= ) para cada um dos seguintes:

          1. (|−5|)___(− |−5|)
          2. (8)___(− |−8|)
          3. (−9)___(− |−9|)
          4. (− |−7|)___(−7)

          Solução

          Para comparar duas expressões, simplifique cada uma primeiro. Então compare.

            |−5|___− |−5|
            Simplificar.5___−5
            Pedido.5 > −5
              8___− |−8|
              Simplificar.8___−8
              Pedido.8 > −8
                −9___− |−9|
                Simplificar.−9___−9
                Pedido.−9 = −9
                  −|−7|___−7
                  Simplificar.−7___−7
                  Pedido.−7 = −7

                  Exercício ( PageIndex {15} )

                  Preencha (<), (> ) ou (= ) para cada um dos seguintes:

                  1. (|−9|) ___(− |−9|)
                  2. (2)___(− |−2|)
                  3. (−8)___(|−8|)
                  4. (− |−5|)___(−5)
                  Responder a

                  (>)

                  Resposta b

                  (>)

                  Resposta c

                  (<)

                  Resposta d

                  (=)

                  Exercício ( PageIndex {16} )

                  Preencha (<), (> ) ou (= ) para cada um dos seguintes:

                  1. (7)___(− |−7|)
                  2. (− |−11|)___(−11)
                  3. (|−4|)___(− |−4|)
                  4. (−1)___(|−1|)
                  Responder a

                  (>)

                  Resposta b

                  (=)

                  Resposta c

                  (>)

                  Resposta d

                  (<)

                  As barras de valor absoluto atuam como símbolos de agrupamento. Primeiro, simplifique dentro das barras de valor absoluto o máximo possível. Em seguida, pegue o valor absoluto do número resultante e continue com quaisquer operações fora dos símbolos de valor absoluto.

                  Exemplo ( PageIndex {9} ): simplificar

                  Simplificar:

                  1. (|9−3|)
                  2. (4|−2|)

                  Solução

                  Para cada expressão, siga a ordem das operações. Comece dentro dos símbolos de valor absoluto, assim como entre parênteses.

                    Simplifique dentro do sinal de valor absoluto.|9−3| = |6|
                    Pegue o valor absoluto.6
                      Pegue o valor absoluto.4|−2| = 4 • 2
                      Multiplicar.8

                      Exercício ( PageIndex {17} )

                      Simplificar:

                      1. (|12 − 9|)
                      2. (3|−6|)
                      Responder a

                      (3)

                      Resposta b

                      (18)

                      Exercício ( PageIndex {18} )

                      Simplificar:

                      1. (|27 − 16|)
                      2. (9|−7|)
                      Responder a

                      (11)

                      Resposta b

                      (63)

                      Exemplo ( PageIndex {10} ): simplificar

                      Simplifique: (| 8 + 7 | - | 5 + 6 | ).

                      Solução

                      Para cada expressão, siga a ordem das operações. Comece dentro dos símbolos de valor absoluto, assim como entre parênteses.

                      Simplifique dentro de cada sinal de valor absoluto.|8+7|−|5+6| = |15|−|11|
                      Subtrair.4

                      Exercício ( PageIndex {19} )

                      Simplifique: (| 1 + 8 | - | 2 + 5 | )

                      Responder

                      (2)

                      Exercício ( PageIndex {20} )

                      Simplifique: (| 9−5 | - | 7 - 6 | )

                      Responder

                      (3)

                      Exemplo ( PageIndex {11} ): simplificar

                      Simplifique: (24 - | 19 - 3 (6 - 2) | ).

                      Solução

                      Usamos a ordem das operações. Lembre-se de simplificar os símbolos de agrupamento primeiro, para que os parênteses dentro dos símbolos de valor absoluto sejam os primeiros.

                      Simplifique primeiro entre parênteses.24 − |19 − 3(6 − 2)| = 24 − |19 − 3(4)|
                      Multiplique 3 (4).24 − |19 − 12|
                      Subtraia dentro do sinal de valor absoluto.24 − |7|
                      Pegue o valor absoluto.24 - 7
                      Subtrair.17

                      Exercício ( PageIndex {21} )

                      Simplifique: (19 - | 11 - 4 (3 - 1) | )

                      Responder

                      (16)

                      Exercício ( PageIndex {22} )

                      Simplifique: (9 - | 8 - 4 (7 - 5) | )

                      Responder

                      (9)

                      Traduzir frases em expressões com números inteiros

                      Agora podemos traduzir frases de palavras em expressões com inteiros. Procure palavras que indiquem um sinal negativo. Por exemplo, a palavra negativo em “vinte negativos” indica (- 20 ). A palavra também oposto em “o oposto de (20 ).”

                      Exemplo ( PageIndex {12} ): traduzir

                      Traduza cada frase em uma expressão com números inteiros:

                      1. o oposto de quatorze positivo
                      2. o oposto de (- 11 )
                      3. dezesseis negativos
                      4. dois menos sete negativos

                      Solução

                      1. o oposto de quatorze (- 14 )
                      2. o oposto de (- 11 - (−11) )
                      3. dezesseis negativos (- 16 )
                      4. dois menos sete negativos (2 - (−7) )

                      Exercício ( PageIndex {23} )

                      Traduza cada frase em uma expressão com números inteiros:

                      1. o oposto de nove positivo
                      2. o oposto de (- 15 )
                      3. vinte negativos
                      4. onze menos quatro negativos
                      Responder a

                      (-9)

                      Resposta b

                      (15)

                      Resposta c

                      (-20)

                      Resposta d

                      (11-(-4))

                      Exercício ( PageIndex {24} )

                      Traduza cada frase em uma expressão com números inteiros:

                      1. o oposto de dezenove negativos
                      2. o oposto de vinte e dois
                      3. nove negativos
                      4. oito negativos menos cinco negativos
                      Responder a

                      (19)

                      Resposta b

                      (-22)

                      Resposta c

                      (-9)

                      Resposta d

                      (-8-(-5))

                      Como vimos no início desta seção, números negativos são necessários para descrever muitas situações do mundo real. Veremos mais algumas aplicações de números negativos no próximo exemplo.

                      Exemplo ( PageIndex {13} ): traduzir

                      Traduza para uma expressão com números inteiros:

                      1. A temperatura está (12 ) graus Fahrenheit abaixo de zero.
                      2. O time de futebol teve um ganho de (3 ) jardas.
                      3. A elevação do Mar Morto é de (1.302 ) pés abaixo do nível do mar.
                      4. Uma conta corrente está a descoberto em ($ 40 ).

                      Solução

                      Procure frases-chave em cada frase. Em seguida, procure palavras que indiquem sinais negativos. Não se esqueça de incluir as unidades de medida descritas na frase.

                        A temperatura é de 12 graus Fahrenheit abaixo de zero.
                        Abaixo de zero nos diz que 12 é um número negativo.-12 ºF
                          O time de futebol teve um ganho de 3 jardas.
                          UMA ganho nos diz que 3 é um número positivo.3 jardas
                            A elevação do Mar Morto é 1.302 pés abaixo do nível do mar.
                            Abaixo do nível do mar nos diz que 1.302 é um número negativo.-1.302 pés
                              Uma conta corrente está a descoberto em $ 40.
                              Descoberto nos diz que 40 é um número negativo.−$40

                              Exercício ( PageIndex {25} )

                              Traduza para uma expressão com números inteiros: o time de futebol teve um ganho de (5 ) jardas.

                              Responder

                              (5 ) jardas

                              Exercício ( PageIndex {26} )

                              Traduza para uma expressão com números inteiros: O mergulhador estava (30 ) pés abaixo da superfície da água.

                              Responder

                              (- 30 ) pés

                              Conceitos chave

                              • Notação Oposta
                                • A notação (- a ) é lida ao contrário de (a )
                              • Notação de valor absoluto
                                • O valor absoluto de um número (n ) é escrito como (| n | ).

                              Glossário

                              valor absoluto

                              O valor absoluto de um número é sua distância de (0 ) na reta do número.

                              inteiros

                              Os inteiros contam números, seus opostos e zero ... (- 3, –2, –1, 0, 1, 2, 3 ... )

                              número negativo

                              Um número negativo é menor que zero.

                              opostos

                              O oposto de um número é o número que está à mesma distância de zero na reta numérica, mas no lado oposto de zero.

                              A prática leva à perfeição

                              Localize números positivos e negativos na linha de números

                              Nos exercícios a seguir, localize e rotule os pontos fornecidos em uma linha numérica.

                              1. (a) 2 (b) −2 (c) −5
                              2. (a) 5 (b) −5 (c) −2
                              3. (a) −8 (b) 8 (c) −6
                              4. (a) −7 (b) 7 (c) −1

                              Peça números positivos e negativos na linha de números

                              Nos exercícios a seguir, ordene cada um dos seguintes pares de números, usando .

                              1. (a) 9__4 (b) −3__6 (c) −8 __− 2 (d) 1 __− 10
                              2. (a) 6__2; (b) −7__4; (c) −9 __− 1; (d) 9 __− 3
                              3. (a) −5__1; (b) −4 __− 9; (c) 6__10; (d) 3 __− 8
                              4. (a) −7__3; (b) −10 __− 5; (c) 2 __− 6; (d) 8__9

                              Encontre opostos

                              Nos exercícios a seguir, encontre o oposto de cada número.

                              1. (a) 2 (b) −6
                              2. (a) 9 (b) −4
                              3. (a) −8 (b) 1
                              4. (a) −2 (b) 6

                              Nos exercícios a seguir, simplifique.

                              1. −(−4)
                              2. −(−8)
                              3. −(−15)
                              4. −(−11)

                              Nos exercícios a seguir, avalie.

                              1. −m quando (a) m = 3 (b) m = −3
                              2. −p quando (a) p = 6 (b) p = −6
                              3. −c quando (a) c = 12 (b) c = −12
                              4. −d quando (a) d = 21 (b) d = −21

                              Simplifique Expressões com Valor Absoluto

                              Nos exercícios a seguir, simplifique cada expressão de valor absoluto.

                              1. (a) | 7 | (b) | -25 | (c) | 0 |
                              2. (a) | 5 | (b) | 20 | (c) | −19 |
                              3. (a) | −32 | (b) | -18 | (c) | 16 |
                              4. (a) | −41 | (b) | −40 | (c) | 22 |

                              Nos exercícios a seguir, avalie cada expressão de valor absoluto.

                              1. (a) | x | quando x = −28 (b) | - u | quando u = −15
                              2. (a) | y | quando y = −37 (b) | - z | quando z = −24
                              3. (a) - | p | quando p = 19 (b) - | q | quando q = −33
                              4. (a) - | a | quando a = 60 (b) - | b | quando b = −12

                              Nos exercícios a seguir, preencha, ou = para comparar cada expressão.

                              1. (a) −6__ | −6 | (b) - | −3 | __− 3
                              2. (a) −8__ | −8 | (b) - | −2 | __− 2
                              3. (a) | −3 | __− | −3 | (b) 4 __− | −4 |
                              4. (a) | −5 | __− | −5 | (b) 9 __− | −9 |

                              Nos exercícios a seguir, simplifique cada expressão.

                              1. |8 − 4|
                              2. |9 − 6|
                              3. 8|−7|
                              4. 5|−5|
                              5. |15 − 7| − |14 − 6|
                              6. |17 − 8| − |13 − 4|
                              7. 18 − |2(8 − 3)|
                              8. 15 − |3(8 − 5)|
                              9. 8(14 − 2|−2|)
                              10. 6(13 − 4|−2|)

                              Traduzir frases em expressões com números inteiros

                              Traduza cada frase em uma expressão com números inteiros. Não simplifique.

                              1. (a) o oposto de 8 (b) o oposto de −6 (c) três negativos (d) 4 menos 3 negativos
                              2. (a) o oposto de 11 (b) o oposto de −4 (c) nove negativo (d) 8 menos 2 negativo
                              3. (a) o oposto de 20 (b) o oposto de −5 (c) doze negativos (d) 18 menos 7 negativos
                              4. (a) o oposto de 15 (b) o oposto de −9 (c) sessenta negativo (d) 12 menos 5
                              5. uma temperatura de 6 graus abaixo de zero
                              6. uma temperatura de 14 graus abaixo de zero
                              7. uma elevação de 12 metros abaixo do nível do mar
                              8. uma elevação de 20 metros abaixo do nível do mar
                              9. uma perda de jogo de futebol de 12 jardas
                              10. um ganho de jogo de futebol de 4 jardas
                              11. um ganho de estoque de $ 3
                              12. uma perda de estoque de $ 5
                              13. uma pontuação de golfe acima do par
                              14. uma pontuação de golfe de 3 abaixo do par

                              Matemática cotidiana

                              1. Elevação A maior elevação nos Estados Unidos é o Monte McKinley, Alasca, a 20.320 pés acima do nível do mar. A elevação mais baixa é o Vale da Morte, Califórnia, a 282 pés abaixo do nível do mar. Use números inteiros para escrever a elevação de: (a) Monte McKinley (b) Vale da Morte
                              2. Temperaturas extremas A temperatura mais alta registrada na Terra é 58 ° Celsius, registrada no Deserto do Saara em 1922. A temperatura mais baixa registrada é 90 ° abaixo de 0 ° Celsius, registrada na Antártica em 1983. Use números inteiros para escrever a: (a) temperatura mais alta registrada ( b) temperatura mais baixa registrada
                              3. Orçamentos estaduais Em junho de 2011, o estado da Pensilvânia estimou que teria um superávit orçamentário de US $ 540 milhões. Naquele mesmo mês, o Texas estimou que teria um déficit orçamentário de US $ 27 bilhões. Use números inteiros para escrever o orçamento: (a) superávit (b) déficit
                              4. Matrículas na faculdade Nos Estados Unidos, as matrículas em faculdades comunitárias aumentaram em 1.400.000 alunos de 2007 a 2010. Na Califórnia, as matrículas em faculdades comunitárias diminuíram em 110.171 alunos de 2009 a 2010. Use números inteiros para escrever a mudança na matrícula: (a) crescimento (b) declínio

                              Exercícios de escrita

                              1. Dê um exemplo de um número negativo de sua experiência de vida.
                              2. Quais são os três usos do sinal “-” na álgebra? Explique como eles diferem.

                              Auto-verificação

                              (a) Depois de completar os exercícios, use esta lista de verificação para avaliar seu domínio dos objetivos desta seção.

                              (b) Se a maioria de seus cheques fosse:

                              … Com confiança. Parabéns! Você atingiu os objetivos desta seção. Reflita sobre as habilidades de estudo que você usou para que possa continuar a usá-las. O que você fez para ter certeza de sua capacidade de fazer essas coisas? Seja específico.

                              … Com alguma ajuda. Isso deve ser tratado rapidamente porque os tópicos que você não domina tornam-se buracos no seu caminho para o sucesso. Em matemática, cada tópico se baseia em trabalhos anteriores. É importante ter certeza de que você tem uma base sólida antes de prosseguir. A quem você pode pedir ajuda? Seus colegas de classe e instrutor são bons recursos. Há algum lugar no campus onde professores de matemática estejam disponíveis? Suas habilidades de estudo podem ser melhoradas?

                              ... não, eu não entendo! Este é um sinal de alerta e você não deve ignorá-lo. Você deve obter ajuda imediatamente ou ficará sobrecarregado rapidamente. Consulte seu instrutor assim que puder para discutir sua situação. Juntos, vocês podem traçar um plano para obter a ajuda de que você precisa.


                              Introdução à Programação C ++: Folha de Exercício 6

                              Escreva uma biblioteca de funções de matriz de inteiros com um arquivo de cabeçalho "IntegerArray.h" e um arquivo de implementação "IntegerArray.cpp", que contém as seguintes funções:

                              • Uma função "input_array (a, n)" que permite ao usuário inserir valores para os primeiros n elementos da matriz a.
                              • Uma função "display_array (a, n)" que exibe os valores dos primeiros n elementos da matriz a na tela.
                              • Uma função "copy_array (a1, a2, n)" que copia os primeiros n elementos de a2 para os respectivos primeiros n elementos em a1.

                              Uma função "desvio_padrão (a, n)" que retorna o desvio padrão dos primeiros n elementos de a. (A função "média (a, n)" nas notas de aula pode ajudar. Uma fórmula para o desvio padrão de n valores é fornecida na Folha de Exercícios 3, Questão 3.)

                              Teste as funções em um programa principal adequadamente definido.

                              Questão 2

                              Adapte a função "selection_sort (.)" Nas notas de aula em uma função string de argumento único "string_sort (.)" Que classifica os caracteres em uma string alfabeticamente (mas colocando todas as letras maiúsculas antes de todas as letras minúsculas). A função deve deixar a posição do personagem sentinela inalterada. Teste a função em um programa principal adequado, que deve ser capaz de reproduzir a seguinte entrada / saída:

                              Questão 3

                              Escreva uma função "no_repetitions (.)" Que remove todas as repetições de caracteres de uma string. Teste a função em um programa principal adequado, que deve ser capaz de reproduzir a seguinte entrada / saída:

                              Dica: Como a maioria dos problemas de programação, este exercício é muito mais fácil se você usar abstração funcional.

                              Questão 4

                              Usando matrizes bidimensionais, escreva uma função (e um programa correspondente para testá-la) que multiplica uma matriz mxn de inteiros por uma matriz nxr de inteiros. Use declarações de constantes globais antes do programa principal para fornecer valores de teste para m, n e r. A entrada / saída de exemplo pode ser:


                              PEPs 252 e 253: Mudanças de tipo e classe¶

                              As maiores e mais abrangentes mudanças no Python 2.2 são no modelo de objetos e classes do Python. As alterações devem ser compatíveis com versões anteriores, então é provável que seu código continue a ser executado inalterado, mas as alterações fornecem alguns novos recursos incríveis. Antes de começar, a seção mais longa e complicada deste artigo, vou fornecer uma visão geral das mudanças e oferecer alguns comentários.

                              Há muito tempo, escrevi uma página da Web listando falhas no design do Python. Uma das falhas mais significativas é que é impossível criar uma subclasse de tipos Python implementados em C. Em particular, não é possível criar uma subclasse de tipos integrados, então você não pode simplesmente criar uma subclasse, digamos, de listas para adicionar um único método útil para eles. O módulo UserList fornece uma classe que oferece suporte a todos os métodos de listas e que pode ser subdividida posteriormente, mas há muitos códigos C que esperam uma lista Python regular e não aceitam uma instância de UserList.

                              O Python 2.2 corrige isso e, no processo, adiciona alguns novos recursos interessantes. Um breve resumo:

                              Você pode criar subclasses de tipos integrados, como listas e até mesmo inteiros, e suas subclasses devem funcionar em todos os lugares que requerem o tipo original.

                              Agora é possível definir métodos estáticos e de classe, além dos métodos de instância disponíveis nas versões anteriores do Python.

                              Também é possível chamar métodos automaticamente para acessar ou definir um atributo de instância usando um novo mecanismo chamado propriedades. Muitos usos de __getattr __ () podem ser reescritos para usar propriedades, tornando o código resultante mais simples e rápido. Como um pequeno benefício colateral, os atributos agora podem ter docstrings também.

                              A lista de atributos legais para uma instância pode ser limitada a um determinado conjunto usando slots, tornando possível a proteção contra erros de digitação e talvez possibilitando mais otimizações em versões futuras do Python.

                              Alguns usuários expressaram preocupação com todas essas mudanças. Claro, eles dizem que os novos recursos são legais e se prestam a todos os tipos de truques que não eram possíveis nas versões anteriores do Python, mas também tornam a linguagem mais complicada. Algumas pessoas disseram que sempre recomendaram o Python por sua simplicidade e sentem que sua simplicidade está se perdendo.

                              Pessoalmente, acho que não há necessidade de se preocupar. Muitos dos novos recursos são bastante esotéricos e você pode escrever muito código Python sem precisar estar ciente deles. Escrever uma aula simples não é mais difícil do que nunca, então você não precisa se preocupar em aprender ou ensiná-los, a menos que sejam realmente necessários. Algumas tarefas muito complicadas que antes só eram possíveis em C, agora serão possíveis em Python puro e, na minha opinião, isso é tudo para melhor.

                              Não vou tentar cobrir cada caso e pequenas mudanças que foram necessárias para fazer os novos recursos funcionarem. Em vez disso, esta seção pintará apenas os traços gerais. Consulte a seção Links relacionados, "Links relacionados", para obter mais fontes de informações sobre o novo modelo de objeto do Python 2.2.

                              Classes antigas e novas¶

                              Primeiro, você deve saber que o Python 2.2 realmente tem dois tipos de classes: classes clássicas ou de estilo antigo e classes de estilo novo. O modelo de classe de estilo antigo é exatamente igual ao modelo de classe das versões anteriores do Python. Todos os novos recursos descritos nesta seção se aplicam apenas às classes de novo estilo. Essa divergência não deve durar para sempre, pois as classes de estilo antigo serão abandonadas, possivelmente no Python 3.0.

                              Então, como você define uma classe de novo estilo? Você faz isso criando uma subclasse de uma classe de novo estilo existente. A maioria dos tipos integrados do Python, como inteiros, listas, dicionários e até arquivos, são classes de novo estilo agora. Uma classe de novo estilo chamada objeto, a classe base para todos os tipos integrados, também foi adicionada, portanto, se nenhum tipo integrado for adequado, você pode apenas criar uma subclasse de objeto:

                              Isso significa que as instruções de classe que não têm nenhuma classe base são sempre classes clássicas no Python 2.2. (Na verdade, você também pode alterar isso definindo uma variável de nível de módulo chamada __metaclass__ - consulte PEP 253 para os detalhes - mas é mais fácil apenas criar uma subclasse de objeto.)

                              Os objetos de tipo para os tipos integrados estão disponíveis como integrados, nomeados usando um truque inteligente. Python sempre teve funções integradas chamadas int (), float () e str (). No 2.2, eles não são mais funções, mas objetos de tipo que se comportam como fábricas quando chamados.

                              Para tornar o conjunto de tipos completo, novos objetos de tipo, como dict () e file (), foram adicionados. Aqui está um exemplo mais interessante, adicionando um método lock () aos objetos de arquivo:

                              O agora obsoleto módulo posixfile continha uma classe que emulava todos os métodos de um objeto de arquivo e também adicionou um método lock (), mas essa classe não poderia ser passada para funções internas que esperavam um arquivo embutido, algo que é possível com nosso novo LockableFile.

                              Descritores¶

                              Nas versões anteriores do Python, não havia uma maneira consistente de descobrir quais atributos e métodos eram suportados por um objeto. Havia algumas convenções informais, como definir atributos __members__ e __methods__ que eram listas de nomes, mas muitas vezes o autor de um tipo de extensão ou classe não se preocupava em defini-los. Você poderia voltar a inspecionar o __dict__ de um objeto, mas quando a herança de classe ou um gancho __getattr __ () arbitrário estava em uso, isso ainda poderia ser impreciso.

                              A única grande ideia subjacente ao novo modelo de classe é que uma API para descrever os atributos de um objeto usando descritores foi formalizado. Os descritores especificam o valor de um atributo, informando se é um método ou um campo. Com a API do descritor, métodos estáticos e métodos de classe se tornam possíveis, bem como construções mais exóticas.

                              Descritores de atributos são objetos que vivem dentro de objetos de classe e têm alguns atributos próprios:

                              __doc__ é a docstring do atributo.

                              __get __ (objeto) é um método que recupera o valor do atributo de objeto.

                              __set __ (objeto, valor) define o atributo em objeto para valor.

                              __delete __ (objeto, valor) exclui o valor atributo de objeto.

                              Por exemplo, quando você escreve obj.x, as etapas que o Python realmente executa são:

                              Para métodos, descriptor .__ get __ () retorna um objeto temporário que pode ser chamado e encerra a instância e o método a ser chamado nele. É também por isso que métodos estáticos e métodos de classe agora são possíveis - eles têm descritores que envolvem apenas o método, ou o método e a classe. Como uma breve explicação desses novos tipos de métodos, os métodos estáticos não passam pela instância e, portanto, se assemelham a funções regulares. Os métodos de classe são passados ​​para a classe do objeto, mas não para o objeto em si. Os métodos estáticos e de classe são definidos assim:

                              A função staticmethod () pega a função f () e a retorna embrulhada em um descritor para que possa ser armazenada no objeto de classe. Você pode esperar que haja uma sintaxe especial para a criação de tais métodos (def static f, defstatic f () ou algo parecido), mas nenhuma sintaxe desse tipo foi definida ainda que foi deixada para versões futuras do Python.

                              Mais recursos novos, como slots e propriedades, também são implementados como novos tipos de descritores, e não é difícil escrever uma classe de descritor que faça algo novo. Por exemplo, seria possível escrever uma classe de descritor que possibilitasse escrever pré-condições e pós-condições no estilo Eiffel para um método. Uma classe que usava esse recurso pode ser definida assim:

                              Observe que uma pessoa que usa o novo método eiffel () não precisa entender nada sobre descritores. É por isso que acho que os novos recursos não aumentam a complexidade básica da linguagem. Haverá alguns assistentes que precisam saber sobre isso para escrever o método eiffel () ou o ZODB ou qualquer outra coisa, mas a maioria dos usuários apenas escreverá o código sobre as bibliotecas resultantes e ignorará os detalhes de implementação.

                              Herança múltipla: a regra do diamante¶

                              A herança múltipla também se tornou mais útil por meio da alteração das regras sob as quais os nomes são resolvidos. Considere este conjunto de classes (diagrama retirado de PEP 253 por Guido van Rossum):

                              A regra de pesquisa para classes clássicas é simples, mas não muito inteligente, as classes básicas são pesquisadas em profundidade primeiro, indo da esquerda para a direita. Uma referência a D.save () pesquisará as classes D, B e A, onde save () seria encontrado e retornado. C.save () nunca seria encontrado. Isso é ruim, porque se o método save () de C estiver salvando algum estado interno específico de C, não chamá-lo resultará em que esse estado nunca seja salvo.

                              As classes de novo estilo seguem um algoritmo diferente que é um pouco mais complicado de explicar, mas faz a coisa certa nesta situação. (Observe que o Python 2.3 altera esse algoritmo para um que produz os mesmos resultados na maioria dos casos, mas produz resultados mais úteis para gráficos de herança realmente complicados.)

                              Liste todas as classes básicas, seguindo a regra de pesquisa clássica e inclua uma classe várias vezes se ela for visitada repetidamente. No exemplo acima, a lista de classes visitadas é [D, B, A, C, A].

                              Procure na lista por classes duplicadas. Se algum for encontrado, remova todas as ocorrências, exceto uma, deixando o durar um na lista. No exemplo acima, a lista se torna [D, B, C, A] após eliminar as duplicatas.

                              Seguindo esta regra, referindo-se a D.save () retornará C.save (), que é o comportamento que buscamos. Esta regra de pesquisa é a mesma seguida por Common Lisp. Uma nova função integrada, super (), fornece uma maneira de chegar às superclasses de uma classe sem ter que reimplementar o algoritmo do Python. A forma mais comumente usada será super (classe, obj), que retorna um objeto de superclasse vinculado (não o objeto de classe real). Esta forma será usada em métodos para chamar um método na superclasse, por exemplo, o método save () de D seria parecido com este:

                              super () também pode retornar objetos de superclasse não ligados quando chamados de super (classe) ou super (classe1, classe2), mas isso provavelmente não será útil com frequência.

                              Acesso de atributo

                              Um bom número de classes Python sofisticadas definem ganchos para acesso de atributo usando __getattr __ () mais comumente isso é feito por conveniência, para tornar o código mais legível mapeando automaticamente um acesso de atributo como obj.parent em uma chamada de método como obj.get_parent. Python 2.2 adiciona algumas novas maneiras de controlar o acesso ao atributo.

                              Primeiro, __getattr __ (attr_name) ainda é suportado por classes de novo estilo e nada mudou sobre ele. Como antes, ele será chamado quando for feita uma tentativa de acessar obj.foo e nenhum atributo chamado foo for encontrado no dicionário da instância.

                              As classes de novo estilo também suportam um novo método, __getattribute __ (attr_name). A diferença entre os dois métodos é que __getattribute __ () é sempre chamado sempre que qualquer atributo é acessado, enquanto o antigo __getattr __ () só é chamado se foo não for encontrado no dicionário da instância.

                              No entanto, o suporte do Python 2.2 para propriedades geralmente será uma maneira mais simples de interceptar referências de atributos. Escrever um método __getattr __ () é complicado porque, para evitar a recursão, você não pode usar acessos de atributo regulares dentro deles e, em vez disso, tem que mexer com o conteúdo de __dict__. Os métodos __getattr __ () também acabam sendo chamados pelo Python quando ele verifica outros métodos, como __repr __ () ou __coerce __ (), e então devem ser escritos com isso em mente. Finalmente, chamar uma função em cada acesso ao atributo resulta em uma perda de desempenho considerável.

                              propriedade é um novo tipo integrado que empacota três funções que obtêm, definem ou excluem um atributo e uma docstring. Por exemplo, se você deseja definir um atributo de tamanho que é calculado, mas também configurável, você pode escrever:

                              Isso é certamente mais claro e fácil de escrever do que um par de métodos __getattr __ () / __setattr __ () que verificam o atributo size e o manipulam especialmente enquanto recuperam todos os outros atributos do __dict__ da instância. Os acessos a size também são os únicos que precisam realizar o trabalho de chamar uma função, portanto, as referências a outros atributos são executadas em sua velocidade normal.

                              Finalmente, é possível restringir a lista de atributos que podem ser referenciados em um objeto usando o novo atributo de classe __slots__. Os objetos Python são geralmente muito dinâmicos a qualquer momento, é possível definir um novo atributo em uma instância apenas fazendo obj.new_attr = 1. Uma classe de novo estilo pode definir um atributo de classe denominado __slots__ para limitar os atributos legais a um determinado conjunto de nomes. Um exemplo deixará isso claro:

                              Observe como você obtém um AttributeError na tentativa de atribuir a um atributo não listado em __slots__.

                              Links Relacionados¶

                              Esta seção foi apenas uma visão geral rápida dos novos recursos, fornecendo explicações suficientes para você começar a programar, mas muitos detalhes foram simplificados ou ignorados. Onde você deve ir para obter uma imagem mais completa?

                              https://docs.python.org/dev/howto/descriptor.html é um longo tutorial de introdução aos recursos do descritor, escrito por Guido van Rossum. Se minha descrição abriu seu apetite, leia este tutorial a seguir, porque ele fornece muito mais detalhes sobre os novos recursos e ainda é muito fácil de ler.

                              Em seguida, existem dois PEPs relevantes, PEP 252 e PEP 253. PEP 252 é intitulado “Fazendo os tipos parecerem mais com classes” e cobre a API do descritor. PEP 253 é intitulado “Subtipagem de tipos internos” e descreve as alterações nos objetos de tipo que possibilitam a criação de subtipos de objetos internos. PEP 253 é o PEP mais complicado dos dois e, em alguns pontos, as explicações necessárias dos tipos e metatipos podem fazer sua cabeça explodir. Ambos os PEPs foram escritos e implementados por Guido van Rossum, com assistência substancial do resto da equipe da Zope Corp.

                              Finalmente, existe a autoridade final: o código-fonte. A maior parte do maquinário para o tratamento de tipos está em Objects / typeobject.c, mas você só deve recorrer a ele depois que todas as outras possibilidades forem esgotadas, incluindo postar uma pergunta em python-list ou python-dev.


                              Uma introdução à parte imperativa do C ++

                              Estas notas de aula foram elaboradas para um curso introdutório à programação, usando o núcleo imperativo do C ++, e ministradas aos alunos de MSc (Ciência da Computação) do Imperial College London no início do curso. Os alunos participam de uma série intensiva de palestras e sessões de laboratório ao longo de duas semanas, realizando trabalhos de laboratório usando o compilador GNU g ++ em PCs com um sabor de UNIX. Uma vez que o curso é destinado a graduados em outras disciplinas que não Ciência da Computação, muito pouca experiência anterior em programação é assumida.

                              Listagens de programas nas notas

                              Todos os programas de exemplo mencionados nas notas de aula e todas as respostas de exemplo aos exercícios foram escritos no padrão ANSI / ISO C ++ e foram testados usando o compilador GNU g ++.

                              Livros Recomendados

                              Os livros recomendados para acompanhar este curso são:

                              Walter Savitch, Resolução de Problemas com C ++: Edição Global, 10ª edição, Pearson Education, janeiro de 2018. Um texto introdutório abrangente sobre programação, C ++ e programação orientada a objetos, a 9ª e a 8ª edição também são recomendados.

                              Bjarne Stroustrup, The C ++ Programming Language, Pearson Education, 4ª edição, 2013. O livro de referência "clássico" em C ++ escrito pelo inventor da linguagem, atualizado com detalhes do padrão C ++ 11. Um bom investimento para quem pretende fazer uma quantidade considerável de programação C ++.


                              Parte 4. Regras UN / EDIFACT - Capítulo 2.2 Regras de sintaxe

                              Índice

                              6.2 Ordem dos segmentos e grupos de segmentos em uma mensagem

                              6.4 Estrutura do Elemento de Dados

                              7.2 Exclusão de Elementos de Dados por Omissão

                              7.3 Exclusão de elementos de dados por truncamento

                              7.4 Exclusão de Elementos de Dados de Componentes por Omissão

                              7.5 Exclusão de elementos de dados de componentes por truncamento

                              8.1 Repetição de segmentos

                              8.1.1 Indicação Explícita de Repetição

                              8.1.2 Indicação implícita de repetição

                              8.2 Repetição de Elementos de Dados

                              9.1 Indicação Explícita de Aninhamento

                              9.2 Indicação implícita de aninhamento

                              INTRODUÇÃO

                              1. ESCOPO

                              2. REFERÊNCIAS NORMATIVAS

                              As seguintes normas contêm disposições que, por meio de referência neste texto, constituem disposições desta Norma. No momento da publicação, as edições indicadas eram válidas. Todas as normas estão sujeitas a revisão, e as partes em acordos baseados nesta Norma são encorajadas a investigar a possibilidade de aplicar as edições mais recentes das normas listadas abaixo. Membros da IEC e ISO mantêm registros das Normas Internacionais atualmente válidas.

                              ISO 31 / 0-1981 Princípios gerais relativos a quantidades, unidades e símbolos
                              Processamento de informações ISO 646-1983 - conjunto de caracteres codificados ISO de 7 bits para intercâmbio de informações
                              Processamento de dados ISO 2382 / 1-1984 - Vocabulário - Parte 01: Termos fundamentais ISO 2382 / 4-1987 Processamento de dados - Vocabulário - Seção 04: Organização de dados
                              Intercâmbio de dados ISO 6523-1984 - Estruturas para identificação de organizações
                              ISO 6947 / 2-1983 Processamento de informações - conjuntos de caracteres codificados para comunicação de texto
                              ISO 7372-1986 Trade Data Elements Directory, (UNTDED)
                              ISO 7498-1984 Interconexão de Sistemas Abertos - Modelo Básico de Referência
                              Processamento de informações ISO 8859-1987 - conjuntos de caracteres gráficos codificados de byte único de 8 bits

                              3. DEFINIÇÕES

                              4. NÍVEIS DE SINTAXE

                              5. CONJUNTOS DE PERSONAGENS

                              5.1 Conjunto de Caracteres de Nível A

                              Letras maiúsculas A a Z
                              Numerais 0 a 9
                              Personagem de espaço
                              Ponto final .
                              Vírgula ,
                              Hífen / sinal de menos -
                              Parênteses de abertura (
                              Fechando parênteses )
                              Traço oblíquo (barra) /
                              Sinal de igual =
                              Reservado para uso como:
                              Apóstrofo ' terminador de segmento
                              Sinal de mais + etiqueta de segmento e separador de elemento de dados
                              Cólon : separador de elemento de dados do componente
                              Ponto de interrogação ? personagem de lançamento
                              ? imediatamente antes de um dos caracteres '+:? restaura seu significado normal.
                              por exemplo. 10? + 10 = 20 significa 10 + 10 = 20. O ponto de interrogação é representado por.

                              Os caracteres a seguir fazem parte do conjunto de caracteres de nível A, mas não podem ser usados ​​internacionalmente em transmissões de telex:

                              Ponto de exclamação !
                              Aspa "
                              Sinal de porcentagem %
                              E comercial & amp
                              Asterisco *
                              Ponto e vírgula
                              Sinal de menos & lt
                              Sinal de maior que & gt

                              5.2 Conjunto de caracteres de nível B

                              Este conjunto de caracteres não se destina à transmissão para máquinas de telex.

                              Letras maiúsculas A a Z
                              Letras minúsculas A a Z
                              Numerais 0 a 9
                              Personagem de espaço
                              Ponto final .
                              Vírgula ,
                              Hífen / sinal de menos -
                              Parênteses de abertura (
                              Fechando parênteses )
                              Traço oblíquo (barra) /
                              Apóstrofo '
                              Sinal de mais +
                              Cólon :
                              Sinal de igual =
                              Ponto de interrogação ?
                              Ponto de exclamação !
                              Aspa "
                              Sinal de porcentagem %
                              E comercial & amp
                              Asterisco *
                              Ponto e vírgula
                              Sinal de menos & lt
                              Sinal de maior que & gt

                              6. ESTRUTURAS

                              6.1 Estrutura de Intercâmbio

                              O Service String Advice, UNA e os segmentos de serviço UNB a UNZ devem aparecer na ordem abaixo indicada em um intercâmbio. Pode haver vários grupos funcionais ou mensagens em uma troca e várias mensagens em um grupo funcional. Uma mensagem consiste em segmentos. As estruturas para segmentos e para elementos de dados neles são mostradas em 6.2 e 6.3. O conteúdo dos segmentos de serviço é mostrado no Anexo B. Consulte também a Figura 1.

                              Além dos segmentos de serviço acima, o segmento de serviço UNS pode, quando necessário, ser usado para dividir uma mensagem em seções. Veja o Anexo B.
                              Figura 1 - Estrutura hierárquica de um intercâmbio UNA, UNB, UNZ, UNG, UNE, UNH e UNT são segmentos de serviço, ver 6.1 e Anexo B.

                              No diagrama, os separadores / terminadores de nível A foram usados, consulte 5.1.

                              6.2 Ordem dos segmentos e grupos de segmentos em uma mensagem

                              6.3 Estrutura do Segmento

                              Tag de segmento, composta por
                              Código de Segmento

                              Obrigatório
                              Elemento de dados de componente obrigatório

                              Separador de elemento de dados de componente
                              Indicação de aninhamento e repetição

                              Separador de elemento de dados
                              Elementos de dados simples ou compostos

                              Obrigatório
                              Obrigatório ou condicional, conforme especificado no diretório de segmentos relevantes, consulte 6.4

                              6.4 Estrutura do Elemento de Dados

                              Elemento de dados simples ou obrigatório ou condicional, conforme especificado no diretório de segmentos relevantes
                              Elemento Composto de Dados
                              com
                              Elementos de dados de componentes e
                              Separadores de elementos de dados de componentes Obrigatórios (ver restrição abaixo)
                              Separador de elemento de dados obrigatório (ver restrição abaixo)

                              Não deve haver nenhum separador de elemento de dados componente após o último elemento de dados componente em um elemento de dados composto e nenhum separador de elemento de dados após o último elemento de dados em um segmento.

                              7. COMPRIMINDO

                              7.1 Exclusion of Segments

                              7.2 Exclusion of Data Elements by Omission

                              7.3 Exclusion of Data Elements by Truncation

                              7.4 Exclusion of Component Data Elements by Omission

                              7.5 Exclusion of Component Data Elements by Truncation

                              8. REPETITION

                              8.1 Repetition of Segments

                              8.2 Repetition of data elements

                              Data elements (DE) shall not be repeated within a segment more than the number of times prescribed in the relevant segment directory. If less, the exclusion rules in clauses 7.2 to 7.5 shall apply.
                              It is, however, sometimes practical to structure repeatable elements as component data elements (CE) in composite elements, thereby allowing truncation by the data element separator. This may also apply to specified repeatable sequences of data elements, e.g. the sequence CE1:CE2:CE3.

                              9. NESTING OF SEGMENTS

                              9.1 Explicit Indication of Nesting

                              9.2 Implicit Nesting Indication

                              10. REPRESENTATION OF NUMERIC DATA ELEMENT VALUES

                              10.1 Decimal Mark

                              The ISO representation for decimal mark is the comma ( , ) but point on the line ( . ) is allowed. See ISO 31/0-1981. Both these characters are part of the Level A and B sets in clause 5 and both alternatives are allowed.


                              When the Service string advice, UNA, is used, its third character specifies the one character used in the interchange to represent decimal mark and thus overrides the above alternative use.
                              The decimal mark shall not be counted as a character of the value when computing the maximum field length of a data element. However, allowance has to be made for the character in transmission and reception.
                              When a decimal mark is transmitted, there shall be at least one digit before and after the decimal mark. For values represented by integers only, neither decimal mark nor decimal zeroes are used unless there is a need to indicate the degree of precision.


                              2.2: Introduction to Integers (Part 2)

                              Rational and Real Numbers

                              · Identify the subset(s) of the real numbers that a given number belongs to.

                              · Locate points on a number line.

                              · Identify rational and irrational numbers.

                              You’ve worked with fractions and decimals, like 3.8 and . These numbers can be found between the integer numbers on a number line. There are other numbers that can be found on a number line, too. When you include all the numbers that can be put on a number line, you have the real number line. Let's dig deeper into the number line and see what those numbers look like. Let’s take a closer look to see where these numbers fall on the number line.

                              The fraction , mixed number , and decimal 5.33… (or ) all represent the same number. This number belongs to a set of numbers that mathematicians call rational numbers. Rational numbers are numbers that can be written as a ratio of two integers. Regardless of the form used, is rational because this number can be written as the ratio of 16 over 3, or .

                              Examples of rational numbers include the following.

                              0.5, as it can be written as

                              −1.6, as it can be written as

                              4, as it can be written as

                              -10, as it can be written as

                              All of these numbers can be written as the ratio of two integers.

                              You can locate these points on the number line.

                              In the following illustration, points are shown for 0.5 or , and for 2.75 or .

                              As you have seen, rational numbers can be negative. Each positive rational number has an opposite. The opposite of is , for example.

                              Be careful when placing números negativos on a number line. The negative sign means the number is to the left of 0, and the absolute value of the number is the distance from 0. So to place −1.6 on a number line, you would find a point that is |−1.6| or 1.6 units to the left of 0. This is more than 1 unit away, but less than 2.

                              Place on a number line.

                              It's helpful to first write this improper fraction as a mixed number: 23 divided by 5 is 4 with a remainder of 3, so is .

                              Since the number is negative, you can think of it as moving units to the left of 0. will be between − 4 and − 5.

                              Which of the following points represents ?

                              Incorrect. This point is just over 2 units to the left of 0. The point should be 1.25 units to the left of 0. The correct answer is point B.

                              Correct. Negative numbers are to the left of 0, and should be 1.25 units to the left. Point B is the only point that’s more than 1 unit and less than 2 units to the left of 0.

                              Incorrect. Notice that this point is between 0 and the first unit mark to the left of 0, so it represents a number between −1 and 0. The point for should be 1.25 units to the left of 0. You may have correctly found 1 unit to the left, but instead of continuing to the left another 0.25 unit, you moved right. The correct answer is point B.

                              Incorrect. Negative numbers are to the left of 0, not to the right. The point for should be 1.25 units to the left of 0. The correct answer is point B.

                              Incorrect. This point is 1.25 units to right of 0, so it has the correct distance but in the wrong direction. Negative numbers are to the left of 0. The correct answer is point B.

                              Comparing Rational Numbers

                              When two whole numbers are graphed on a number line, the number to the right on the number line is always greater than the number on the left.

                              The same is true when comparing two integers or rational numbers. The number to the right on the number line is always greater than the one on the left.

                              − 2 is greater than − 3 because − 2 is to the right of − 3

                              3 is greater than 2 because 3 is to the right of 2

                              − 3.1 is greater than − 3.5 because − 3.1 is to the right of − 3.5 (see below)

                              Which of the following are true?

                              Incorrect. −4.6 is to the left of −4.1, so −4.6 < −4.1. However, positive numbers such as 3.2 are always to the right of negative numbers such as −4.1, so 3.2 > −4.1 or −4.1 < 3.2. The correct answer is ii and iv, −3.2 > −4.1 and −4.6 < −4.1.

                              Incorrect. −3.2 is to the right of −4.1, so −3.2 > −4.1. However, positive numbers such as 3.2 are always to the right of negative numbers such as −4.1, so 3.2 > −4.1 or −4.1 < 3.2. The correct answer is ii and iv , −3.2 > −4.1 and −4.6 < −4.1.

                              Incorrect. −3.2 is to the right of −4.1, so −3.2 > −4.1. However, 3.2 is to the left of 4.1, so 3.2 < 4.1. The correct answer is ii and iv , −3.2 > −4.1 and −4.6 < −4.1.

                              Correct. −3.2 is to the right of −4.1, so −3.2 > −4.1. Also, −4.6 is to the left of −4.1, so −4.6 < −4.1.

                              Incorrect. −3.2 is to the right of −4.1, so −3.2 > −4.1. However, positive numbers such as 3.2 are always to the right of negative numbers such as −4.1, so 3.2 > −4.1 or −4.1 < 3.2. Also, 3.2 is to the left of 4.1, so 3.2 < 4.1. The correct answer is ii and iv , −3.2 > −4.1 and −4.6 < −4.1.

                              Irrational and Real Numbers

                              There are also numbers that are not rational. Irrational numbers cannot be written as the ratio of two integers.

                              Any square root of a number that is not a perfect square, for example , is irrational. Irrational numbers are most commonly written in one of three ways: as a root (such as a square root), using a special symbol (such as ), or as a nonrepeating, nonterminating decimal.

                              Numbers with a decimal part can either be terminating decimals ou nonterminating decimals. Terminating means the digits stop eventually (although you can always write 0s at the end). For example, 1.3 is terminating, because there’s a last digit. The decimal form of is 0.25. Terminating decimals are always rational.

                              Nonterminating decimals have digits (other than 0) that continue forever. For example, consider the decimal form of , which is 0.3333…. The 3s continue indefinitely. Or the decimal form of , which is 0.090909…: the sequence “09” continues forever.

                              In addition to being nonterminating, these two numbers are also repeating decimals. Their decimal parts are made of a number or sequence of numbers that repeats again and again. UMA nonrepeating decimal has digits that never form a repeating pattern. The value of , for example, is 1.414213562…. No matter how far you carry out the numbers, the digits will never repeat a previous sequence.

                              If a number is terminating ou repeating, it must be rational if it is both nonterminating e nonrepeating, the number is irrational.


                              Develop Rules for Multiplying Signed Numbers

                              Examples, videos, and solutions to help Grade 7 students learn how to develop rules for multiplying signed numbers.

                              New York State Common Core Math Module 2, Grade 7, Lesson 11

                              Lesson 11 Student Outcomes

                              Students understand the rules for multiplication of integers and that multiplying the absolute values of integers results in the absolute value of the product. The sign, or absolute value, of the product is positive if the factors have the same sign and negative if they have opposite signs.

                              Students realize that and see that it can be proven to be true mathematically through the use of the distributive property and the additive inverse.

                              Students use the rules for multiplication of signed numbers and give real-world examples.

                              To multiply signed numbers, multiply the absolute values to get the absolute value of the product. The sign of the product is positive if the factors have the same sign and negative if they have opposite signs.

                              Example 1: Extending Whole Number Multiplication to the Integers

                              Part A: Complete quadrants 1 and 4 of the table below to show how sets of matching integer cards will affect a player&rsquos score in the Integer Game. For example, three 2&rsquos would increase a player&rsquos score by 0 + 2 + 2 + 2 = 6 points.

                              uma. What patterns do you see in the right half of the table?
                              b. Enter the missing integers in the left side of the middle row, and describe what they represent.
                              c. What relationships or patterns do you notice between the produtcs (values) in quadrant two and the products (values) in quadrant 1?
                              d. What relationships or patterns do you notice between the products (values) in quadrant two and the products (values) in quadrant four?
                              e. Use what you know about the products (values) in quadrants one, two, and four to describe what quadrant three will look like when its products (values) are entered.
                              f. Is it possible to know the sign of a product of two integers just by knowing in which quadrant each integer is located? Explain.
                              g. Which quadrants contain which values? Describe an integer game scenario represented in each quadrant.

                              Exercise 1: Multiplication of Integers in the Real-World

                              Generate real-world situations that can be modeled by each of the following multiplication problems. Use the Integer Game as a resource.

                              Try the free Mathway calculator and problem solver below to practice various math topics. Try the given examples, or type in your own problem and check your answer with the step-by-step explanations.

                              We welcome your feedback, comments and questions about this site or page. Please submit your feedback or enquiries via our Feedback page.


                              2.2: Introduction to Integers (Part 2)

                              The following schedule is tentative and subject to change without notice.

                              Day Topic Leitura Misc.
                              3/2 (M) Course outline Chap. 1
                              3/4 (W) Digital systems Chap. 2.1
                              3/9 (M) Representing and manipulating integers, Part I Chap. 2.2-2.3
                              3/11 (W) Representing and manipulating integers, Part II Chap. 2.2-2.3
                              3/16 (M) Representing and manipulating integers, Part III Chap. 2.2-2.3
                              3/18 (W) Byte ordering Chap. 2.1 PA#1 (due 3/27)
                              3/23 (M) Representing and manipulating floating points Chap. 2.4
                              3/25 (W) Representing and manipulating floating points (cont'd) Chap. 2.4
                              3/30 (M) Machine-level representation of programs Chap. 3.1-3.3
                              4/1 (W) Introduction to IA-32
                              Assembly I: Basic operations
                              Chap. 3.4-3.5
                              4/6 (M) Assembly II: Control flow Chap. 3.6
                              4/8 (W) Assembly II: Control flow (cont'd) Chap. 3.6 PA#2 (due 4/17)
                              4/13 (M) Assembly III: Procedures Chap. 3.7
                              4/15 (W) Assembly III: Procedures (cont'd) Chap. 3.7
                              4/20 (M) No class.
                              4/22 (W) Midterm exam. (15:00-16:20)
                              4/27 (M) Assembly IV: Complex data types Chap. 3.8
                              4/29 (W) Assembly IV: Complex data types (cont'd) Chap. 3.9-3.10
                              5/4 (M) Buffer overflow Chap. 3.3
                              5/6 (W) Class cancelled PA#3 (due 5/15)
                              5/11 (M) Inline assembly and GDB Chap. 3.15
                              5/13 (W) Linking Chap. 7.1-7.5
                              5/18 (M) Linking (cont'd) Chap. 7.6-7.11
                              5/20 (W) Linking (cont'd) Chap. 7.6-7.11
                              5/25 (M) Processor architecture Chap. 4.1-4.3
                              5/27 (W) Advanced processor architecture Chap. 4.4-4.5 PA#4 (due 6/5)
                              6/1 (M) Advanced processor architecture (cont'd) Chap. 4.4-4.5
                              6/3 (W) Memory hierarchy Chap. 6.4-6.6
                              6/8 (M) Operating systems Chap. 8.1-8.4
                              6/10 (W) Operating systems (cont'd)
                              Course summary
                              Chap. 10.1-10.8
                              6/15 (M) No class.
                              6/17 (W) Final exam. (15:00-17:00)

                              Credit: Most of slides for this lecture are based on slides created by textbook authors, Drs. Bryant and O'Hallaron at CMU. (see lecture notes by authors)


                              2.2: Introduction to Integers (Part 2)

                              Number Theory and Cryptography

                              Number Theory is a vast and fascinating field of mathematics, sometimes called "higher arithmetic," consisting of the study of the properties of whole numbers. Primes and Prime Factorization are especially important in number theory, as are a number of functions including the Totien function. The great difficulty required to prove relatively simple results in number theory prompted Gauss, the "prince of mathematics", to remark that "it is just this which gives the higher arithmetic that magical charm which has made it the favorite science of the greatest mathematicians, not to mention its inexhaustible wealth, wherein it so greatly surpasses other parts of mathematics." See Carl Friedrich Gauss to read more about Gauss.

                              Cryptography is the process of transferring information securely, in a way that no unwanted third party will be able to understand the message. It has been used for thousand of years. Number theory and Cryptography are inextricably linked, as we shall see in the following lessons.

                              To begin you will need to acquaint yourself with Cryptography Lesson 2 which includes the concepts of: prime numbers, greatest common divisors, modular arithmetic, etc. To do so, see Cryptography Lesson 2.

                              How can we find prime numbers? Centuries ago, it was thought that if n is an integer then n 2 +n+41 is always prime. This happens to be true for n=0,1,2. 38,39 but fails for n=40 and obviously fails for n=41 (there is a factor of 41 in each part of the addition).
                              Fermat (1601-1665) conjectured that the numbers Fn=2 2 n +1 are primes for all n greater that or equal to 0. He checked this n=0,1,2,3,4. However he stopped there because F5=4,294,967,297. Euler later discovered that 641 divides F5, hence it is not prime. Thus far the only know Fermat primes are the five that Fermat himself originally found. To read more on this see Fermat Number.

                              Legendre and Gauss conjectured, independently, that the number of primes Problem Set 1 Considering why n 2 +n+41 does not give us a prime number for n=41, show that no polynomial can give us a prime number for every integer n.

                              Show that (1+1/2+1/3+. +1/n+. ) goes to infinity. What does this tell us about the ratio of primes vs. integers as n gets large (assuming the Prime Number Theorem is true)?


                              An important property of the integers, which we will find useful is the Well Ordering Principle, which states that every set of positive integers contains a smallest member. Since this property cannot be proved from the usual properties of arithmetic, we will take it as an axiom.

                              GCD Is a Linear Combination:For any nonzero integers a and b, there exist integers s and t such that gcd(a,b)=as+bt. Moreover, gcd(a,b) is the smallest positive integer of the form as+bt.

                              Prova: Consider the set S=0>. Since S is obviously nonempty (if some choice of m and n makes am+bn 0, then r=a-dq=a-(as+bt)q=a-asq-btq=a(1-sq)+b(-tq) which is in S, contradicting the fact that d is the smallest member of S. So, r=0 and d divides a. Analogously (or better yet, by symmetry), d divides b as well. This proves that d is a common divisor of a and b. Now suppose d' is another common divisor of a and b and write a=d'h and b=d'k. Then d=as+bt=(d'h)s+(d'k)t=d'(hs+kt) so that d' is a divisor of d. Thus among all common divisors of a and b, d is the greatest.

                              Euclid's Lemma:If p is a prime that divides ab, then p divides a or p divides b.

                              Prova: Suppose p is a prime that divides ab but does not divide a. We must show that p divides b. Since p does not divide a (and p is prime), a and p are relatively prime so gcd(a,p)=1 and by the previous statement there exist integers s and t such that 1=as+pt. Then b=abs+ptb, and since p divides the right side of this equation, p also divides b.

                              Least Common Multiple: The least common multiple of two nonzero integers a and b is the smallest positive integer that is a multiple of both a and b. We will denote this integer by lcm(a,b).

                              Problem Set 2 :
                              For n=8,12,20 and 25, find all positive integers less than n and relatively prime to n.

                              Find integers s and t so that 1=7s+11t. Show that s and t are not unique.

                              Show that if a and b are positive integers, then ab=lcm(a,b)*gcd(a,b).

                              Let a and b be positive integers and let d=gcd(a,b) and m=lcm(a,b). If t divides both a and b, prove that t divides d. If s is a multiple of both a and b, prove that s is a multiple of m.

                              References and Further Reading:
                              [1]Joseph A. Gallian.Contemporary Abstract Algebra 4th Edition Houghton Mifflin Company, 1998, pages 3-22.
                              [2]Harold M. Stark.An Introduction to Number TheoryMarkham Publishing Company, 1970, pages 1-3.


                              2.2: Introduction to Integers (Part 2)

                              An array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together. This makes it easier to calculate the position of each element by simply adding an offset to a base value, i.e., the memory location of the first element of the array (generally denoted by the name of the array). The base value is index 0 and the difference between the two indexes is the offset.
                              For simplicity, we can think of an array as a fleet of stairs where on each step is placed a value (let’s say one of your friends). Here, you can identify the location of any of your friends by simply knowing the count of the step they are on.
                              Remember: “Location of next index depends on the data type we use”.

                              The above image can be looked at as a top-level view of a staircase where you are at the base of the staircase. Each element can be uniquely identified by its index in the array (in a similar way as you could identify your friends by the step on which they were on in the above example).


                              Assista o vídeo: Números inteiros exercícios parte 2 (Outubro 2021).