Baixe o app para aproveitar ainda mais
Prévia do material em texto
1) Seu chefe pede para você gerenciar um projeto de um cliente importante, o sr. Fulano, da Cicrano's Beltranos, que deseja um software para gerenciamento de estoque. O arquiteto decide que a melhor abordagem para o desenvolvimento de software é o método em cascata, pois ele já tem experiência tanto no método quanto nesse tipo de problema. Mas parte significativa da equipe já tem domínio e prática em uso da metodologia RAD de desenvolvimento. O arquiteto estaria correto quanto à aplicação do modelo em cascata e não da metodologia RAD caso: ( ) O sistema tem prazo curto para desenvolvimento; ( ) Cliente pode pedir alteração de requisitos no meio do projeto; ( X ) Tem de haver uma vasta e detalhada documentação; ( ) Cliente gosta de acompanhar o desenvolvimento do software passo a passo, sugerindo alterações quando vê necessário; ( ) Há muitas ferramentas que aceleram o processo de desenvolvimento. 2) A metodologia RAD tem três bases: a) entrega de protótipos para os clientes; b) colaboração dos clientes sobre protótipos; c) alterações dos dados os comentários dos clientes. E para sua implementação há necessidade de quatro elementos: 1) ferramentas case; 2) metodologia bem definida; 3) pessoas; 4) gestão. Descreva como se relacionam os elementos e as bases do RAD. Sua Resposta: 1) ferramentas case : relacionada com a entrega de protótipos para os clientes; 2) metodologia bem definida : relacionada com a entrega de protótipos os clientes e com colaboração dos clientes sobre protótipos e as alterações dados os comentários dos clientes. 3) pessoas : relacionada com a entrega de protótipos 4) gestão : relacionada com a entrega de protótipos aos clientes e as alterações dados os comentários dos clientes 3) Seu cliente mais fiel deseja construir um aplicativo para dispositivo móvel para controle de ponto de seus funcionários e o quer num prazo curto. Você sabe que seu cliente não tolera falhas e erros, mas não é exigente quanto à interface do sistema. Seus desenvolvedores são habilitados nas metodologias de desenvolvimento: i. Modelo em Cascata ii. RAD Considerando as exigências do seu cliente e essas metodologias, então: ( ) Aplicaria a metodologia i; ( X ) Aplicaria a metodologia ii; ( ) Aplicaria a metodologia i ou ii indistintamente; ( ) Forçaria o time a aprender outra metodologia; ( ) Recusaria a demanda do cliente. 4) Um usuário inicia o uso de uma aplicação que contém um formulário, sendo possível salvar o que já foi digitado, mesmo sem completar o formulário. Entretanto, quando o usuário salva, ao tentar reabrir o formulário em outro momento, as informações que salvou não são recuperadas. Sabendo que por simplicidade e pelo tamanho, o projeto foi implementado em Python usando arquivos de texto para salvar as informações dos usuários, e que foram utilizadas as funções built-in de manipulação de arquivos open/close, para criar/abrir os arquivos. Segue, três possíveis causas do problema: i. arquivo onde se salva o formulário foi aberto com parâmetro 'w'; ii. arquivo onde se salva o formulário foi aberto para leitura apenas; iii. arquivo onde se salva o formulário foi aberto com parâmetro 'a'. Considerando essas opções tem-se que ( X ) Apenas i é possível causa; ( ) Apenas ii é possível causa; ( ) Apenas iii é possível causa; ( ) i e ii são causas possíveis; ( ) ii e iii são causas possíveis; 5) Você é um desenvolvedor júnior e seu chefe pede para você uma funcionalidade relativa a contagem de palavras em um campo de texto em um website. Supondo que você recebe uma string text com o conteúdo da caixa de texto, e supondo que para exibir qualquer mensagem, basta usar o método print. Desenvolva um código em Python para contar as palavras e imprimir a quantidade de palavras. Exemplo: Digamos que na caixa de texto há o conteúdo “este é um texto de exemplo”, então em text haverá essa string. Nessa string há seis palavras, logo a saída na mensagem será “palavras no texto: 6”. Caso em qtd fosse armazenado o número de palavras em text, para gerar a saída acima basta fazer: print(‘palavras no texto:’, qtd). Agora que você sabe como imprimir uma saída na tela, faça o programa que dado um texto, imprima a quantidade de palavras, para implementação da funcionalidade. Sua Resposta: palavras = text.split() qtd = len(palavras) print(‘palavras no texto:’, qtd) 6) Uma string consiste em um conjunto de caracteres, ou seja, é o tipo que utilizamos para armazenar texto. Em Python o tipo de dados string é o denominado de str. Um dado tipo str está entre aspas simples ou duplas. Mesmo não sendo tipos numérico, é possível realizar ações com alguns dos operadores aritméticos. Sobre operadores e strings há as seguintes afirmações. I. Com (+) faz-se soma de tipos string, que significa concatenar, unir duas strings formando apenas uma; II. Com (-) pode-se obter a diferença entre duas strings, ou seja, os caracteres que estão na primeira e não na segunda string; III. (*) é operador de multiplicação, com ele pode-se multiplicar um número inteiro por uma string, obtendo a concatenação deste número da string; IV. (/) permite concatenar a segunda com a primeira string, nessa ordem. Sobre estas afirmações: ( X ) Apenas I e III são verdadeiras; ( ) Apenas I e IV são verdadeiras; ( ) Apenas II e III são verdadeiras; ( ) Apenas II e IV são verdadeiras; ( ) Nenhuma das alternativas anteriores. 7) Python fornece várias bibliotecas de funções para realizar as tarefas padrão. As funções nos ajudam a ler dados de um arquivo, gravar dados em um arquivo e acrescentar dados ao arquivo existente. Além disso, o Python também fornece ao programador funções para levar o cursor a um local específico ou ler dados de um determinado local. BHASIN, H. Python Basics: a self-teaching introduction. Dulles: Mercury Learning and Information, 2019. Variáveis, listas, tuplas, dicionários, conjuntos, arrays, series e dataframes oferecem apenas armazenamento temporário de dados [...]. Os arquivos fornecem retenção de longo prazo de grandes quantidades de dados, mesmo depois que o programa que os criou termine, portanto, os dados mantidos em arquivos são persistentes [...] O Python vê um arquivo de texto como uma sequência de caracteres e um arquivo binário (para imagens, vídeos e outros) como uma sequência de bytes [...] não impõe nenhuma estrutura para um arquivo, portanto, noções como registros não existem nativamente em Python. Os programadores devem estruturar arquivos para atender aos requisitos de seus aplicativos. DEITEL, Paul; DEITEL, Harvey. Python for Programmers. Pearson, 2019. Tendo por base as funcionalidades de armazenamento e acesso a dados via arquivos fornecidas pela linguagem Python e descritas nos textos, avalie as afirmativas abaixo. I. A função OPEN() é utilizada para abrir um arquivo. O programador pode especificar o modo de abertura (leitura, escrita ou ambos). No entanto, apenas arquivos que já existam no disco poderão ser abertos com o OPEN(); II. A função OPEN() permite especificar o modo de abertura de um arquivo. Ao abrir um arquivo para gravação com modo 'w' todos os dados existentes no arquivo serão excluídos; III. A função READLINES() pode ser usada para ler os dados de um arquivo inteiro. Nesse caso, a função retorna cada linha do arquivo como uma string em uma lista de strings; IV. A função SPLIT() pode ser usada como auxiliar na manipulação de arquivos pois, sendo passado um registro lido do arquivo, ela retornará tokens relativos à estrutura dos dados como uma lista; V. A função SEEK() representa a localização no arquivo do próximo caractere a ser lido. É útil no processamento sequencial do arquivo quando o reposicionamento da localização do dado a ser lido é necessário. A respeito dessas afirmativas, assinale a resposta correta. ( ) Apenas as alternativas I, II e III são verdadeiras; ( ) Apenas as alternativas II, III e IV são verdadeiras; ( ) Apenas as alternativas I, III e V são verdadeiras; ( ) Apenas as alternativas III, IV e V são verdadeiras; ( ) Apenas as alternativasI, II e IV são verdadeiras. ( X ) Apenas as alternativas II, III e IV, V são verdadeiras; 8) Seu chefe lhe passou uma demanda que consiste em desenvolver uma aplicação que se conecta com um banco de dados. A aplicação basicamente faz consultas sobre dados de clientes e exibe numa tela. Sabendo disso, você decide usar Python. Sua escolha pode ter sido baseada em? ( ) Ser uma linguagem compilada com fácil conexão com banco de dados; ( ) Permitir conexão complexa com banco de dados e fácil implementação; ( ) Fácil depuração apesar de conexão complexa com banco de dados; ( ) Ser linguagem mais utilizada no mercado; ( X ) Facilitar desenvolvimento e conexão com banco de dados. 9) Seu vizinho é dono de uma padaria. Ele notou que seus clientes poderiam comprar mais se tivessem algum tipo de cartão de fidelização. Você então, objetivando ganhar um dinheiro extra, oferece-se para construir esse sistema de fidelização. Já há um sistema de banco de dados baseado em sqlite, para registro de clientes. Sua tarefa agora é fazer a conexão com esse banco de dados e criar uma tabela chamada fidelidade para armazenar clientes e seus descontos. Sabendo que em fidelidade há dois campos: id_cliente e desconto; e que id_cliente é chave estrangeira, advinda da tabela Cliente. Crie um código para fazer a conexão com o banco, sabendo que este é armazenado com nome padaria_cliente.db. Dica: Para relacionar uma chave estrangeira, basta usar o comando "FOREIGN KEY(id_cliente) REFERENCES Cliente(id_cliente)" Sua Resposta: import sqlite3 as conector conexao = conector.connect('padaria_cliente.db') cursor = conexao.cursor() comando = ’’’ CREATE TABLE Fidelidade( desconto real NOT NULL, id_cliente integer NOT NULL,, FOREIGN KEY(id_cliente) REFERENCES Cliente(id_cliente) --ON DELETE CASCADE --ON UPDATE NO ACTION ); ’’’ cursor.execute(comando) conexao.commit() cursor.close() conexao.close() 10) Você trabalha como DevPython e recebe uma demanda simples para criação da tabela "cliente", que tem duas colunas, "id_cliente" e "nome" no banco de dados "cliente.db" do sqlite. Você aproveitou o código de um colega e adaptou para seu problema (código abaixo), mas a tabela não está sendo salva no banco. Seu amigo deseja te ajudar e sugere as seguintes sugestões para resolver o problema: i. importar a biblioteca correta, "sqlite"; ii. faltou inserir um "conexao.commit()"; iii. fechar conexao antes de cursor; Considerando essas sugestões você diria que ( ) Apenas a i é correta ; ( X ) Apenas a ii é correta; ( ) Apenas a iii é correta; ( ) i, ii e iii são corretas; ( ) i, ii, iii não são corretas.
Compartilhar