350 likes | 522 Views
Fundamentos de Programação. Luiz Paulo Maia lpmaia13@gmail.com. Conteúdo. Arquitetura Web Conceito de algoritmo Conceito de programa. Arquitetura Web. Arquitetura Centralizada.
E N D
Fundamentos de Programação Luiz Paulo Maia lpmaia13@gmail.com
Conteúdo • Arquitetura Web • Conceito de algoritmo • Conceito de programa
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
Arquitetura Web 1a. camada 2a. camada 3a. camada servidor cliente servidor Conexão HTTP ASP.NET PHP JSF ... Conexão nativa ou ODBC JavaScript HTML Flash ActiveX Applet … Oracle MySQL Postgres SQL Server ... aplicação dinâmica
Ferramentas na Camada 1 • Browser • 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/
Ferramentas na Camada 3 • Servidor de Banco de Dados • Oracle • MS SQL Server e Access • MySQL • PostgreSQL
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
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.
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 ...
Desvio • Certos passos devem ser executados apenas em determinadas condições: Se Condição Então Passo 1 Senão Passo 2 Passo 3
Repetição • Existem situações onde um ou mais passos devem ser repetidos. Enquanto Condição Passo 1 Passo2
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.
Fluxograma Português estruturado (portugol) Formas de Representação
Exercício • Criar um algoritmo para fazer ovos mexidos
Solução v.1 • Pegar ingredientes • Acender o fogo • Quebrar os ovos • Mexer os ovos • Apagar o fogo • Servir
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
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
Exercícios Criar um algoritmo para trocar o pneu de um carro Criar um algoritmo para trocar uma lâmpada de teto
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
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
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.
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)
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#