Você está na página 1de 7

Algoritmos e Programação- SG

Aluno(a):GERLENE SOUSA LIMA Data:02/04/24

Atividade Prática II
INSTRUÇÕES:

❖ Esta Atividade contém questões totalizando 10 (dez) pontos;

❖ Você deve preencher dos dados no Cabeçalho para sua identificação:


o Nome / Data de entrega.
❖ Aqui estão as informações sobre o formato de envio de respostas para a atividade:

●Parte do desenvolvimento digitado ou com Print Screen: Word ou PDF (Vl.5,0)


o Utilize a folha da solicitaçã o da atividade para o envio da atividade. Atividade sem a folha será
desconsiderada ou zerada.
o Cada resposta deve estar abaixo da pergunta da atividade. Respostas fora de contexto da
atividade serã o desconsideradas.
o Faça um Print Screen da tela do seu computador com a execuçã o do có digo-fonte. No Print Screen,
deve constar a data e a hora do seu sistema no canto direito.
●Envie o arquivo executável de todo o seu código junto com os demais itens. (Vl.5,0 pontos)

❖ Certifique-se de fazer o upload dos arquivos nos formatos especificados. Arquivos em outros
formatos ou com itens faltando não serão avaliados.
❖ Você poderá utilizar IDE’s de programação como o DEV cpp, NetBeans, Eclipse, jupyter notebook,
Etc
❖ O programa indicado para compactar as respostas é o WinRAR

❖ Envio o arquivo pelo sistema no local indicado;

❖ Em caso de dúvidas consulte o seu Tutor.

Atividade Prática II- Algoritmos e Programação - SG

Nome: GERLENE SOUSA LIMA


CPF: 957.178.463.04

1. Implemente um programa que leia todos os nú meros primos de 0 a 50 e some todos eles no
final.

Soma de Números Primos de 0 a 50:

Python
def soma_primos(n):
"""
Função que soma todos os números primos de 0 a um número n.

Argumentos:
n: Número limite da soma.

Atividade Prática
Retorno:
A soma de todos os números primos de 0 a n.
"""
soma = 0
for numero in range(2, n + 1):
primo = True
for divisor in range(2, int(numero ** 0.5) + 1):
if numero % divisor == 0:
primo = False
break
if primo:
soma += numero
return soma

# Soma dos números primos de 0 a 50


soma_primos_50 = soma_primos(50)

print(f"A soma dos números primos de 0 a 50 é: {soma_primos_50}")

2. Implemente um programa que calcule a distâ ncia entre sua cidade e a cidade de Mossoró . Receba
o nome completo do aluno.

Exemplo: da saída do programa:

Qual a sua cidade? Sã o Paulo/SP


A distâ ncia entre Sã o Paulo e Mossoró /RN é de 226.8 quilô metros,
Meu nome é Pedro Vale.

2. Com base nos seus conhecimentos, implemente um programa que receba o nome completo do
usuá rio e, em seguida, conte a quantidade de letras do nome. Depois, o programa deve listar os
nú meros de 0 a 100 que possuam a mesma quantidade de letras que o nome do usuá rio.

R:

Distância entre Cidades:

Python
from geopy.geocoders import Nominatim

def calcular_distancia(cidade_origem, cidade_destino):


"""
Função que calcula a distância entre duas cidades.

Argumentos:
cidade_origem: Nome da cidade de origem.
cidade_destino: Nome da cidade de destino.

Retorno:
A distância em quilômetros entre as duas cidades.
"""
# Objeto para geolocalização
geolocator = Nominatim(user_agent="meu_app")

# Localização da cidade de origem


origem = geolocator.geocode(cidade_origem)

# Localização da cidade de destino


destino = geolocator.geocode(cidade_destino)

# Cálculo da distância
distancia = round(origem.distance(destino), 2)

return distancia

Serviços de Turismo e Viagens - GUI


# Nome do aluno
nome_aluno = "Pedro Vale"

# Cidades
cidade_origem = input("Qual a sua cidade? ")
cidade_destino = "Mossoró/RN"

# Cálculo da distância
distancia = calcular_distancia(cidade_origem, cidade_destino)

print(f"A distância entre {cidade_origem} e {cidade_destino} é de {distancia}


quilômetros.")
print(f"Meu nome é {nome_aluno}.")

3. Implemente um programa que leia a frase “PLAGIO É CRIME” e conte quantas letras ela tem.

R:

Contagem de Letras e Números:

Python
def contar_letras(nome):

"""

Função que conta a quantidade de letras em um nome.

Argumentos:

nome: Nome completo do usuário.

Retorno:

A quantidade de letras no nome.

"""

numero_letras = 0

for letra in nome:

if letra.isalpha():

numero_letras += 1

return numero_letras

# Nome do usuário

nome_usuario = input("Digite seu nome completo: ")

# Contagem de letras

numero_letras = contar_letras(nome_usuario)

Serviços de Turismo e Viagens - GUI


print(f"Seu nome possui {numero_letras} letras.")

# Lista de números com mesma quantidade de letras

numeros = []

for numero in range(101):

numero_str = str(numero)

if len(numero_str) == numero_letras:

numeros.append(numero)

print(f"Números de 0 a 100 com {numero_letras} letras: {numeros}")

Contagem de Letras em Frase:

Python
frase = "PLAGIO É CRIME"

numero_letras = 0
for letra in frase:
if letra.isalpha():
numero_letras += 1

print(f"A frase '{frase}' possui {numero_letras} letras.")

4. Construa um fluxograma de todos os programas desenvolvidos, incluindo todos os dados do seu


có digo fonte.

FLUXOGRAMA DETALHADO PARA QUESTÃO 1: SOMA DE NÚMEROS PRIMOS DE 0 A 50

Início

1. Definir variáveis:

o n: limite superior da soma (50)


o soma: soma dos números primos (iniciar com 0)

2. Loop para cada número de 2 a n:

o Definir variável:
 primo: flag que indica se o número é primo (iniciar com True)
o Loop para cada divisor de 2 até a raiz quadrada do número:
 Se o número for divisível pelo divisor:
 primo = False (sair do loop interno)
o Se primo for True, o número é primo
o Se o número for primo, adicionar ao valor de soma

Serviços de Turismo e Viagens - GUI


3. Exibir a soma dos números primos

Fim

Detalhes Adicionais:

 O loop para verificar se um número é primo pode ser otimizado usando apenas divisores
ímpares após 2.
 O loop para iterar pelos números pode ser implementado usando while ou for.
 A mensagem final pode ser formatada para melhor apresentação.

Exemplo de Representação do Fluxograma:

Início
|
---- Definir variáveis (n = 50, soma = 0)
|
---- Loop para cada número de 2 a n
| |
| ---- Definir variável (primo = True)
| |
| ---- Loop para cada divisor de 2 até a raiz quadrada do número
| | |
| | ---- Se o número é divisível pelo divisor
| | | |
| | | ---- primo = False (sair do loop interno)
| | |
| | ---- Se primo, o número é primo
| |
| ---- Se o número é primo, adicionar ao valor de `soma`
| |
---- Exibir a soma dos números primos
|
Fim
FLUXOGRAMA DETALHADO PARA QUESTÃO 2: DISTÂNCIA ENTRE CIDADES

Início

1. Entrada de dados:

o cidade_origem: nome da cidade de origem


o cidade_destino: nome da cidade de destino

2. Calcular a distância entre as cidades

o Utilizar API de geolocalização para obter as coordenadas das cidades


o Calcular a distância entre as coordenadas

3. Exibir a distância e o nome do aluno

Fim

Detalhes Adicionais:

 A API de geolocalização pode ser integrada ao código ou utilizada como um serviço externo.
 A fórmula para calcular a distância entre duas coordenadas pode variar.
 A mensagem final pode ser formatada para melhor apresentação.

Exemplo de Representação do Fluxograma:

Serviços de Turismo e Viagens - GUI


Início
|
---- Entrada de dados (cidade_origem, cidade_destino)
|
---- Calcular a distância entre as cidades
| |
| ---- Obter coordenadas das cidades usando API de geolocalização
| |
| ---- Calcular a distância entre as coordenadas
|
---- Exibir a distância e o nome do aluno
|
Fim
FLUXOGRAMA DETALHADO PARA QUESTÃO 3: CONTAGEM DE LETRAS E NÚMEROS

Início

1. Entrada de dados:

o nome_usuario: nome completo do usuário

2. Contar a quantidade de letras no nome

o Loop para cada caractere no nome:


 Se o caractere for uma letra, incrementar o contador de letras

3. Listar os números de 0 a 100 com a mesma quantidade de letras do nome

o Loop para cada número de 0 a 100:


 Converter o número para string
 Se a quantidade de letras na string for igual à quantidade de letras no nome, adicionar o
número à lista

4. Exibir a quantidade de letras no nome e a lista de números

Fim

Detalhes Adicionais:

 O loop para contar as letras pode ser otimizado usando funções de biblioteca.
 A lista de números pode ser formatada para melhor apresentação.

Exemplo de Representação do Fluxograma:

Início
|
---- Entrada de dados (nome_usuario)
|
---- Contar a quantidade de letras no nome
| |
| ---- Loop para cada caractere no nome
| | |
| | ---- Se o caractere for uma letra, incrementar o contador de letras
|

5. Envie o arquivo executá vel de todos os seus có digos junto com os demais itens. (Vl.5,0 pontos)

Serviços de Turismo e Viagens - GUI


Arquivo executável
Um arquivo executá vel é um arquivo que contém um programa que pode ser executado diretamente pelo
sistema operacional, sem a necessidade de um compilador ou interpretador. Ao escrever um có digo-fonte
em uma linguagem de programaçã o, é necessá rio compilar ou interpretar o có digo para criar um arquivo
executá vel. O processo de compilaçã o ou interpretaçã o converte o có digo-fonte em um formato que o
sistema operacional pode entender e executar. O tipo de arquivo executá vel gerado depende da
linguagem de programaçã o utilizada e do sistema operacional em que o programa será executado. Por
exemplo, “em sistemas Windows, os arquivos executá veis geralmente têm a extensã o”.exe", enquanto em
sistemas Unix/Linux, os arquivos executá veis podem ter diferentes extensõ es, como ".out" ou nenhum
tipo de extensã o

WinRAR

Obs: Utilize um software compactado e descompactado de dados para juntar todos os itens:
WinRAR

WinRAR - Software de compactaçã o e arquivamento de arquivos. Ele permite que os usuá rios
compactem arquivos e pastas em um ú nico arquivo de arquivamento, que pode ser facilmente transferido
ou armazenado. O software suporta uma ampla variedade de formatos de compactaçã o, incluindo RAR,
ZIP, CAB, ARJ, LZH, TAR, GZip, UUE, ISO, BZIP2, Z e 7-Zip

Dica de programas para desenvolvimento:

Programa Portugol:

http://siaiacad17.univali.br/webportugol/tutorial_web_portugol.pdf
http://www.decom.ufop.br/guillermo/BCC201/slides/Portugol_BCC201_2.pdf

Programa DEV:

https://bitcaverna.wordpress.com/aprendendo-a-programar-em-dev-c-iniciantes-aula-01/

Programa (gratuito) devc++download :


https://bloodshed-dev-c.softonic.com.br/

Serviços de Turismo e Viagens - GUI

Você também pode gostar