Escolar Documentos
Profissional Documentos
Cultura Documentos
CCMP0016
www.univasf.edu.br/~brauliro.leal
ccmp0016.0@gmail.com
Introdução
1. Conceitos de algoritmo.
2. Lógica de programação.
3. Programação estruturada.
4. Estrutura de um algoritmo.
5. Representação de Algoritmos.
6. Estruturas controle de fluxo.
7. Fluxograma.
2
Apresentação
3
Estude
Capítulo 1 – Introdução
Capítulo 2 – Fundamentos
Capítulo 3 – Comandos de Condição
Capítulo 4 – Comandos de Repetição
Capítulo 6 – Recursividade
Capítulo 7 – Vetores
4
Conceitos de informática, hardware, software, dados e informação
5
Algoritmo e Programação
Os programas-fonte são
compilados pelo GCC e
executados por uma CPU.
6
Do Problema ao Programa
Problema: uma peça de roupa custa $125,67 e tem desconto de 15% para
compra a vista. Quanto economizo se compro à vista?
7
Do Problema ao Programa
Prolema: uma peça de roupa custa $125,67 e tem desconto de 15% para
compra a vista. Quanto economizo se compro à vista?
solução
geral
∀x e ∀d
q = (d/100) · x
em que:
x o preço unitário ($)
d o desconto (%)
d/100 o desconto fracionário
q a economia da compra a vista ($)
8
Do Problema ao Programa
Prolema: uma peça de roupa custa $125,67 e tem desconto de 15% para
compra a vista. Quanto economizo se compro à vista?
solução
geral
∀x e ∀d
10
Produção de Programas Executáveis
11
Conceito de algoritmo
13
Representação de Algoritmos
14
Representação de Algoritmos
15
Representação de Algoritmos
16
Representação de Algoritmos
17
Representação de Algoritmos
−b± √ (b −4 ac)
instruções. Elas tem a clareza da matemática.
2
x=
2a
18
Lógica de programação
19
Lógica de programação
21
Pensamento Computacional
Decomposição – dividir o problema em partes menores
Generalização – identificar a solução que resolve o problema
Abstração – transformar as partes do problema em conceitos
Algoritmos – sequência ordenada das etapas para resolver o
22
Lógica de programação
23
Lógica de programação
d = sqrt(b*b-4*a*c)
a x1 = (-b + d)/(2*a) x1
b x2 = (-b - d)/(2*a)
x2
c
24
Lógica de programação
Contagem
Soma
Média
Máximo
Mínimo
Percentagem
Buscar
Ordenar
Operações Básicas
25
Lógica de programação
Cognição ➛ Lenta
Compreensão ➛ Tempo
Conhecimento ➛ Estudo
Habilidade ➛ Dedicação
⇓
Pensamento Crítico
26
Lógica de programação
Contagem
Soma
Média
Máximo
Mínimo
Percentagem
Buscar
Ordenar
Operações Básicas
27
Programação estruturada
28
Fluxograma
Símbolo Instrução
●
padronizar a representação de
Terminal (início e fim do
algoritmos algoritmo)
●
facilitar a leitura e o entendimento Entrada de dados
de programas de computador (via teclado)
●
analisar algoritmos Processamento de dados
(cálculos)
Saída de dados
O fluxograma não fornece detalhes e sim (via vídeo)
apresenta as tarefas, com uma indicação de
início e fim; as setas indicando o fluxo de Estrutura de decisão
(condicional)
controle.
Ponto de conexão
As atividades são representadas
graficamente; existem muitos símbolos para
representar fluxogramas.
29
Fluxograma
30
Fluxograma
31
Programação Estruturada
início
declaração das variáveis e constantes
entrada de dados
cálculos de expressões e atribuições
decisões através de comparações
repetições através de comparações
saída de dados
fim
Fonte: Brookshear, J. Glenn. Computer Science – an overview. 11 th ed. Boston: Addison-Wesley, 2012. 624p.
32
Estruturas de Controle de Fluxo
33
Programação estruturada
34
Programação estruturada
35
Programação estruturada
●
identificador - nome de constante, variável e função dos programas-
fonte.
●
constante – nome de valor fixo utilizado em programas-fonte.
●
variável – nome simbólico de valor utilizado em programas-fonte.
●
variável – nome simbólico de uma região da memória que armazena
um valor que é utilizado por programas-fonte executáveis.
●
declaração de variável – associa o nome de uma variável a um tipo
de dado e suas operações.
●
operações básicas – operações ariméticas, lógicas e relacionais
●
instruções de entrada e saída – são instruções disponíveis nas
linguagens de programação para realizar a comunicação dos programas
executáveis com com os componentes do computador, teclado e vídeo,
em geral.
36
Diagrama de Processos problema-solução
37
Diagrama de Recursos problema-CPU.
Elemento Descrição
Linguagem C Estabelece as regras para a escrita de programas-fonte
Biblioteca Padrão C Funções padronizadas para uso imediato em programas-fonte
Compilador C Traduz programas-fonte em programas executáveis
38
Diagrama de Recursos problema-CPU.
A CPU processa dados de acordo com o programa que recebeu. Então, a pessoa
que escreve programas, primeiramente, tem a missão de escolher as instruções
certas para alcançar os resultado almejados.
39
Fluxo de Produção de Programas Executáveis Escritos em C
macro
editor programa-fonte
em linguagem C GCC
de texto
pré-processamento
programa
fonte C
erro compilador
editor GCC
BPC linker
programa
executável
40
Fluxo de Produção de Programas Executáveis Escritos em C
Elemento Descrição
Linguagem C Estabelece as regras para a escrita de programas-fonte
Biblioteca Padrão C Funções padronizadas para uso imediato em programas-fonte
Compilador C Traduz programas-fonte em programas executáveis
41
Resposta do ChatGPT
42
Resposta do ChatGPT
Como estudante, compare os conceitos de algoritmo e de linguagem de programação?
●
Definição: Um algoritmo é uma sequência de passos lógicos e precisos que descrevem como
resolver um problema. Já uma linguagem de programação é um conjunto de símbolos, palavras
e regras gramaticais que permitem que um programador escreva instruções precisas para o
computador.
●
Independência: Um algoritmo é independente de uma linguagem de programação específica,
ou seja, pode ser escrito em linguagem natural ou em um pseudocódigo, por exemplo. Por outro
lado, uma linguagem de programação é dependente de uma linguagem específica, pois é
escrita em uma linguagem de programação específica.
●
Representação: Um algoritmo pode ser representado de diferentes formas, como em uma lista
de instruções, um fluxograma ou um diagrama de blocos, por exemplo. Já uma linguagem de
programação é representada por um conjunto de símbolos e palavras que seguem uma
estrutura gramatical específica.
●
Execução: Um algoritmo pode ser executado manualmente ou por um computador. Já uma
linguagem de programação deve ser compilada ou interpretada para ser executada em um
computador.
●
Exemplos: Algoritmos podem ser utilizados em diversas áreas, como na matemática, na física,
na química, na biologia e na informática, por exemplo. Já as linguagens de programação
incluem diversas opções, como Python, Java, C++, JavaScript, Ruby, entre outras.
Em resumo, um algoritmo é uma sequência de passos lógicos para resolver um problema, enquanto
uma linguagem de programação é uma forma padronizada de escrever esses passos lógicos em um
formato que o computador possa entender e executar. Um algoritmo é independente de uma
linguagem de programação específica, mas a linguagem de programação é essencial para se escrever
e executar um algoritmo em um computador.
43
Resposta do ChatGPT
Algoritmo
44
Resposta do ChatGPT
Linguagem de Programação
45
Resposta do ChatGPT
46
Resposta do ChatGPT
Não pode ser executado diretamente pelo Pode ser executado diretamente pelo
Execução computador, precisa ser convertido em uma computador após ser compilado ou
linguagem de programação interpretado
47
Programar é ...
48
Questões
49
Águia
A Águia é uma ave de grande porte, com envergadura de até dois metros, atingindo velocidade de
aproximadamente 100 Km/h. A águia simboliza força, grandeza e majestade. Também simboliza pessoa muito
perspicaz, penetrante, que vê longe, superior em inteligência.
50