Buscar

AV1 DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES EM PYTHON

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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.

Outros materiais