Você está na página 1de 53

Algoritmos e Programação

Arthur Mariano
Aula – 02
● O que é um Algoritmo?

○ Um algoritmo é um conjunto de regras


claras e bem definidas que descrevem
como resolver um problema ou realizar
uma tarefa específica. Ele é usado para
automatizar processos complexos,
tornando-os mais eficientes e precisos.
Algoritmos são comumente utilizados em
computação para resolver problemas,
tomar decisões e realizar cálculos.
Algoritmo
Lógica de Programação
● O desenvolvimento de toda tecnologia tem como base a lógica de
programação. Estamos entrando na quarta revolução industrial, na qual
tecnologias emergentes estão mudando as formas de trabalho e o jeito de
fazer negócios e gerando novos produtos.

○ Conceitos como cidades e carros inteligentes, big data, internet das


coisas e inteligência artificial estão sempre presentes nas rodadas de
investimento das empresas e nos novos negócios. Startups de
tecnologia brotam a todo instante, e o mercado de trabalho tem uma
demanda latente por profissionais qualificados para atuar como
desenvolvedores de software.
O que é Lógica de Programação?
● É um conjunto de regras e conceitos que norteiam a criação de um código
escrito para uma máquina. Isso faz com que os dados recebidos por ela (por
exemplo, no smartphone, caixa eletrônico, formulário de uma loja virtual)
possam ser convertidos em informações que serão compreendidas por
pessoas ou outras máquinas, seguindo alguma regra preestabelecida.
Lógica
● Usamos a lógica todos os dias.
● O problema é que naturalmente não pensamos de forma lógica. Agimos por
Emoção / Intuição
Como a lógica é utilizada?
• A lógica de um sistema é estruturada por algoritmos. Estes são sequências
de ações que são executadas sobre dados, a fim de transformá-los em
informações que gerem valor. Essas regras são estabelecidas por modelos
de negócio, que podem ser:
 regras para o cadastro em uma universidade;
 preferências para que uma rede social atualize seu feed de notícias;
 etapas para a realização de uma transação bancária;
 perguntas que levam um paciente a indicar os sintomas de uma doença
etc.
Como a lógica é utilizada?
● Quaisquer regras seguidas pelas pessoas em sociedade ou leis da natureza
podem ser convertidas em algoritmos, desde que sejam bem conhecidas e
que se tenha modelos capazes de levar à reprodução de resultados
semelhantes com base em dados de entrada em comum.
• Para definir um fluxo de informação de maneira lógica em um algoritmo, temos as
seguintes ferramentas:
 Estruturas de controle: determinam se uma ação pode ou não ocorrer. Por
exemplo: um carro trafega por uma via e encontra um semáforo. Se o sinal
estiver vermelho, ele deve parar. Se estiver verde, ele pode seguir. Se estiver
amarelo, deve reduzir a velocidade ou avançar, caso esteja próximo o suficiente
do semáforo para passar por ele antes de fechar.
 Laço de repetição: determina uma condição para que uma ação seja repetida.
Uma vez encontrada, ela deve ser interrompida. Exemplo: dirija até chegar à
faculdade.
 Armazenamento de dados: bancos de dados, arquivos de texto, memórias de
dispositivos eletrônicos etc.
 Tipos de dados: categorização das informações, que indicam como deverão ser
processadas. Por exemplo, como texto, números inteiros ou frações.
 Variáveis: são estruturas análogas às variáveis que se aprende em matemática:
“x = 2", "x = y”. São utilizadas para armazenar os valores de dados enquanto são
trabalhados pelo algoritmo.
Pensamento Lógico

● Ser perceber utilizamos vários pensamentos lógicos durante o dia utilizando-se de


eventos e acontecimentos;

● Utilizando pensamento lógico estruturando lidamos muito com a condição “Se”


● Para melhor representar isto é muito utilizado Fluxogramas
○ Retângulo representa um processo ou acontecimento

○ Os losangos representam analise para decisão (Sim / Não)


SAÍDA
O que são linguagens de programação?
● Para o desenvolvimento de uma aplicação é necessário que o algoritmo seja escrito
em uma linguagem de programação, por meio da qual ele é convertido em linguagem
de máquina (bits) e gravado em arquivos. Em um sistema operacional (como
Windows, Android, Linux, IOS), os algoritmos são lidos e se tornam um programa
como o seu navegador web, rede social, editores de texto ou aplicativos no
smartphone (é o que acontece quando se instala um programa ou app).
Sequência Lógica
● Uma sequência lógica é denominada algoritmo. Então podemos dizer em
linguagem mais coloquial, que um algoritmo é uma sequência de passos para
atingir um determinado objetivo. Como podemos ver a lógica de programação
trata basicamente de construir algoritmos que serão transformados em
programas de computador.

● Há como ascender a luz antes de entrar na sala sabendo que o interruptor está
do lado de dentro?
Sequência Lógica

● Sequências lógicas: incluem as instruções (o que deve


ser feito, uma instrução equivale a um comando) e
a ordem em que as instruções devem ser realizadas
(quando). O objetivo da sequência lógica é encontrar um
resultado ou uma solução para um problema.

● Sequências lógicas são etapas a serem realizadas para


atingir um objetivo. São os passos executados para
conseguir solucionar um problema.
Instruções
● Instruções: regras para situações específicas. São as ações da sequência lógica:
informações, ordens ou comando que indicam o que deve ser feito. Cada ordem
de uma sequência lógica é uma instrução (observe que uma ordem isolada não
configura um processo completo).
Instruções
Algoritmo
● Criação de algoritmos necessita estruturação do raciocínio lógico. O algoritmo é a
sequência ordenada de passos.
○ Sequências lógicas devem ser construídas e registradas de forma
padronizada.
● Uso de regras e padrões na construção de sequências lógicas.
Algoritmo
● Entre com valor no quadrado A
● Desenvolva a entrada A
● Insira o valor no quadrado A
● Insira o valor no quadrado B
● Escolher qual operação a ser realizada
● Apresentar soma no quadrado C a soma dos fatores apresentados

4 + 5 = 9
A B C
Programas de Computador

● Programas de computador, portanto são instruções lógicas que obtém dados do


meio externo (que pode ser um usuário ou um arquivo) e fazem o processamento
desses dados gravando as informações alguma mídia como o HD ou enviando-as
para o usuário através de algum dispositivo.
○ Na realidade, tudo o que vemos em um computador em termos de sistema
operacional e aplicativos, são programas que foram desenvolvidos por
programadores.
● O programador necessita ter um pensamento lógico bastante desenvolvido,
analisando sempre causa e efeito, e acima de tudo ser paciente e persistente.
Direitos autorais Programas

● Os programas de computador são protegidos pela Lei de Direitos Autorais. Em


se tratando de obras protegidas pelo Direito Autoral, a proteção aos direitos
relativos ao programa de computador nasce com sua criação. Diferentemente
das demais obras protegidas pelo Direito Autoral, que geram provas materiais
aceitas em direito, os softwares possuem característica de imaterialidade,
sempre presentes em meios magnéticos ou voláteis.
○ Outra característica da proteção do programa de computador é que, por
ser regido pela Lei de Direitos Autorais, protege-se apenas a expressão
literal do programa (código fonte, linguagem), não abrangendo seu
conteúdo técnico. Dessa forma, o registro de programas garante o direito
da autoria, formalizando-se a exclusividade na sua produção, uso e
comercialização.
Exercícios

Crie uma sequência Lógica em algoritmo para


tomar banho
Desenvolver um algoritmo para trocar uma
lâmpada
Exercícios

Crie um algoritmo com uma sequencia lógica


para trocar pneu de um carro
Exemplo de Algoritmo de forma Lúdica

Liguem seu computador e vamos utilizar um jogo chamado Doodle Google

https://www.google.com/logos/2017/logo17/logo17.html?hl=pt-BR

31
Exemplo de Algoritmo vida cotidiana
● Exemplo:
○ Problema: lavar roupa suja Pode ser automatizado
○ Algoritmo:
■ 1) Colocar a roupa em um recipiente
■ 2) Colocar um pouco de sabão e amaciante
■ 3) Encher de água
■ 4) Mexer tudo até dissolver todo o sabão
■ 5) Deixar de molho por vinte minutos
■ 6) Esfregar a roupa
■ 7) Enxaguar
■ 8) Torcer
● O criador da Microsoft Bill Gates já disse que ele escolheria uma
pessoa preguiçosa para fazer um trabalho difícil porque ela
descobriria o jeito mais rápido de fazê-lo.

33
Automação
● O que é Automação?
○ A automação é o uso de tecnologias e ferramentas para realizar tarefas
de maneira mais eficiente e precisa, sem a necessidade de intervenção
humana. A automação pode ser aplicada em muitas áreas, incluindo
produção, logística, gerenciamento de informações, comunicação e
muitas outras.

○ A automação permite que as tarefas sejam realizadas mais rapidamente


e com menos erros, liberando os funcionários para se concentrar em
tarefas de maior valor agregado e tornando a empresa mais competitiva
no mercado. Além disso, a automação pode ajudar a reduzir os custos e
aumentar a eficiência, resultando em uma melhoria na qualidade do
produto ou serviço oferecido.
Exemplo Algoritmo em Linguagem C
● Neste exemplo, o usuário é solicitado a inserir o número de elementos que
deseja calcular a média. Em seguida, o usuário é solicitado a inserir cada um
dos elementos. Finalmente, a média é calculada como a soma de todos os
elementos dividida pelo número de elementos e é exibida com duas casas
decimais.

● Segue abaixo um dos IDE que iremos utilizar em nossas aulas


● https://www.onlinegdb.com/
#include <stdio.h>

int main() {
int n, i;
float num[100], sum=0.0, average;

printf("Enter the number of elements: ");


scanf("%d", &n);

for(i=0; i<n; ++i) {


printf("Enter number %d: ",i+1);
scanf("%f",&num[i]);
sum += num[i];
}

average = sum / n;
printf("Average = %.2f", average);

return 0;
}
Mas o que algoritmo e automação tem a ver
com programação de computadores?
Apresentação do Professor
● Computador
○ Hardware - parte física (a máquina em si)

● Software - parte lógica (programas)


○ Sistema operacional (Windows, Linux, Mac)
○ Aplicativos (apps de escritório, app de câmera, navegador web)
○ Jogos
○ Utilitários (Antivírus, compactador de arquivos)
○ Outros
Programa de Computadores ~ Algoritmo
● Programas de computador são algoritmos executados pelo computador (em
linhas gerais).

● Conclusão: o computador é uma máquina que automatiza a execução de


algoritmos.

● Computador executa qualquer algoritmo?


○ Não. Apenas algoritmos computacionais, o computador não lava roupa
suja.
■ Processamento de dados
■ Cálculos
O que aprendemos até aqui?
● Algoritmo: sequência finita de instruções para se resolver um problema
objetivo e computacional

● Automação: quando uma máquina realiza o algoritmo

● Computador:
○ Hardware / software
○ máquina que automatiza algoritmos (de cálculo)

● Programa de computador: algoritmo executado pelo computador


O que é preciso para fazer um programa de
computador?
● Uma linguagem de programação: Uma linguagem de programação é um
conjunto de símbolos, regras e convenções que permite aos
desenvolvedores escrever códigos que possam ser interpretados ou
compilados por computadores para realizar tarefas específicas.
O que é preciso para fazer um programa de
computador?
● As linguagens de programação variam em sua sintaxe, semântica e
funcionalidade, mas todas fornecem uma maneira de escrever instruções
para que o computador possa executá-las.
○ Algumas linguagens são mais adequadas para aplicações específicas,
como a linguagem C para sistemas embarcados e a linguagem Python
para inteligência artificial e aprendizado de máquina, enquanto outras
são mais versáteis e podem ser usadas em uma ampla gama de
aplicações.
O que é preciso para fazer um programa de
computador?
● A escolha da linguagem de programação a ser utilizada depende de vários
fatores, incluindo o objetivo do projeto, as habilidades dos desenvolvedores e
as ferramentas disponíveis. Ao aprender uma linguagem de programação, é
possível desenvolver aplicações, soluções de software e sistemas para uma
ampla gama de problemas e necessidades.

○ Uma linguagem de programação possui regras léxicas e sintáticas para


se escrever o programa
O que é preciso para fazer um programa
de computador?
● Uma IDE (Integrated Development Environment):
software para escrever, editar, debugar, traduzir,
documentar, e executar o programa;

Visual Studio Code Android Studio DevC++


O que é preciso para fazer um programa de
computador?
● Um compilador: software para transformar o código fonte em código objeto

● Um compilador é um programa que traduz o código fonte escrito em uma


linguagem de programação para uma forma que possa ser executada
diretamente pelo computador. O processo de compilação inclui a verificação
de sintaxe, a tradução para uma forma intermediária, como código objeto, e a
geração de um arquivo executável.
O que é preciso para fazer um programa de
computador?
● Um compilador funciona como um intermediário entre o desenvolvedor e o
computador, traduzindo o código escrito em uma linguagem de programação
para uma forma que o computador possa entender e executar. Além disso, o
compilador pode realizar várias otimizações para melhorar o desempenho do
código compilado.
O que é preciso para fazer um programa de
computador?
● Existem vários tipos de compiladores, incluindo compiladores de baixo nível,
como compiladores de linguagem de máquina, e compiladores de alto nível,
como compiladores de linguagem de programação de propósito geral. O tipo
de compilador escolhido depende das necessidades do projeto e da
linguagem de programação escolhida.
O que é preciso para fazer um programa de
computador?
● Um gerador de código é um tipo de ferramenta de software que ajuda os
desenvolvedores a gerar automaticamente código a partir de modelos ou
especificações. O objetivo principal de um gerador de código é acelerar o
processo de desenvolvimento de software, economizando tempo e esforço
ao escrever códigos repetitivos ou comuns.
O que é preciso para fazer um programa de
computador?
● Máquina virtual é um software que emula um ambiente de hardware para
que os programas possam ser executados. Ela é projetada para permitir que
aplicativos desenvolvidos para um sistema operacional específico sejam
executados em diferentes sistemas operacionais sem modificações. Isso é
especialmente útil quando os aplicativos precisam ser executados em
sistemas que não possuem as bibliotecas ou recursos necessários para
suportá-los.
Gerador de Código e Máquina Virtual
● Em resumo, enquanto um gerador de código ajuda a escrever código, uma
máquina virtual ajuda a executar código em diferentes sistemas operacionais.
Ambas as ferramentas são amplamente utilizadas em diferentes áreas do
desenvolvimento de software para acelerar o processo de desenvolvimento e
torná-lo mais eficiente.

50
● Máquina Virtual: Como o cientista implantou um vírus no
computadores os alienígenas em conhecer qual é o sistema que está
rodando? Ele não tinha conhecimento na Máquina Virtual alienígena.

51
- FacInPro -

Nosso Material e Contato


https://sites.google.com/site/thiesto1
Contato: thiesto.cel@gmail.com
Telegram: @ArthurMariano
53

Agradecemos
a atenção
facinpro.edu.br
@inpro.facinpro

End.: Fone:

Você também pode gostar