Escolar Documentos
Profissional Documentos
Cultura Documentos
Programação
Com Raphael Barbieri
Sumário
Sumário
Módulo 1...................................................................................................................................................... 5
Lição 1: Objetivos do módulo .................................................................................................................... 6
Lição 2: Definindo a Lógica de Programação ............................................................................................ 6
Lição 3: Como funciona a web? ................................................................................................................ 7
O que é a internet .................................................................................................................................. 7
O caminho da internet ........................................................................................................................... 8
Clientes e servidores da web ................................................................................................................. 8
Partes fundamentais da web ................................................................................................................. 9
Tipos de aplicação web ......................................................................................................................... 9
Como funcionam as aplicações web...................................................................................................... 9
Lição 4: O que são algoritmos................................................................................................................. 10
Como funcionam os programas? ......................................................................................................... 10
Como o algoritmo é dividido? .............................................................................................................. 10
Lição 5: Formas de representação de algoritmos.................................................................................... 11
Lição 6: Regras para criação de algoritmos ............................................................................................ 12
Conhecendo os tipos de dados ........................................................................................................... 12
Quais as estruturas dentro dos algoritmos?......................................................................................... 13
Lição 7: Quais os tipos de linguagens de programação .......................................................................... 14
Qual a base da linguagem de programação? ...................................................................................... 15
Quais os tipos da linguagem de programação? ................................................................................... 15
Lição 8: Conhecendo o pseudocódigo .................................................................................................... 16
Quais os tipos da linguagem de programação? ................................................................................... 16
Tipos de dados do Portugol ................................................................................................................. 16
Exemplo de código dentro do PortugolStudio ...................................................................................... 17
Lição 10: O que são variáveis? ............................................................................................................... 17
Lição 11: O que são constantes? ............................................................................................................ 18
Lição 12: Quais os tipos de operadores .................................................................................................. 18
Dados aritméticos ................................................................................................................................ 19
Dados relacionais ................................................................................................................................ 19
Dados lógicos ...................................................................................................................................... 19
Lição 14: 5 passos para aplicar o que você aprendeu............................................................................. 20
Módulo 2.................................................................................................................................................... 21
Lição 1: Objetivos do módulo .................................................................................................................. 22
Lição 2: Conhecendo as estruturas de tomada de decisão ..................................................................... 22
Tipos de estruturas de tomada de decisão .......................................................................................... 22
Lição 6: Conhecendo as estruturas de repetição .................................................................................... 25
Lição 10: 5 passos para aplicar o que você aprendeu............................................................................. 27
Módulo 3.................................................................................................................................................... 28
Lição 1: Objetivos do módulo .................................................................................................................. 29
Lição 2: Conhecendo estruturas de dados .............................................................................................. 29
Lição 3: O que são vetores? ................................................................................................................... 30
Como os vetores funcionam ................................................................................................................ 30
Sintaxe da criação de um vetor ........................................................................................................... 31
Lição 6: O que são matrizes?.................................................................................................................. 31
Como as matrizes funcionam .............................................................................................................. 31
Sintaxe da criação de um matriz.......................................................................................................... 32
Lição 9: 5 passos para aplicar o que você aprendeu .............................................................................. 32
Direitos desta edição reservados
A Voitto Treinamento e Desenvolvimento
www.voitto.com.br
Raphael Barbieri vem desde 2007 na EiTV estudando e implementando novas soluções de
hardware e software para Sistemas de TV Digital utilizando metodologias ágeis como
Scrum, FDD (Feature Driven Development) ou Kanban junto com equipes de
desenvolvimento para arquitetar a melhor solução para o cliente, sendo responsável pela
estruturação de equipes, acompanhamento de prazos, padrões, qualidade e entrega de
softwares on-premise ou cloud based.
É PROIBIDA A REPRODUÇÃO
Nenhuma parte desta obra poderá ser reproduzida, copiada, transcrita ou mesmo
transmitida por meios eletrônicos ou gravações sem a permissão, por escrito, do editor.
Os infratores serão punidos pela Lei n° 9.610/98
Módulo 1
Introdução a Lógica de
Programação
Lição 1: Objetivos do módulo
Busca-se demonstrar os conceitos iniciais da Lógica de Programação, explicando seus
princípios fundamentais, diferentes tipos de linguagens e as noções de algoritmos com suas formas
de representações. Para finalizar é apresentado mais detalhadamente as variáveis e constantes,
apresentando as respectivas declarações.
Mesmo sem ser perceptível, no fim, todas as nossas ações são consequência de uma
cadeia de outras ações menores que nos levaram até uma atitude final.
⮚ Para a maneira de pensar logicamente para estipular sequências de passos para a resolução de
um problema, damos o nome de lógica de programação.
1
É o conhecimento anterior a
2
qualquer outro quando falamos
Cada linguagem tem suas
de desenvolvimento web.
próprias particularidades, como
sua sintaxe, sua orientação e
seus tipos de dados, mas a
3 lógica por trás de todas é a
É a porta de entrada para mesma.
tornar-se um programador
completo, seja em front-
end ou em back-end.
O que é a internet
Internet é uma rede de computadores, constituída por canais e elementos de
comunicação, com ou sem fio. Ela é diferente de World Wide Web (WWW): enquanto a internet
é uma estrutura física que possibilita a comunicação entre dispositivos, a WWW é um protocolo
que usa essa estrutura física para a troca de dados.
O caminho da internet
Existem muitos tipos de bancos de dados, mas podem ser divididos principalmente entre
2 tipos diferentes:
Provedor de serviço:
são empresas recebem os dados do provedor de
Backbone:
acesso e distribuem aos usuários por variados meios
são pontos
das redes que
distribuem
pelas redes as
informações
baseadas em
TCP/IP
Provedor de acesso:
Usuário final
são empresas ligadas ao setor de telecomunicações
que fornecem o acesso à Internet por meio de planos
Solicitações
CLIENTE SERVIDOR
Respostas
acesso (browsers)
Partes fundamentais da web
⮚ TCP/IP:
Protocolo de Controle de Transmissão e Protocolo de Internet (Transmission
Control Protocol e Internet Protocol) são protocolos de comunicação que definem como os
dados trafegam pela web;
⮚ DNS:
Servidor de Nome de Domínio (Domain Name Servers) é uma coleção de bancos
de dados que traduz nomes de host para endereços únicos de IP;
⮚ HTTP:
Protocolo de transferência de hipertexto (Hypertext Transfer Protocol) é o que
possibilita que as pessoas que inserem a URL de um site na web possam ver os conteúdos
e dados que nele existem.
1 2 3
O usuário clica em um link O navegador formata a O servidor encontra a página
no navegador (browser) solicitação e envia para o servidor solicitada
Página solicitada
4 5
O navegador resgata o O servidor formata a página e
código HTML e compila envia para o navegador
em formato visual
Lição 4: O que são algoritmos
Um algoritmo é uma sequência de instruções ordenadas de forma lógica para resolução
de uma determinada tarefa ou problema.
Podemos pensar em algoritmo como uma receita que consiste de uma série de operações
primitivas. Estas operações não podem ser redundantes e nem subjetivas na sua definição,
devendo ser claras e precisas.
Início
Tirar o fone da base
Ouvir o sinal de linha
Teclar o número desejado
SE der o sinal de chamar
Conversar;
Desligar;
SENAO
Repetir ligação;
Fim
1 Descrição narrativa
2 Fluxograma convencional
3 Pseudocódigo
1. Descrição narrativa
A descrição narrativa consiste em analisar o problema e escrever, utilizando uma
linguagem natural, os passos que devem ser seguidos para a resolução do problema.
V - Não é necessário aprender nenhum conceito novo, pois a língua natural, já é conhecida.
X - Abre espaço para diferentes interpretações e ambiguidades, o que pode dificultar a
transição deste algoritmo para o programa futuramente.
2. Fluxograma convencional
O fluxograma consiste em analisar o problema e escrever, utilizando símbolos gráficos
predefinidos, os passos que devem ser seguidos para a resolução do problema
3. Pseudocódigo
O pseudocódigo consiste em analisar o enunciado do problema e escrever, utilizando
regras predefinidas, os passos a serem seguidos para a resolução do problema.
2. Alfanúmericos
Textos compostos por sequências de caracteres contendo letras e algarismos.
3. Lógicos
Assumem dois valores condicionais para tomada de decisão. Ex: V ou F; sim ou não.
Sequencial:
Linhas de comando sucessivas com um único fluxo possível de
processamento
Condicional:
Sequências de ações podem ser executadas ou não, dependendo de uma
ou mais condições
Repetição:
Cria blocos de repetição até que uma condição se torne verdadeira ou por
um número predefinido
⮚ Estudo do problema:
Análise do problema e identificação da situação e contexto (possíveis soluções e
características)
⮚ Estruturação do algoritmo
Estruturação da proposta de solução do problema, por meio de um projeto de programa (que
é o próprio algoritmo)
⮚ Desenvolvimento do código:
Escrita do algoritmo a partir de regras e padrões de uma linguagem de programação
específica, exemplo de linguagens mais comuns: C, C++, C#, Java, PHP, VB, Python, Ruby.
Codificação do algoritmo
⮚ Solução:
Implantação do programa para solução de problemas em situações reais.
✔ 0 -> Desligado
✔ 1 -> Ligado
inteiro contador;
✔ Muito tipadas
São linguagens em que todos os valores de variáveis e funções precisam ter o tipo de
dados explicitamente declarado.
✔ Pouco tipadas
Não é obrigado a declarar o tipo antes de usar uma variável e, se utilizada, a variável pode
receber um outro sem gerar nenhum tipo de erro. Exemplo: PHP e JavaScript.
✔ Não tipadas
Não consideram ou implementam o conceito de tipo de dados.
Exemplos: Perl e Assembly.
Início
< comando 1 >
< comando 2 >
.......
< comando n >
Fim
Cada variável corresponde a uma posição de memória, e embora uma variável possa
assumir diferentes valores, ela pode armazenar apenas um valor a cada instante.
Início Objeto
✔ Na solução da grande maioria dos problemas, é necessário que as variáveis tenham seus
valores consultados ou alterados e, para isso, devemos definir um conjunto de
operadores (básicos), sendo eles:
Dados relacionais
São utilizados para relacionar variáveis ou proposições, resultando num valor lógico
(verdadeiro ou falso), sendo eles:
✔ Igualdade (=)
✔ Diferença (<>)
✔ Maior que (>)
✔ Menor que (<) Relacionais
✔ Maior ou igual a (>=)
✔ Menor ou igual a (<=)
Dados lógicos
São utilizados para conectar expressões, no qual obrigatoriamente, tem-se um situação de
decisão condicional do tipo SE, então; SENÃO.
2. Para criar o algoritmo, se atente as regras de criação para não ocorrer erros.
5. Tente aprimorar os códigos vistos nas aulas, partir de uma base pronta pode ser mais
fácil.
Módulo 2
Estruturas de Lógica de Programação
Lição 1: Objetivos do módulo
Nesse módulo serão abordados os 2 principais tipos de estruturação da Lógica de
Programação - a de decisão e repetição. É apresentado as condicionais compostas e encadeadas,
assim como todos os tipos de estruturas de repetição.
Estrutura Condicional
SE (condição) ENTÃO
comandos executados se condição for verdadeira (instruções)
FIM SE
Condicionais Compostas
SE (condição) ENTÃO
comandos executados se condição for verdadeira (instruções)
SENÃO
comandos executados se condição for falso (instruções)
FIM SE
Condicionais Encadeadas
Composta Encadeada:
✔ Marcadores: SE, ENTÃO, SENÃO e FIM SE.
✔ Usa-se várias vezes o recurso “SE”, um dentro do outro
SE (condição) ENTÃO
Instrução se a primeira é verdadeira
SENÃO
SE (condição) ENTÃO
Instrução se a segunda é verdadeira
SENÃO
Instrução se a segunda é falsa
FIM SE
FIM SE
Escolha-caso
Composta Encadeada:
✔ Marcadores: FAÇA CASO, CASO, OUTRO CASO, FIM CASO
✔ Algoritmo mais claro que o encadeado.
FAÇA CASO
CASO (condição)
Instrução se verdadeiro
CASO (condição)
Instrução se verdadeiro
OUTRO CASO
Instrução se todos são falsos
FIM CASO
Lição 6: Conhecendo as estruturas de repetição
Estrutura de Repetição
As estruturas de repetição permitem que uma ação seja repetida várias vezes, ou seja,
quando desejamos que um determinado conjunto de instruções ou comandos seja
executado um número definido ou indefinido de vezes.
✔ Contador fixo — cria uma variável para contar número de vezes que a sequência será
repetida. Repetição é encerrada quando contador atinge valor preestabelecido.
✔ Flag de resposta (sinalização do usuário) — pergunta ao usuário se rotina deverá ser
executada novamente — resposta é armazenada em um flag de resposta (variável).
O loop é interrompido pelo usuário.
✔ Flag predeterminado (sinalização predeterminada) — usuário encerra o loop quando
quiser, a partir de uma palavra predeterminada; ou quando uma condição específica é
satisfeita.
ENQUANTO (condição)
comandos executados se condição for verdadeira (instruções)
FIM ENQUANTO
Repita
REPITA
comandos executados se condição for verdadeira (instruções)
ATE (condição)
Para
2. Antes de iniciar o código dentro do software, pode ser válido construí-lo em pseudocódigo.
5. Preste atenção nos valores lógicos, dependendo da estrutura eles podem ser invertidos.
Módulo 3
Estrutura de dados
Lição 1: Objetivos do módulo
O objetivo deste módulo é introduzir e detalhar ao aluno a utilização de vetores e matrizes.
Será explicado como funcionam e se dividem as estruturas de dados, os tipos de operações, além
de exemplos de algoritmos com manipulações com vetores e matrizes.
Heterogêneas
Conhecidas como registros
Homogêneas
Conhecidas como arrays
Heterogêneas
✔ São aglomerados de dados formados por tipos diferentes, dentro de uma mesma estrutura;
✔ Cada item de dado é denominado membro (ou campo).
✔ São aglomerados de dados formados por tipos iguais, dentro de uma mesma variável;
✔ A individualização de cada variável é feita através do uso de índices.
inteiro vetor[5]
tipo de constante tamanho do vetor
nome do vetor
Ou seja, para criar um vetor, basta definir o tipo de dado, especificar o nome do vetor e o
número de posições na memória que quer alocar.
Linhas
0,0
1 2 3 4 5
Colunas
3,1
6 7 8 9 10
inteiro matriz[5][5]
nome da matriz
Ou seja, para criar uma matriz, basta definir o tipo de dado, especificar o nome da matriz e o
tamanho da matriz que quer alocar.