0% acharam este documento útil (0 voto)
8 visualizações3 páginas

Entrega AD1 Programação Web PHP 2023

questoes de php

Enviado por

andrerock1997
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
8 visualizações3 páginas

Entrega AD1 Programação Web PHP 2023

questoes de php

Enviado por

andrerock1997
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Q1 3,0

Q2 3,0

Q3 4,0

Fundação CECIERJ – Vice Presidência de Educação Superior à Distância


Curso de Tecnologia em Sistemas de Computação
Disciplina: Programação de Aplicações Web
Professores: Flávio L. Seixas e Miguel Elias M. Campista
AD1 – 2º Semestre de 2023

A entrega da AD1 deve ser feita da seguinte maneira:


• O código php referente a resposta de cada questão deve ser entregue
em um arquivo php separado;
• Respostas que não envolvam código devem ser enviadas em um
único arquivo pdf;
• Todos os arquivos de resposta deverão ser compactados em um
arquivo .zip.

Obs.1: código php, html ou de qualquer outro tipo deve ser sempre identado
adequadamente. A falta de identação dificulta (ou em alguns casos impossibilita)
a leitura e acarretará redução de pontuação (e em casos mais graves da atribuição
de nota zero à questão).

Obs.2: todos os códigos apresentados como resposta devem obrigatoriamente


executar sem erros indicados pelo interpretador ou compilador. Códigos que não
executarem por erro de sintaxe terão nota zero atribuída

1) Em grafos, o grau de um nó refere-se ao número de vizinhos que este nó possui.


Todas as vizinhanças podem ser representadas na matriz quadrada M[i][j], na
qual o valor ‘1’ representa que o nó ‘i’ é vizinho do nó ‘j’ e o valor ‘0’ representa
que o nó ‘i’ não é vizinho do nó ‘j’. Portanto, para calcular o número de vizinhos
de um nó ‘i’ basta somar todos os ‘1’s da linha ‘i’ da matriz. A figura abaixo
mostra um grafo e a matriz M[i][j] correspondente.
A) (1,5 pontos) Mostre a implementação de uma função em PHP de nome
calculaNumeroVizinhos(). Esta função deve receber a matriz e o
número de nós do grafo e retornar o nó que tiver mais vizinhos. Caso mais
de um nó tenha o mesmo número máximo de vizinhos, basta retornar um
deles. A matriz pode ser representada por um array de array’s.

B) (1,5 pontos) Mostre a implementação de uma função em PHP de nome


grafo_push(). O objetivo da função é adicionar um nó ao grafo. A função
deve receber a matriz quadrada representando o grafo, e um vetor
indicando os nós do grafo que são vizinhos ao nó adicionado. O resultado
deve ser a matriz M[i][j] atualizada, levando em conta o novo nó
inserido. Utilizar a função array_push caso seja necessário inserir
dinamicamente elementos em um array.

2) (3,0 pontos) Um cliente deseja ocultar todos os CPFs de uma longa cadeia de
caracteres. Escrever uma função PHP que receba uma cadeia de caracteres, e que
retorne outra cadeia de caracteres, substituindo todos os CPFs por xxx. Por exemplo,
para a entrada “Eu, Fulano, CPF 123.234.345/56, casado com Beltrana,
CPF 234.345.456/67, gostaria de solicitar o registro do imóvel
adquirido de Sicrano, CPF 345.456.567/78.”, a função deve retornar “Eu,
Fulano, CPF xxx, casado com Beltrana, CPF xxx, gostaria de
solicitar o registro do imóvel adquirido de Sicrano, CPF xxx.”

3) (4,0 pontos) Um aluno deseja implementar um sistema de controle das atividades


complementares (ou ACs) realizadas durante o curso. A linha abaixo representa a
instanciação da classe Aluno. No caso, o primeiro parâmetro é o nome do aluno, e o
segundo é o total de horas em atividades complementares que o aluno precisa realizar.

$aluno = new Aluno("Flavio", 300);

As atividades complementares são instanciadas utilizando a classe


AtividadeComplementar. As linhas abaixo representam a instanciação de 03
atividades complementares. O primeiro parâmetro representa o nome da atividade
complementar, o segundo o total de horas, e o terceiro é o tipo da atividade
complementar.

new AtividadeComplementar("SBSC-2020", 8, AC::Seminarios);

new AtividadeComplementar("PIBIC-2020", 60, AC::ProjetoDePesquisa);

new AtividadeComplementar("SBCAS-2021", 16, AC::Publicacao);

A classe Aluno deve oferecer os seguintes métodos.

● O método adicionar_ac($ac) da classe Aluno deve receber uma instância de


uma atividade complementar e adicioná-la a um array.

● O método listar_acs_tipo($tipo) recebe como parâmetro o tipo da


atividade complementar e reproduz como saída uma tabela HTML mostrando 02
colunas: nome da atividade complementar do tipo especificado no parâmetro, e
as horas correspondentes àquela atividade. A última linha da tabela deverá
apresentar o total de horas complementares que o aluno realizou daquele tipo.

● O método calcular_horas_faltantes_ac() calcula o total de horas


cumpridos em atividades complementares, independente do seu tipo, e retorna o
número de horas em atividades complementares que ainda faltam para o aluno
concluir o curso.

Utilizando programação orientada a objetos em PHP, mostre a implementação das


classes Aluno e AtividadeComplementar, incluindo a classe abstrata AC que
representa o tipo da atividade complementar. Considere os 03 tipos apresentados no
exemplo.

Você também pode gostar