Fundamentos de Programação
Luiz Paulo Maia
lpmaia13@gmail.com
Conteúdo
• Arquitetura Web
• Conceito de algoritmo
• Conceito de programa
2
Arquitetura Web
Arquitetura Centralizada
• Existe um computador central de grande porte
(mainframe) que executa a aplicação, consulta
o banco de dados e exibe as saídas para os
analistas e usuários
• Geralmente, utiliza-se “terminais burros” ou
emuladores de terminal para o acesso ao
sistema
4
Arquitetura Cliente/Servidor
5
Arquitetura Web
1a. camada
2a. camada
servidor
cliente
Conexão
HTTP
JavaScript
HTML
Flash
ActiveX
Applet
…
6
3a. camada
servidor
ASP.NET
PHP
JSF
...
aplicação dinâmica
Conexão
nativa
ou ODBC
Oracle
MySQL
Postgres
SQL Server
...
Ferramentas na Camada 1
• Browser
–
–
–
–
7
HTML, CSS
Plugins: Flash, QuickTime, SilverLight
JavaScript, VBscript
Java, ActiveX
Ferramentas na Camada 2
• Servidor Web
– MS Internet Information Server (IIS)
– Appache
– Consultar http://news.netcraft.com/
8
Ferramentas na Camada 3
• Servidor de Banco de Dados
–
–
–
–
9
Oracle
MS SQL Server e Access
MySQL
PostgreSQL
Conceito de Algoritmo
O que é um Algoritmo?
• Algoritmo é um conjunto finito de passos ou
instruções cujo objetivo é solucionar
determinado problema
• “Sequência ordenada e não ambígua de passos
que levam a solução de um problema”
Tremblay
• Não está associado necessariamente a
computadores
11
Algoritmos
•
12
Exemplos: receita de bolo, utilização de um
caixa eletrônico, chegar em um determinado
endereço, validação de senha, ordenação
alfabética de um conjunto de clientes,
totalização das comissões de venda em um
determinado mês, etc.
Sequência de Passos
• Algoritmos são executados um passo após o
outro na forma de sequência:
Passo 1
Passo 2
Passo 3
...
13
Desvio
• Certos passos devem ser executados apenas
em determinadas condições:
Se Condição
Então Passo 1
Senão Passo 2
Passo 3
14
Repetição
• Existem situações onde um ou mais passos
devem ser repetidos.
Enquanto Condição
Passo 1
Passo2
15
Solucionando Problemas
• Entender o problema.
• Identificar entradas e saídas.
• Escrever a sequência de passos, condições e
repetições necessárias para transformar as
entradas em saídas usando uma linguagem
algorítmica.
• Converter o algoritmo em um programa.
16
Formas de Representação
• Fluxograma
• Português estruturado
(portugol)
17
Exercício
• Criar um algoritmo para fazer ovos mexidos
18
Solução v.1
•
•
•
•
•
•
19
Pegar ingredientes
Acender o fogo
Quebrar os ovos
Mexer os ovos
Apagar o fogo
Servir
Solução v.2
•
•
•
•
•
•
•
•
20
Pegar os ovos, gordura, sal, frigideira e colher
Acender o fogo e colocar a frigideira
Colocar a gordura
Quebrar os ovos
Colocar o sal
Mexer os ovos
Apagar o fogo
Servir
Solução v.3
• Pegar dois ovos, uma colher de sopa de gordura,
meia colher de chá de sal, frigideira e uma colher de
madeira
• Acender o fogo e colocar a frigideira
• Colocar a gordura
• Aguardar a gordura aquecer
• Quebrar os ovos na frigideira
• Colocar o sal nos ovos
• Mexer os ovos com a colher até ficarem no ponto
• Apagar o fogo
• Servir
21
Exercícios
• Criar um algoritmo para trocar o pneu de um
carro
• Criar um algoritmo para trocar uma lâmpada
de teto
22
Solução
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
23
Ligar o pisca alerta
Estacionar e desligar o carro, se for o caso
Verificar se o freio de mão está puxado
Abrir a mala
Retirar o triângulo e colocá-lo na posição
Retirar o macaco, chave de roda e estepe
Utilizar a chave de roda para afrouxar os parafusos
Posicionar o macaco e levantar o carro
Retirar os parafusos com a chave de roda
Retirar o pneu com problema
Colocar o estepe e colocar os parafusos
Baixar o carro
Apertar os parafusos com a chave de roda
Guardar o pneu com problema, chave e macaco
Retirar e guardar o triângulo
Solução
•
•
•
•
•
•
•
•
•
•
•
•
•
24
Se não houver lâmpada em casa então
Sair para comprar
Verificar se há falta de energia
Desligar interruptor
Pegar a escala
Posicionar a escada
Subir a escada com a lâmpada
Apoiar a lâmpada no último degrau
Soltar a lâmpada queimada
Colocar a lâmpada nova
Descer a escada com a lâmpada queimada
Testar a lâmpada
Descartar a lâmpada queimada em local apropriado
Guardar a escada
Conceito de Programa
Programação na Década 1940
26
O que é um Programa?
• Programa é um algoritmo escrito em uma
linguagem de programação.
• Linguagem de programação é uma linguagem
artificial utilizada para especificar instruções
para computadores.
• Como qualquer linguagem, é um conjunto de
regras sintáticas e semânticas cujo objetivo
principal é a comunicação.
27
Arquitetura Von Neumann
• The von Neumann architecture is a design model for a stored-program
digital computer that uses a central processing unit (CPU) and a single
separate storage structure ("memory") to hold both instructions and data. It
is named after the mathematician and early computer scientist John von
Neumann. Such computers implement a universal Turing machine and
have a sequential architecture.
• A stored-program digital computer is one that keeps its programmed
instructions, as well as its data, in read-write, random-access memory
(RAM). Stored-program computers were an advancement over the
program-controlled computers of the 1940s, such as the Colossus and the
ENIAC, which were programmed by setting switches and inserting patch
leads to route data and to control signals between various functional units.
In the vast majority of modern computers, the same memory is used for
both data and program instructions. The mechanisms for transferring the
data and instructions between the CPU and memory are, however,
considerably more complex than the original von Neumann architecture.
• (Wikipedia, 2010)
28
Programa Armazenado
29
Tipos de Linguagens
• Linguagens compiladas
– Existe um processo de compilação e geração de um
programa executável que pode ser executado pela UCP
– Ex: Delphi, Visual Basic (VB), C/C++, COBOL, Pascal
• Linguagens interpretadas
– Não existe compilação nem programa executável
– Cada instrução do programa é interpretada e executada
pela UCP
– Pode gerar problemas de desempenho
– Ex: JavaScript, Perl, PHP, Java, C#
30
Download

Slides 2