Course Code: Course Title: Problem Solving using T 3 2 4
Python P
C
Número da versão 1.0
Pré-requisitos do curso Nenhum
Co-requisitos
Anti-requisitos (se houver). Nenhum
Objetivos: 1. Para entender por que o Python é uma linguagem de script útil
linguagem para desenvolvedores.
2. Aprender a projetar e escrever programas em Python
3. Para entender e aplicar funções com operadores,
estruturas de dados básicas, ramificação e looping
construtos.
4. Aprender conversões de tipo e operações com strings
Resultado Esperado: Ao concluir o curso, os alunos terão a capacidade de
1. Implementar um algoritmo dado como um programa de computador
2. Identificar e depurar erros de codificação em um programa
3. Usar adequadamente os constructos de programação padrão:
repetição, seleção, funções, dados agregados (listas,
conjuntos etc.)
4. Realizar numérico {"conversions":"conversões"}
e string
manipulações
Módulo nº 1 Introdução ao Problema 6 Horas
Resolvendo
Introdução aos computadores, algoritmos, Fluxogramas, conceitos de resolução de problemas: trocando
the values of two variables, Counting, Summation of a set of numbers, Factorial
computation, Sine function computation, Generation of the Fibonacci sequence, Reversing
os dígitos de um inteiro, conversão de base e conversão de caractere para número
Módulo No. 2 Operadores e Ramificações 7 Horas
Variáveis, Tipos de dados, Operadores aritméticos, Operadores de comparação (relacionais)
Operadores de Atribuição, Operadores Lógicos, Operadores Bitwise, Operadores de Membro
Operadores de Identidade, Declarações de Ramificação - se; se-senão, se aninhado; se-senão aninhado;
Módulo nº 3 Laços e Regular 8 Horas
Expressões
Criando Laços com enquanto e para, Diferentes versões de Laços, Laços Aninhados, Laço
Instruções de Controle, Modificação de Laços com break, continue e pass, Regular
Expressões.
Módulo nº 4 Estruturas de Dados Básicas 8 Horas
Criando, Acessando e Manipulando Listas, Conjuntos, Tuplas e Dicionários, Compreendendo
as diferenças entre eles, Aplicações das Estruturas de Dados. Usando Ramificação e
Laços de controle com Estruturas de Dados, Operações de Matrizes usando Numpy.
Módulo nº 5 Funções 8 Horas
Funções pré-definidas, Funções definidas pelo usuário, parâmetros formais e reais, retorno
declaração, Usando Ramificação, Looping e Estruturas de Dados em Funções, Recursão, Interno
fluxo de trabalho de Recursão, Módulos.
Módulo Nº 6 Trabalhando com Números, 8 Horas
Strings e Arquivos
Introdução a Diferentes Tipos Numéricos, Conversão de Tipos, Funções Matemáticas,
Números Aleatórios. Criando e Acessando Strings, Operações em Strings, Indexação,
Fatiamento, Manipulações de String, Funções pré-definidas em Strings.
Entrada/Saída de Arquivos - Abertura e Fechamento de Arquivos, Modos Diferentes, Atributos de Arquivos, Ler, Escrever
Operações, Posições de Arquivos. Renomeando e Excluindo Arquivos, manuseio de vários diretórios
funções.
Livros Didáticos
1. Kenneth Lambert, “Fundamentals of Python: First Programs”, Cengage Learning, 2019
2. Martin C Brown, "A Referência Completa com Python", McGrawHill, 2018.
Referências
1. John Zelle, Programação em Python: Uma introdução à Ciência da Computação, Franklin
Associados, Terceira Edição, 2016.
2. Mark Lutz, “Aprendendo Python”, Quinta edição, O’Reilly, 2013.
3. R.G. Dromey, “Como Resolver Isso por Computador”, Pearson, 1982.
Lista de Experimentos de Laboratório
Semana 1:
1. Escreva um programa em Python para exibir a data e hora atuais.
2. Write a Python program to get the Python version you are using
3. Escreva um programa em Python que aceite um inteiro (n) e calcule o valor de
n+nn+nnn
4. Write a Python program to read and print various types of variables.
5. Escreva um programa em Python para imprimir o calendário de um determinado mês e ano.
Semana 2:
1. Programa em Python para Encontrar a Raiz Quadrada
2. Programa em Python para Calcular a Área e o Perímetro do Triângulo e do Círculo.
3. Programa em Python para Resolver Equação Quadrática
4. Programa em Python para Trocar Duas Variáveis
5. Python Program to Convert Kilometres to Miles
6. Programa em Python para Converter Celsius em Fahrenheit
Semana 3:
1. Programa em Python para verificar se o número dado é par ou ímpar
2. Escreva um programa em Python para obter a diferença entre um número dado e 17, se o
se o número for maior que 17, retorne o dobro da diferença absoluta
3. Escreva um programa em Python para testar se um número está dentro de 100 de 1000 ou 2000.
4. Escreva um programa em Python para calcular a soma de três números dados, se os valores
são iguais, então retorne três vezes a soma deles
[Link] Python para Encontrar o Fatorial de um Número
6. Programa em Python para imprimir o máximo de 3 números
7. Escreva um programa em Python para verificar se um ano dado é bissexto ou não.
Semana 4:
1. Escreva um programa que encontre todos os números que são divisíveis por 7, mas não são um
múltiplos de 5, entre 2000 e 3200 (ambos incluídos).
Os números obtidos devem ser impressos em uma sequência separada por vírgulas em uma única linha.
Considere usar o método range(#início, #fim)
2. Write a python program to check whether a number is divisible by 5 and 11 or not.
3. Escreva um programa em python para verificar se um caractere é alfabético ou não.
4. Escreva um programa em python para inserir qualquer caractere e verificar se é uma letra, dígito ou
caractere especial.
5. Escreva um programa em python para verificar se um caractere é maiúsculo ou minúsculo
alfabeto.
6. Escreva um programa em python para inserir o número da semana e imprimir o dia da semana.
7. Escreva um programa em python para contar o número total de notas em um valor dado
Semana 5:
1. Escreva um programa em Python para imprimir todos os números naturais de 1 a n. - usando loop while
2. Escreva um programa em Python para encontrar a soma de todos os números ímpares entre 1 e n.
3. Escreva um programa em Python para contar o número de dígitos em um número.
4. Escreva um programa em Python para encontrar o primeiro e o último dígito de um número.
5. Escreva um programa em Python para calcular a soma dos dígitos de um número.
6. Escreva um programa em Python para inserir um número e imprimir seu reverso.
Semana 6:
1. Escreva um programa em Python para verificar se um número é palíndromo ou não.
2. Escreva um programa em Python para encontrar a frequência de cada dígito em um número inteiro dado.
3. Escreva um programa em Python para imprimir todos os caracteres ASCII com seus valores.
4. Escreva um programa em Python para encontrar todos os fatores de um número.
5. Escreva um programa em Python para calcular o fatorial de um número.
6. Escreva um programa em Python para imprimir todos os números primos entre 1 e n.
7. Escreva um programa em Python para verificar se um número é um número Armstrong ou Strong.
Número primo ou número perfeito ou número mágico ou não
8. Escreva um programa em Python para imprimir a série de Fibonacci até n termos.
Week 7:
1. Escreva um programa em Python para encontrar o maior número em uma lista
2. Escreva um Programa em Python para Encontrar o Segundo Maior Número em uma Lista
3. Escreva um Programa em Python para Colocar Elementos Pares e Ímpares em uma Lista em Dois Diferentes
Listas
4. Escreva um programa em Python para mesclar duas listas e ordená-las
5. Escreva um Programa em Python para Classificar a Lista de Acordo com o Segundo Elemento em
Sublista
6. Escreva um Programa em Python para Encontrar o Segundo Maior Número em uma Lista Usando
Ordenação por bolha
7. Escreva um programa em Python para classificar uma lista de acordo com o comprimento dos elementos
8. Escreva um Programa em Python para Encontrar a União de duas Listas
9. Escreva um Programa em Python para Encontrar a Interseção de Duas Listas
10. Programa em Python para imprimir todos os elementos de índice ímpar de uma lista
Semana 8:
1. Escreva um programa em Python para obter o 4º elemento e o 4º elemento a partir do final de uma tupla
2. Escreva um programa em Python para encontrar os itens repetidos de uma tupla.
3. Escreva um programa em Python para verificar se um elemento existe dentro de uma tupla
4. Escreva um programa em Python para descompactar uma lista de tuplas em listas individuais.
5. Escreva um programa em Python para substituir o último valor das tuplas em uma lista.
Lista de amostra: [(10, 20, 40), (40, 50, 60), (70, 80, 90)]
Expected Output: [(10, 20, 100), (40, 50, 100), (70, 80, 100)]
6. Escreva um programa em Python para remover tuplas vazias de uma lista de tuplas.
Sample data: [(), (), ('',), ('a', 'b'), ('a', 'b', 'c'), ('d')]
[["",""],["a","b"],["a","b","c"],"d"]
7. Escreva um programa em Python para converter uma lista de tuplas em um dicionário.
8. Escreva um programa em Python para encontrar os 3 maiores valores das chaves correspondentes em um
{"dictionary":"dicionário"}
Semana 9:
1. Escreva uma função em Python que imprima as primeiras n linhas do triângulo de Pascal.
2. Escreva uma função em Python para criar e imprimir uma lista onde os valores são o quadrado dos números
entre 1 e 30 (ambos inclusos).
3. Escreva um programa em Python para detectar o número de variáveis locais declaradas em uma função
4. Escreva um programa em Python que invoque uma função dada após milissegundos específicos.
5. Escreva um programa em Python para obter a soma de um número inteiro não negativo.
Semana 10:
1. Escreva um programa em Python para calcular a soma harmônica de n-1
2. Escreva um programa em Python para calcular a soma dos inteiros positivos de n+(n-2)+(n-4)...
(até n-x =< 0)
3. Escreva um programa em Python para encontrar o maior divisor comum (gcd) de dois inteiros usando
Recursão
4. Implemente qualquer algoritmo de ordenação usando Recursão.
Semana 11:
1. Escreva um programa em Python para substituir todas as ocorrências de 'a' por 'b' em uma string. Se
‘a’ is not present then print appropriate message.
2. Escreva um programa em Python para remover o caractere do índice n de uma string não vazia.
String
3. Escreva um Programa em Python para Detectar se Duas Strings são Anagramas
4. Escreva um Programa em Python para Formar uma Nova String onde o Primeiro Caractere e o
O último caractere foi trocado.
Semana 12:
1. Escreva um programa em Python para obter a última parte de uma string antes de um caractere especificado
2. Escreva um programa em Python para contar as ocorrências de cada palavra em uma frase dada.
3. Escreva uma função em Python para inserir uma string no meio de uma string.
4. Escreva uma função em Python para obter uma string feita dos seus três primeiros caracteres de um especificado
se o comprimento da string for menor que 3, então retorne a string original.
5. Escreva um programa em Python para adicionar um texto de prefixo a todas as linhas em uma string
6. Write a Python program to convert a given string into a list of words.
Alguns exercícios de Programação para Codificação Competitiva (opcional) :
1. Remover caracteres duplicados da string
2. Sequência de Hailstone
3. Conversa Segura por Criptografia e Descriptografia
4. Elementos Especiais em Matriz
5. Próximo Número Maior com o Mesmo Conjunto de Dígitos
6. Subconjunto Menor com Soma Maior que o Número Dado
7. Agrupamento de Anagramas
8. Encontre Duplicatas em um Array em O(n)
9. Encontre Dois Números Únicos do Array em O(n)
10. Padrões Numéricos e Encontrando o Menor Número
11. Distância Mínima para Caminhão Entregar Pedido [Amazon]
12. Gerar Parênteses Balanceados
Mode of Evaluation Avaliação Laboratorial Cumulativa 20%
Teste de Avaliação Contínua-1 20%
Continuous Assessment Test-2 20%
Teste de Avaliação Final 20%
Practical Assessment 20%
Recomendado pelo
Conselho de Estudos sobre
Data de Aprovação pelo
Conselho Acadêmico