Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Introdução à Programação de Computadores
Visão Geral e Conceitos Iniciais
Prof. M.Sc. Wagner de A. Perin
Objetivos da Disciplina
Compreender o Conceito de Algoritmo
Utilização de Técnicas de Programação Estruturada
Implementação em uma Linguagem de Programação
Desenvolvimento de Protótipos de Programas
Capacidade de Análise e Solução de Problemas
O que é um Algoritmo?
Algoritmos comuns em nosso dia-a-dia
Receita de Bolo:
Uma receita de cozinha é um exemplo clássico de um algoritmo. Ela lista ingredientes (entradas) e passos específicos (procedimentos) para criar um bolo (saída).
Montar um Móvel:
Instruções para montagem de um móvel também formam um algoritmo, onde cada etapa deve ser seguida em uma ordem específica para obter o produto final montado corretamente.
O que é um Algoritmo?
Importância na Programação:
Algoritmos são a espinha dorsal da programação. Antes de escrever um código, programadores pensam em como criar um algoritmo que solucione o problema em questão.
A capacidade de desenvolver algoritmos eficazes é crucial para o sucesso na ciência da computação.
O que é um Algoritmo?
Vamos Praticar:
Atividade: Pense em uma atividade diária e descreva-a como um algoritmo com entradas, saídas e uma série de passos claros.
O que é um Algoritmo?
Etapas de um Algoritmos
Entrada: Dados iniciais que são fornecidos ao algoritmo.
Processamento: Conjunto de operações realizadas com base nas entradas.
Saída: Resultado final produzido após o processamento.
O que é um Algoritmo?
Etapas de um Algoritmos
O que é um Algoritmo?
Exemplo Prático: Algoritmo para Calcular a Média de Notas
Descrição do Algoritmo:
Entradas: Notas obtidas nas provas (nota1, nota2 e nota3)
Processamento:
Somar as notas das provas
Dividir a soma anterior pelo número de provas
Saída: A média final obtida pelo aluno
O que é um Algoritmo?
Exemplo Prático: Algoritmo para Calcular a Média de Notas
Inicio
 Leia nota1, nota2, nota3
 total = nota1 + nota2 + nota3
 media = total / 3
 Escreva media
Fim
O que é um Algoritmo?
Exemplo Prático: Algoritmo para Calcular a Média de Notas
Inicio
 Leia nota1, nota2, nota3
 total = nota1 + nota2 + nota3
 media = total / 3
 Escreva media
Fim
Entrada
Processamento
Saída
O que é um Algoritmo?
Para Análise e Reflexão:
Como podemos modificar o algoritmo para incluir pesos diferentes para cada prova?
Que outros exemplos do dia a dia poderiam ser modelados como algoritmos?
Qual a importância de definir claramente as entradas e saídas em um algoritmo?
Inicio
 Leia nota1, nota2, nota3
 total = nota1 + nota2 + nota3
 media = total / 3
 Escreva media
Fim
O que é um Algoritmo?
Fluxogramas:
O que é um Algoritmo?
Fluxogramas:
Linguagens de Programação
Definição: Uma linguagem de programação é um método padronizado para comunicar instruções a um computador. É a ferramenta que programadores usam para escrever scripts ou programas que executam operações específicas.
Linguagens de Programação
Por que precisamos de linguagens de programação?
Abstração: Facilitam a escrita de complexas instruções de máquina de forma compreensível.
Eficiência: Permitem aos desenvolvedores criar programas eficientes que podem ser executados rapidamente em máquinas.
Portabilidade: Códigos escritos em linguagens de alto nível podem ser executados em diferentes tipos de sistemas computacionais sem a necessidade de reescrever o código.
Linguagens de Programação
Por que precisamos de linguagens de programação?
Linguagens de Programação
Tipos de Linguagens de Programação
Imperativas/Procedurais: Como C e Python, onde o foco é em "como" resolver o problema.
Declarativas: Como SQL e HTML, focadas em "o que" o problema resolve, sem especificar como.
Funcionais: Como Haskell e Erlang, que usam funções como unidades de construção.
Orientadas a Objeto: Como Java e C#, que organizam código em objetos e classes.
Linguagens de Programação
Exemplos de Linguagens Comuns e suas Utilizações
Python: Amplamente usado em ciência de dados, web, automação e muitos outros campos devido à sua sintaxe simples e legibilidade.
Java: Preferido para aplicativos de servidor, software de grande escala e aplicativos Android.
JavaScript: Essencial para desenvolvimento web front-end e back-end.
Linguagens de Programação
Vantagens de Aprender Linguagens de Programação
Flexibilidade: Capacidade de criar quase qualquer tipo de software, desde aplicativos móveis até grandes sistemas operacionais.
Oportunidades de Carreira: Alta demanda por desenvolvedores em várias indústrias.
Resolução de Problemas: Desenvolve habilidades críticas de pensamento lógico e resolução de problemas.
Linguagens de Programação
Pausa para Discussão
Quais são as características que fazem uma linguagem ser mais adequada para certos tipos de projetos?
Como escolher a linguagem certa para seu projeto ou aprendizado?
Introdução ao Raciocínio Lógico
Definição: Raciocínio lógico é a capacidade de analisar situações e desenvolver soluções coerentes e fundamentadas logicamente. Na programação, é essencial para estruturar pensamentos e algoritmos de maneira eficaz.
Introdução ao Raciocínio Lógico
Importância do Raciocínio Lógico na Programação:
Resolução de Problemas: Capacidade de decompor problemas complexos em partes menores e gerenciáveis.
Otimização de Código: Habilidade para pensar em soluções eficientes que melhoram o desempenho do software.
Detecção de Falhas: Facilidade para identificar e corrigir erros lógicos que poderiam levar a resultados incorretos.
Introdução ao Raciocínio Lógico
Exemplos de Problemas que Utilizam Raciocínio Lógico:
Identificar Padrões: Resolver quebra-cabeças como Sudoku, onde é necessário aplicar sequências lógicas para chegar à solução.
Planejamento de Rotas: Algoritmos de roteamento que determinam o caminho mais curto entre dois pontos, como o algoritmo de Dijkstra.
Introdução ao Raciocínio Lógico
Atividades para Desenvolver o Raciocínio Lógico:
Exercícios de Programação: Praticar com desafios de programação em plataformas como LeetCode, CodeSignal ou HackerRank.
Jogos de Estratégia: Xadrez, Go e outros jogos que exigem previsão de movimentos e estratégia.
Introdução ao Raciocínio Lógico
Dicas para Melhorar o Raciocínio Lógico:
Estudar Lógica Formal: Aprender sobre proposições, quantificadores e inferências lógicas.
Prática Regular: Resolver problemas lógicos diariamente para aprimorar a habilidade de pensar criticamente.
Revisão de Conceitos Matemáticos: Fortalecer o entendimento em áreas como álgebra e geometria que são fundamentais para o raciocínio lógico.
Introdução à Álgebra Booleana
Definição: Álgebra Booleana é um ramo da matemática que lida com variáveis binárias e operações lógicas. Na programação, é fundamental para manipular condições verdadeiras/falsas(1/0), que são a base do processamento de computadores.
Operações Básicas Fundamentais:
AND (E): Verdadeiro se ambas as proposições forem verdadeiras.
OR (OU): Verdadeiro se pelo menos uma das proposições for verdadeira.
NOT (NÃO): Inverte o valor da proposição (de verdadeiro para falso e vice-versa).
Introdução à Álgebra Booleana
Aplicações Práticas na Programação
Controle de Fluxo: Usar condições booleanas para direcionar o fluxo de execução (if, else).
Manipulação de Bits: Operações de bit a bit em criptografia, compressão de dados e outras áreas de TI.
Lógica de Decisão: Desenvolver sistemas que tomam decisões automáticas baseadas em critérios predefinidos (por exemplo, sistemas de recomendação).
Introdução à Álgebra Booleana
Exemplo de Código em Python:
# Demonstração de operações booleanas em Python
a = True
b = False
print("AND (a e b):", a and b)
print("OR (a ou b):", a or b)
print("NOT (a):", not a)
Introdução à Álgebra Booleana
Importância da Álgebra Booleana:
Fundamento da Lógica de Programação: Todos os programas de computador, em algum nível, dependem de lógica booleana para função.
Eficiência e Simplicidade: Permite a implementação de soluções lógicas complexas de maneira simples e direta.
Introduçãoà Álgebra Booleana
Atividade Interativa:
Vamos Resolver Juntos: Determine o resultado de operações booleanas complexas dadas algumas entradas.
(True AND False) OR (NOT True)
(False OR True) AND NOT (False AND True)
NOT (True AND (NOT False OR True))
(True OR False) AND (NOT False)
((True OR NOT False) AND (False))
Introdução à Álgebra Booleana
Atividade Interativa:
Vamos Resolver Juntos: Determine o resultado de operações booleanas complexas dadas algumas entradas.
(True AND False) OR (NOT True): False
(False OR True) AND NOT (False AND True): True
NOT (True AND (NOT False OR True)): False
(True OR False) AND (NOT False): True
((True OR NOT False) AND (False)): False
Introdução à Lógica Proposicional
Definição: É um sistema formal que permite representar e manipular afirmações ou proposições declaradas de forma que seja possível derivar conclusões lógicas. É fundamental na programação para estruturar decisões e operações lógicas.
Elementos:
Proposições: Afirmações que podem ser verdadeiras ou falsas.
Conectivos Lógicos: Incluem os operadores E, OU, NÃO, SE…ENTÃO (implicação) e SE E SOMENTE SE (bicondicional).
Variáveis: Representam os valores verdadeiros ou falsos das proposições.
Introdução à Lógica Proposicional
Operações:
E(˄): Ambas as proposições devem ser verdadeiras para o resultado ser verdadeiro.
OU(˅): Pelo menos uma das proposições deve ser verdadeira para o resultado ser verdadeiro.
NÃO(¬): Inverte o valor da proposição.
SE...ENTÃO(→): Se a primeira proposição é verdadeira, então a segunda também deve ser.
SE E SOMENTE SE(↔): Ambas as proposições devem ter o mesmo valor lógico.
Introdução à Lógica Proposicional
Aplicações na Programação:
Controle de Fluxo: Decisões condicionais baseadas em testes lógicos (if, else).
Validação de Dados: Garantir que os dados inseridos atendem a critérios específicos.
Automação e Monitoramento: Sistemas que realizam ações baseadas em condições específicas.
Introdução à Lógica Proposicional
Exemplo de Código Usando Python:
# Aplicação da lógica proposicional em Python
x = 20
y = 15
# SE x é maior que y ENTÃO print 'x is greater'
if x > y:
 print("x is greater")
# Implicações Lógicas em Programação
Introdução à Lógica Proposicional
Importância da Lógica Proposicional:
Rigor e Precisão: Permite aos programadores definir condições e regras com clareza e precisão.
Fundamento para Estruturas de Dados e Algoritmos: Usada na concepção de algoritmos eficientes e estruturas de dados como árvores de decisão.
Introdução à Lógica Proposicional
Desafio
Imagine um formulário de cadastro com os campos: nome, e-Mail e data de nascimento. Imagine que um cadastro vai ser realizado apenas se:
Todos os campos estiverem preenchidos
O campo e-Mail possuir o caracter ‘@’ 
A pessoa cadastrada for maior de idade
Crie expressões lógicas para validar a entrada do dados deste formulário.
Introdução ao Python
Introdução ao Python
Por que Python?
Python é uma linguagem de programação de alto nível, interpretada e de script que se destaca pela sua simplicidade e legibilidade. É amplamente reconhecida por sua sintaxe clara e uso em diversos campos, como desenvolvimento web, análise de dados, inteligência artificial e muito mais.
Introdução ao Python
Características do Python:
Sintaxe Simples e Claro: Facilita a aprendizagem e a leitura do código.
Versátil e Portátil: Roda em diversos sistemas operacionais como Windows, MacOS e Linux sem necessidade de alterações no código.
Rico em Bibliotecas: Extensa gama de bibliotecas que expandem suas funcionalidades para diferentes aplicações.
Introdução ao Python
Estrutura Básica de um Programa em Python:
Importação de Módulos: Adiciona funcionalidades extras ao seu programa.
Definição de Funções: Blocos de código reutilizáveis projetados para realizar uma tarefa específica.
Execução do Código: Onde o programa realmente começa a executar as instruções escritas.
Introdução ao Python
Exemplo de Código: "Hello, World!"
# Este é um exemplo simples de um programa Python
print("Hello, World!")
Introdução ao Python
Principais Uso do Python na Programação:
Desenvolvimento Web: Frameworks como Django e Flask facilitam a criação de sites complexos.
Ciência de Dados: Bibliotecas como Pandas, NumPy e Matplotlib tornam Python uma excelente escolha para análise e visualização de dados.
Inteligência Artificial e Machine Learning: Bibliotecas como TensorFlow e Scikit-Learn são usadas para construir modelos de aprendizado de máquina.
Introdução ao Python
Por que Python é uma escolha popular para iniciantes?
Curva de Aprendizado Suave: Facilidade para começar e progredir rapidamente.
Comunidade Extensa: Grande número de desenvolvedores e uma ampla variedade de recursos de aprendizagem disponíveis.
Flexibilidade: Permite aos novatos explorar vários campos da tecnologia sem mudar de linguagem.
Introdução ao Python
 Estruturas de Controle Condicional: 
Permitem que os programadores especifiquem que certas ações devem ser executadas apenas se determinadas condições forem atendidas. São fundamentais para adicionar lógica de decisão aos programas.
Introdução ao Python
 Tipos Principais de Condicional em Python: 
if: Executa um bloco de código se a condição especificada for verdadeira.
else: Executa um bloco de código se a condição no if associado não for verdadeira.
elif: Permite a verificação de múltiplas expressões condicionais que são mutuamente exclusivas.
Introdução ao Python
 Exemplo de Código em Python:
# Exemplo de estruturas condicionais em Python
idade = 20
if idade >= 18:
 print("Você é maior de idade.")
else:
 print("Você é menor de idade.")
Introdução ao Python
 Utilização de Condicional para Tomada de Decisão: 
Decisões Simples: Como no exemplo acima, onde a decisão é direta com base na idade.
Decisões Complexas: Combinando múltiplos elif para condições mais específicas, como categorizar faixas etárias ou responder a uma série de critérios.
Introdução ao Python
 Importância das Estruturas Condicional:
Personalização de Fluxo: Permitem que o programa responda de maneira diferente a diferentes entradas ou situações.
Controle de Processos: Cruciais em tarefas como validação de dados, roteamento de solicitações e controle de acesso.
Recapitulação
Hoje:
introduzimos os conceitos fundamentais da programação de computadores.
discutimos a importância do raciocínio lógico, álgebra booleana, e lógica proposicional.
exploramos os fundamentos da linguagem Python, incluindo sua sintaxe básica e estruturas de controle condicionais.
Pontos Altos:
O que é um Algoritmo?
Compreensão do conceito e sua aplicabilidade no desenvolvimento de software.
Linguagens de Programação:
A relevância das diferentes linguagens e a versatilidade do Python.
Estruturas de Controle:
Como o Python utiliza condições para dirigir o fluxo de execução do código.
Próximos Passos:
Para a próxima aula, revisem os materiais disponíveis na plataforma.
Pratiquem o conhecimento de vocês nas atividades propostas.
Obrigado!
image2.png
image3.png
image4.png
image5.png
image6.png
image7.png
image8.png
image1.png

Mais conteúdos dessa disciplina