![Page 1: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/1.jpg)
Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a programação de computadores
![Page 2: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/2.jpg)
Regilan Meira Silva
Professor de Informática do Campus Ilhéus
Formação em Ciência da Computação com Especialização em Sistemas de Informação e Mestrado em Ciência dos Materiais
Professor efetivo no Instituto Federal da Bahia desde 2008
Atuação como profissional de TI há 11 anos
Ministra aulas de disciplinas relacionadas a desenvolvimento de sistemas: linguagens de programação, banco de dados e análise de sistemas
Site pessoal: http://www.regilan.com.br
E-mail: [email protected]
![Page 3: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/3.jpg)
![Page 4: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/4.jpg)
DISCIPLINA: Introdução a lógica de
programação
TURMA: STI 12
CARGA HORÁRIA: 60 h – 80 h/a
DIA DE AULA: QUINTA-FEIRA
OBJETIVO: Apresentar uma visão geral do
processo de programação para computadoresEMENTA COMPLETA
![Page 5: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/5.jpg)
METODOLOGIA DE TRABALHO: Os conceitos, bem como todo o conteúdo buscando desenvolver habilidades e competências, serão desenvolvidos de forma gradual e incremental, com apresentação de slides e acompanhamento através de notas de aula que estão disponíveis no site do professor (http://www.regilan.com.br).
![Page 6: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/6.jpg)
As aula serão realizadas no laboratório de informática onde será apresentado o conteúdo e exemplos práticos demonstrando o processo de resolução de problemas através da lógica de programação.
As avaliações serão realizadas através de listas de exercícios, atividades práticas no laboratório, trabalhos em grupo e avaliação individual final da disciplina.
![Page 7: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/7.jpg)
![Page 8: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/8.jpg)
Programa de Computador
Um programa de computador é o produto resultante da atividade intelectual de um programador.
Um programa de computador é um conjunto de instruções e dados que algum ser humano define e que ao serem executadas por um computador cumprem algum objetivo
![Page 9: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/9.jpg)
A lógica trata das maneiras de encadear nosso raciocínio para justificar nossas conclusões a partir de fatos básicos
Nas atividades desenvolvidas no dia-a-dia existe o nosso raciocínio lógico que define os passos para que nossa atividade seja completada com sucesso
Se esse raciocínio falha, há grandes chances de não alcançarmos nosso objetivo.
![Page 10: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/10.jpg)
Uma técnica de encadear pensamentos para atingir um determinado objetivo (conceito geral)
Conjunto de regras sintáticas e semânticas usadas para definir um programa de computador
![Page 11: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/11.jpg)
Para que, onde utilizar e qual a importância?
Indispensável para pessoas que trabalham com desenvolvimento de sistemas computacionais
Sistemas computacionais não existiriam sem a lógica de programação
![Page 12: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/12.jpg)
Estes pensamentos são passos executados paraatingir o seu objetivo ou solução de um problema(ALGORITMO).
Problema: Como chegar ao IFBA? Objetivo: Chegar ao IFBA Sequência de passos (pensamentos)
Acordar Fazer a higiene matinal Se alimentar Ir ao ponto de ônibus Pegar um ônibus Chegar no IFBA (OBJETIVO CONCLUÍDO)
![Page 13: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/13.jpg)
É uma sequência finita de passos que levam ao cumprimento de uma tarefa (definição geral).
Analogia: Receita Exemplo: Somar dois números quaisquer
Escreva o primeiro número
Escreva o segundo número
Some o primeiro número com o segundo
Exiba o valor da soma dos dois números
![Page 14: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/14.jpg)
Modelagem:
Conhecer o problema a ser resolvido
Extrair todas as informações a respeito do problema
Implementação:
Descrever claramente os passos para chegar
Organizar os passos em uma sequência lógicaque leve a solução
![Page 15: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/15.jpg)
Essa formalização consiste em detalhar osdados que serão processados e as instruçõesque serão operadas
É importante formalizar a descrição dosalgoritmos segundo alguma convenção paraque todas as pessoas possam entendê-lo damesma forma
![Page 16: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/16.jpg)
Regras de sintaxe: regras que regulam aescrita do algoritmo
São as regras para escrevê-lo corretamente Essas regras indicam quais são os tipos de
comandos que podem ser utilizados etambém como nele escrever
Usam-se três tipos de estruturas: estruturassequências, de decisão e de repetição.
![Page 17: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/17.jpg)
Regras Semânticas: sãos as regras quepermitem interpretar um algoritmo
A semântica do algoritmo sempreacompanha sua sintaxe, fornecendo umsignificado
![Page 18: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/18.jpg)
Mecanismos que representam a formalização dos algoritmos:
Fluxogramas: representação gráfica
Pseudocódigo: linguagem para representar algoritmos
Linguagem de programação: linguagem para comunicação entre computador e homem. Necessária para criação de programas de computador ou aplicativos.
![Page 19: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/19.jpg)
Crie uma seqüência lógica para fazer um omelete.
Descreva com detalhes a seqüência lógica para trocar um pneu de um carro.
Faça uma sequência lógica para trocar uma lâmpada.
![Page 20: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/20.jpg)
• Os algoritmos PODEM ser descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior implementação em uma linguagem de programação, ou seja, quando formos programar em uma linguagem, por exemplo Visual C#, estaremos gerando código em Visual C#.
• Por isso os algoritmos são independentes das linguagens de programação. Ao contrário de uma linguagem de programação não existe um formalismo rígido de como deve ser escrito o algoritmo.
![Page 21: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/21.jpg)
Exemplo de Algoritmo em Pseudocódigo Exemplo de Algoritmo escrito em C
![Page 22: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/22.jpg)
O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação.
Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais.
![Page 23: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/23.jpg)
ENTRADA: São os dados de entrada do algoritmo
PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final
SAÍDA: São os dados já processados
![Page 24: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/24.jpg)
Analogia com o ser humano:
![Page 25: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/25.jpg)
Imagine o seguinte problema: Calcular a média final dos alunos de uma escola. Os alunos realizarão quatro provas: P1, P2, P3 e P4, onde a média final é dada pela formula abaixo:
P1 + P2 + P3 + P44
![Page 26: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/26.jpg)
Para montar o algoritmo proposto, faremos três perguntas:
a) Quais são os dados de entrada?
R: Os dados de entrada são P1, P2, P3 e P4
b) Qual será o processamento a ser utilizado?
R: O procedimento será somar todos os dados de entrada e dividi-los por 4 (quatro)
c) Quais serão os dados de saída?
R: O dado de saída será a média final
![Page 27: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/27.jpg)
Algoritmo: Calcular Média
Receba a nota da prova1
Receba a nota de prova2
Receba a nota de prova3
Receba a nota da prova4
Some todas as notas e divida o resultado por 4
Mostre o resultado da divisão
![Page 28: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/28.jpg)
1) Identifique os dados de entrada, processamento e saída no algoritmo abaixo Receba código da peça Receba valor da peça Receba Quantidade de peças Calcule o valor total da peça (Quantidade * Valor da
peça) Mostre o código da peça e seu valor total
2) Faça um algoritmo para “Calcular o estoque médio de uma peça”, sendo que ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /2
![Page 29: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/29.jpg)
3) O custo ao consumidor de um carro novo é a soma do custo de fábrica com a percentagem do distribuidor e dos impostos (aplicados ao custo de fábrica). Supondo que a percentagem do distribuidor seja de 28% e os impostos de 45%, escrever um algoritmo que leia o custo de fábrica de um carro e escreva o custo ao consumidor.
4) Construa um algoritmo que, tendo como dados de entrada dois pontos quaisquer no plano, P(x1,y1) e P(x2,y2), escreva a distância entre eles. A fórmula que efetua tal cálculo é:
![Page 30: Aula 01: Apresentação da disciplina e introdução a ...€¦ · Aula 01: Apresentação da disciplina e introdução a conceitos relacionados a ... gradual e incremental, com apresentação](https://reader033.vdocuments.mx/reader033/viewer/2022051916/60089709087e416a630bea8d/html5/thumbnails/30.jpg)
Tipos de dados e Instruções Primitivas: Escrevendo os primeiros código em programação C#.