Fundamentos de Programação

Preview:

DESCRIPTION

Fundamentos de Programação. Luiz Paulo Maia lpmaia13@gmail.com. Conteúdo. Arquitetura Web Conceito de algoritmo Conceito de programa. Arquitetura Web. Arquitetura Centralizada. - PowerPoint PPT Presentation

Citation preview

Fundamentos de Programação

Luiz Paulo Maia

lpmaia13@gmail.com

22

Conteúdo

• Arquitetura Web

• Conceito de algoritmo

• Conceito de programa

Arquitetura Web

44

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

55

Arquitetura Cliente/Servidor

66

Arquitetura Web

ConexãoHTTP

OracleMySQL

PostgresSQL Server

...

cliente servidor servidor

Conexãonativa

ou ODBC

ASP.NETPHPJSF...

aplicação dinâmica

1a. camada 3a. camada2a. camada

JavaScriptHTMLFlash

ActiveXApplet

77

Ferramentas na Camada 1

• Browser – HTML, CSS– Plugins: Flash, QuickTime, SilverLight  – JavaScript, VBscript– Java, ActiveX

88

Ferramentas na Camada 2

• Servidor Web– MS Internet Information Server (IIS)– Appache– Consultar http://news.netcraft.com/

99

Ferramentas na Camada 3

• Servidor de Banco de Dados– Oracle– MS SQL Server e Access– MySQL– PostgreSQL

Conceito de Algoritmo

1111

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

1212

Algoritmos

• 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.

1313

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

...

1414

Desvio

• Certos passos devem ser executados apenas em determinadas condições:

Se Condição

Então Passo 1

Senão Passo 2

Passo 3

1515

Repetição

• Existem situações onde um ou mais passos devem ser repetidos.

Enquanto Condição

Passo 1

Passo2

1616

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.

1717

Formas de Representação

• Fluxograma• Português estruturado

(portugol)

1818

Exercício

• Criar um algoritmo para fazer ovos mexidos

1919

Solução v.1

• Pegar ingredientes

• Acender o fogo

• Quebrar os ovos

• Mexer os ovos

• Apagar o fogo

• Servir

2020

Solução v.2

• 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

2121

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

2222

Exercícios

• Criar um algoritmo para trocar o pneu de um carro

• Criar um algoritmo para trocar uma lâmpada de teto

2323

Solução• 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

2424

Solução• 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

2626

Programação na Década 1940

2727

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.

2828

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)

2929

Programa Armazenado

3030

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#

Recommended