SóProvas


ID
2331409
Banca
IF-CE
Órgão
IF-CE
Ano
2017
Provas
Disciplina
Programação
Assuntos

Considere as afirmações sobre os paradigmas de linguagens de programação.

I. Python, Ruby e Java são linguagens de programação interpretada multiparadigma, de tipagem dinâmica e forte.

II. As linguagens de programação Object-Pascal, C++ e Java, embora deem suporte à Orientação a Objetos (OO), não são completamente orientadas a objetos.

III. As linguagens de programação Smalltalk e Ruby são consideradas puramente orientadas a objetos, isto é, tudo é considerado um objeto, até mesmo os tipos básicos da linguagem.

Está(ão) correta(s):

Alternativas
Comentários
  • Analise das opções:

     

    I. Python, Ruby e Java são linguagens de programação interpretada multiparadigma, de tipagem dinâmica e forte.  (Errado Python é uma linguagem fracamente tipada)

     

    II. As linguagens de programação Object-Pascal, C++ e Java, embora deem suporte à Orientação a Objetos (OO), não são completamente orientadas a objetos. (Correto - Java por exemplo possui tipos primitivos que não são objetos)

     

    III. As linguagens de programação Smalltalk e Ruby são consideradas puramente orientadas a objetos, isto é, tudo é considerado um objeto, até mesmo os tipos básicos da linguagem. (Correto)

     

  • Jonathas, na verdade python é fortemente tipada, porém possui tipagem dinâmica. O erro do item I é dizer que Java possui tipagem dinâmica, pois a tipagem é estática.

  • O item I também é falso ao dizer que Java é interpretada.

  • I - Em linguagens fracamente tipadas, os tipos são deduzidos automaticamente. Outra característica é não possui problemas de mixagem ou conversão de tipos. Exemplo: Perl

    $a = 10;
    $b = “20a”;
    $c = $a + $b;
    print $c; #Exibe 30

    Em linguagens fortemente tipadas, elas se importam com o tipo de dados contido em uma variável. Se uma operação for feita entre tipos não compatíveis, um aviso é exibido pelo interpretador ou compilador. São exemplos: Python, Java e Ruby

    int i = 10;
    boolean b = true;
    System.out.println(i + b); //Erro de compilação. Não pode somar int com boolean

    A tipagem das variáveis do Python é dinâmica, pode ser alterada em qualquer hora (assim como ocorre com o Javascript). Mas o Java não possui tipagem dinâmica: uma vez definido o tipo, este se mantém. O Java também é compilado, e não interpretado como as linguagens de script (PHP, Javascript, etc). (Item errado)

     

    II - Correto - Os tipos primitivos da linguagem Java não são objetos

     

    III - Correto

  • Explicando de um jeito bem simples.

    Linguagem com tipagem DINÂMICA:

    PODE:

    x = 'sou uma string'

    x = 10 // agora sou um inteiro

    Linguagem com tipagem ESTÁTICA:

    int x = 1 // sou um inteiro

    x = "quero ser uma string agora, mas não posso, vai dar erro"

    Linguagem FORTEMENTE tipada:

    x = 'uma string' + 3 // não consigo somar uma string e um inteiro, como é o caso do Python

    Linguagem FRACAMENTE tipada:

    x = 'uma string' + 3 // posso somar, x terá o valor "uma string3", como é o caso do Javascript