Apol 1 Flashcards
(16 cards)
[Aula 2] No material da disciplina vimos que criar uma classe é o primeiro grande passo para programarmos utilizando o paradigma de orientação a objetos. A classe sozinha, por si só, não faz nada, é somente o molde para podermos criar os registros das “coisas” que existem de verdade. É necessário que um OBJETO seja criado com base na classe. Esse processo é chamado de “INSTANCIAR UM OBJETO”. Isso significa que podemos criar um objeto com os dados do que vamos armazenar, por exemplo.
Imagem
Relacione corretamente as linhas com os comandos de criação da classe Funcionario levando em consideração a figura mostrada acima:
Linha 10 – Def MostraReg()
Linha 5 – Def __Init__
Linha 4 – Class Funcionario
Linhas 11, 12 e 13 - Print
Linhas 6, 7 e 8 – self.variáveis
( ) Comando para definição de uma classe em Python
( ) Realizada a definição da função de construção da classe
( ) Declaração das variáveis que são os atributos da classe
( ) Definição da função interna da classe, conhecida como ‘Método’
( ) Comandos para mandar para o console as informações programadas
Agora, selecione a alternativa que apresenta a sequência correta:
A- 3 – 2 – 5 – 1 – 4
[Aula 3] Os padrões de design de software são como truques ou instruções especiais para resolver esses tipos de problemas quando estamos construindo software. No desenvolvimento de sistema utilizamos padrões de design para construir programas de computador de forma inteligente e organizada. Então, quando estamos programando, encontramos problemas comuns, como criar objetos, organizar as partes de um programa ou fazer objetos trabalharem juntos. Os padrões de design nos dão soluções testadas e aprovadas para esses problemas, analise as afirmativas a seguir que trazem alguns tipos de design patterns vistos em nosso material quanto a sua classificação de seus padrões que são estruturais, comportamentais e de criação:
I. Padrão Estrutural: Adaptador
II. Padrão Comportamental: Proxy
III. Padrão Comportamental: Mediador
IV. Padrão de Criação: Observador
V. Padrão de Criação: Builder
VI. Padrão Estrutural: Factory
São corretas apenas as afirmativas:
D- I, III e V
[Aula 1] As bibliotecas são compostas por um conjunto de funções, classes e métodos que podem ser utilizados por desenvolvedores para realizar tarefas específicas sem a necessidade de reescrever códigos do zero. As bibliotecas são conjuntos de módulos e pacotes que fornecem funcionalidades específicas para facilitar o desenvolvimento de software em diversas áreas e desempenham um papel crucial na expansão das capacidades da linguagem e na criação de uma comunidade de desenvolvedores que compartilham e contribuem com soluções para problemas comuns.
Relacione corretamente algumas das bibliotecas mais populares do Python às suas respectivas características:
Matplotlib
NumPy
PyTorch
Scikit-learn
Flask
( ) Uma biblioteca para criação de gráficos e visualizações estáticas em Python
( ) Biblioteca para desenvolvimento web, facilita a criação de aplicativos e websites
( ) Uma biblioteca para aprendizado de máquina que fornece ferramentas simples e eficientes para análise de dados e modelagem estatística
( ) Biblioteca para aprendizado de máquina e deep learning
( ) Biblioteca para computação numérica que fornece suporte a arrays e matrizes, além de funções matemáticas
Agora, selecione a alternativa que apresenta a sequência correta:
C- 1 – 5 – 4 – 3 – 2
[Aula 1] No exemplo a seguir é possível verificar a utilização de array e lista:
Imagem
No Python existe a lista, que trabalha com conjuntos de dados heterogêneos, e a biblioteca do NumPy apresenta também arrays, que podem trabalhar somente com dados homogêneos. Na prática isso representa que:
E- Os elementos são do mesmo tipo em um array e diferentes em uma lista
[Aula 2] Em programação usamos a palavra paradigma para definir uma forma de programar baseada em algum tipo de padrão. Por exemplo: a primeira forma de programar que as pessoas aprendem é colocar os comandos linha a linha, formando uma sequência de instruções. Essa forma de programar é conhecida como “paradigma procedural”, ou seja, é um padrão de programação baseado em uma sequência de comandos que, ao serem executados, produzem um resultado global. No atual cenário de programação em que as máquinas oferecem um ótimo desempenho e as informações precisam trafegar de forma eficiente e veloz, um paradigma se sobressai sobre os outros, pois resolve a maioria esmagadora das necessidades dos códigos. A principal utilidade desse modo de pensar a programação consiste em poder criar um modelo e replicar tantas vezes quantas necessárias de acordo com o sistema em construção.
Esse paradigma é conhecido como:
A- Programação Orientada a objetos
[Aula 3] Os padrões de design de software são instruções especiais para resolver problemas de desenvolvimento quando estamos construindo software. São utilizados padrões de design para construir programas de computador de forma inteligente e organizada. Usar esses padrões torna o código mais fácil de entender, mais flexível e mais fácil de modificar.
Dentre esses tipos de design patterns, temos um padrão que lidam com a organização de classes e objetos, fornecendo uma maneira decompor estruturas maiores a partir de partes menores, que é conhecido como:
D- Padrões estruturais
[Aula 1] Existe uma plataforma de desenvolvimento de software baseada em nuvem que oferece serviços de controle de versão usando o sistema Git. Essa plataforma foi criada em 2008, tornando-se fundamental para colaboração e gerenciamento de código-fonte em projetos de software. Permite que desenvolvedores colaborem em equipes distribuídas geograficamente, rastreiem alterações no código, gerenciem problemas, revisem códigos e coordenem o desenvolvimento de software de maneira eficiente.
Essa plataforma que ainda oferece recursos como integração contínua, hospedagem de páginas da web e uma variedade de ferramentas para aprimorar o fluxo de trabalho de desenvolvimento é o:
D- GitHub
[Aula 3] Em Programação Orientada a Objetos (POO) temos um conceito em que uma classe pode herdar atributos e métodos de mais de uma classe pai. Isso significa que uma classe pode ser derivada de várias classes base, permitindo que ela compartilhe características e comportamentos de todas essas classes. A utilização desse conceito é bastante importante quando usamos uma classe ABC.
Esse conceito em POO diz respeito a:
C- Herança múltipla
[Aula 2] Existe uma característica dos objetos e das classes na programação Orientada a Objetos que é a ação de separar um aspecto dentre os muitos possíveis e presentes em um cenário.
Essa separação dos objetos e classes na programação orientada a objetos é conhecida como:
B- Abstração
[Aula 1] Na programação em Python, geralmente, as bibliotecas são importadas invocando o comando import e inserindo a biblioteca requerida, conforme exemplo a seguir:
Imagem
Para esse exemplo, a biblioteca importada é a Random e tem como objetivo nesse programa:
C- Gerar números aleatórios entre 0 e 100
[Aula 1] O Git é um controlador de versão, amplamente utilizado para rastrear alterações no código fonte durante o desenvolvimento de um projeto de software. Foi criado por Linus Torvalds em 2005, o mesmo criador do kernel Linux. O Git é projetado para ser eficiente, flexível e escalável, sendo utilizado por desenvolvedores individuais e equipes de programadores.
Esse tipo de sistema, que controla versões, é conhecido como:
B- VCS
[Aula 2] Na programação orientada a objetos torna-se importante representar os elementos que fazem parte do sistema. Existe um diagrama onde fazemos as principais abstrações nos diversos níveis e podemos visualizar as relações dos elementos do sistema. Esse diagrama permite projetar um sistema com os atributos necessários para que os elementos, e seus consequentes objetos, executem suas funções de maneira sincronizada e com limites estabelecidos, ou seja, até que ponto os elementos podem fazer seu papel e onde não poderão mais. É o chamado escopo do projeto.
Esse diagrama é o de:
D- Classe
[Aula 1] Bibliotecas são conjuntos de módulos e pacotes que fornecem funcionalidades específicas para facilitar o desenvolvimento de software em diversas áreas. São compostas por um conjunto de funções, classes e métodos que podem ser utilizados por desenvolvedores para realizar tarefas específicas sem a necessidade de reescrever códigos do zero. As bibliotecas desempenham um papel crucial na expansão das capacidades da linguagem e na criação de uma comunidade de desenvolvedores que compartilham e contribuem com soluções para problemas comuns.
Relacione corretamente algumas das bibliotecas mais populares do Python às suas respectivas características:
TKInter
Plotly
PyGame
Pandas
Requests
( ) Uma biblioteca para manipulação e análise de dados, oferecendo estruturas de dados poderosas como DataFrame para trabalhar com dados tabulares
( ) Uma biblioteca para criação de gráficos interativos e dashboards
( ) Uma biblioteca para realizar requisições HTTP de forma fácil e eficiente
( ) Biblioteca para auxílio na construção de jogos em Python
( ) Biblioteca nativa no Python para geração de janelas com diversas possibilidades de elementos para interação, como botões, rótulos, campos para inserção de dados entre outros
Agora, selecione a alternativa que apresenta a sequência correta:
D- 4 – 2 – 5 – 3 – 1
[Aula 1] No Python existe a lista, que trabalha com conjuntos de dados heterogêneos, e a biblioteca do NumPy apresenta também arrays, que podem trabalhar com conjuntos de dados de um só tipo, ou seja, homogêneos. A principal diferença entre elas é que todos os elementos de um array ou matriz devem ser do mesmo tipo de dado, e as listas admitem tipos diferentes em seus registros. O módulo array fornece uma implementação mais compacta de conjuntos de dados do que as listas. Para uso de array é necessário a importação do módulo array. No pacote NumPy existe uma biblioteca que é a ndarray, analise as afirmativas a seguir que trazem as principais características do ndarray:
I. Estrutura N-dimensional: O ndarray é uma matriz multidimensional que pode ter qualquer número de dimensões. Pode ser unidimensional (vetor), bidimensional (matriz), tridimensional ou ainda maior
II. Elementos homogêneos: Todos os elementos em um ndarray devem ser do mesmo tipo dedado. Isso significa que todos os elementos em uma única matriz são do mesmo tipo, o que permite operações eficientes em grandes conjuntos de dados
III. Indexação eficiente: O ndarray suporta uma variedade de métodos para acessar, modificar e manipular seus elementos, mas não inclui fatiamento (slicing) e indexação booleana
IV. Operações numéricas: NumPy fornece funções e operadores que podem ser aplicados a ndarrays de maneira eficiente, o que é crucial para aplicações científicas e computação numérica
V. Broadcasting: NumPy não suporta broadcasting, o que não permite que operações sejam realizadas em ndarrays de diferentes formas e tamanhos
São corretas apenas as afirmativas:
C- I, II e IV
[Aula 3] Em Python, é possível utilizar um arquivo contendo definições e declarações de Python. Esse arquivo possui a extensão “.py” e pode conter funções, classes e variáveis, bem como instruções executáveis. Eles permitem organizar o código Python em arquivos separados para melhorar a modularidade, a legibilidade e a reutilização do código. Eles também facilitam a manutenção e a colaboração em projetos maiores, pois diferentes partes do código podem ser isoladas em arquivos independentes.
Esse tipo de arquivo no Python é conhecido como:
A- Módulo
[Aula 2] Quando programamos usando a orientação a objetos podemos utilizar uma base de código para mais do que uma classe. Isso pode acontecer fazendo uma vinculação de uma classe com outra. Em outras palavras, uma classe receberá os atributos e métodos de outra classe. Por exemplo: vamos criar uma classe ‘Veiculo’, que terá seus atributos e métodos vindos de outra classe, chamada agora de subclasse.
Esse tipo de estruturação da programação orientada a objetos é conhecido como:
D- Herança