A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Fundamentos de Programação

Apresentações semelhantes


Apresentação em tema: "Fundamentos de Programação"— Transcrição da apresentação:

1 Fundamentos de Programação
Luiz Paulo Maia INSTITUTO INFNET - 1

2 Fundamentos de Programação
Conteúdo Fundamentos de Programação Arquitetura Web Conceito de algoritmo Conceito de programa INSTITUTO INFNET - 2

3 Fundamentos de Programação
Arquitetura Web INSTITUTO INFNET - 3

4 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

5 Fundamentos de Programação
Arquitetura Cliente/Servidor INSTITUTO INFNET - 5

6 Fundamentos de Programação
Arquitetura Web 1a. camada 2a. camada 3a. camada cliente servidor 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 INSTITUTO INFNET - 6

7 Ferramentas na Camada 1 Browser HTML, CSS
Plugins: Flash, QuickTime, SilverLight  JavaScript, VBscript Java, ActiveX

8 Ferramentas na Camada 2 Servidor Web
MS Internet Information Server (IIS) Appache Consultar

9 Ferramentas na Camada 3 Servidor de Banco de Dados Oracle
MS SQL Server e Access MySQL PostgreSQL

10 Fundamentos de Programação
Conceito de Algoritmo INSTITUTO INFNET - 10

11 Fundamentos de Programação
O que é um Algoritmo? Fundamentos de Programação 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 Algoritmo é a representação organizada da solução de um determinado problema computacional ou matemático. Normalmente é feito para elaborar e testar a solução mas não é obrigatório que seja feito em todas as situações. A representação pode ser textual (utilizando passos numerados, portugol, parágrafo explicativo, etc) ou gráfica (fluxograma). Por exemplo, um problema comum que existe no cotidiano é o gerenciamento de despesas e receitas. Deve-se somar as receitas e as despesas separadamente. Em seguida as receitas são diminuídas do valor das despesas. Se o saldo for negativo algumas despesas são cortadas ou um empréstimo é feito. Abaixo segue a representação textual do algoritmo: Algoritmo DespesasReceitas Obtenha os valores de receitas e despesas Some os valores das receitas e armazene em somaReceitas Some os valores das despesas e armazene em somaDespesas Faça somaReceitas-somaDespesas e armazene em saldo Se saldo < 0 Então Faça um empréstimo cujo valor é igual ao saldo Fim do Algoritmo INSTITUTO INFNET - 11

12 Fundamentos de Programação
Algoritmos Fundamentos de Programação 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. A resolução de problemas de computação é feita com a utilização de sequências de instruções. Uma sequência finita de passos com um objetivo bem definido é denominada “algoritmo”. Todo sistema computacional contém algoritmos para a realização de suas tarefas. Ou seja, algoritmos podem ser encontrados em computadores, celulares, ipods, fornos de microondas, cd, mp3, mp4 e dvd players e a lista pode continuar por muitas linhas. Exemplo de um algoritmo: um mp3 player possui a função de tocar músicas de maneira aleatória: Gerar número aleatório Localizar a música que está na posição indicada pelo número gerado Executar a música Ao terminar a música, voltar ao passo 1. INSTITUTO INFNET - 12

13 Fundamentos de Programação
Sequência de Passos Fundamentos de Programação Algoritmos são executados um passo após o outro na forma de sequência: Passo 1 Passo 2 Passo 3 ... Exemplo de sequência de passos: Escolha de um prato no restaurante: Entre no restaurante Escolha uma mesa Leia o menu Escolha o prato Chame o garçom Informe sua escolha INSTITUTO INFNET - 13

14 Fundamentos de Programação
Desvio Fundamentos de Programação Certos passos devem ser executados apenas em determinadas condições: Se Condição Então Passo 1 Senão Passo 2 Passo 3 Exemplo de desvio (decisão) Como atravessar a rua usando decisão. Ande até o limite da calçada Olhe para ambos os lados Se a rua estiver livre Então atravesse a rua Senão aguarde INSTITUTO INFNET - 14

15 Fundamentos de Programação
Repetição Fundamentos de Programação Existem situações onde um ou mais passos devem ser repetidos. Enquanto Condição Passo 1 Passo2 Exemplo de repetição: Fazendo 50 flexões. Deite de frente Coloque as mãos no chão ao lado do corpo Enquanto não terminar a contagem Erga seu corpo usando as mãos Abaixe seu corpo até encostar o nariz no chão Levante-se INSTITUTO INFNET - 15

16 Solucionando Problemas
Fundamentos de Programação 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. A resolução de um problema computacional com o uso de algoritmos pressupõe não só o conhecimento prévio das estruturas básicas mas também de soluções prontas que podem ser adaptadas. Para escrever um algoritmo, sugerem-se os seguintes passos: Entender o problema e delimitar o seu escopo. Nesta etapa o problema deve ser estudado e avaliado em termos de viabilidade da solução. Idenficação das entradas e saídas. Neste passo podem ser criados casos de teste, ou seja conjuntos significativos de entradas e saídas que representem soluções corretas para o problema. Escrever e testar o algoritmo. O algoritmo deve ser desenvolvido com a utilização das estrutras básicas apresentadas anteriormente. Caso existam instruções (ou outros algoritmos) que resolvam parte da solução, estes devem ser utilizados. O algoritmo deve ser convertido para uma linguagem de programação. Este passo pode ser ignorado, já que muitos programadores constróem seus algoritmos utilizando uma linguagem de programação INSTITUTO INFNET - 16

17 Formas de Representação
Fundamentos de Programação Fluxograma Português estruturado (portugol) A resolução de um problema computacional com o uso de algoritmos pressupõe não só o conhecimento prévio das estruturas básicas mas também de soluções prontas que podem ser adaptadas. Para escrever um algoritmo, sugerem-se os seguintes passos: Entender o problema e delimitar o seu escopo. Nesta etapa o problema deve ser estudado e avaliado em termos de viabilidade da solução. Idenficação das entradas e saídas. Neste passo podem ser criados casos de teste, ou seja conjuntos significativos de entradas e saídas que representem soluções corretas para o problema. Escrever e testar o algoritmo. O algoritmo deve ser desenvolvido com a utilização das estrutras básicas apresentadas anteriormente. Caso existam instruções (ou outros algoritmos) que resolvam parte da solução, estes devem ser utilizados. O algoritmo deve ser convertido para uma linguagem de programação. Este passo pode ser ignorado, já que muitos programadores constróem seus algoritmos utilizando uma linguagem de programação INSTITUTO INFNET - 17

18 Exercício Criar um algoritmo para fazer ovos mexidos

19 Solução v.1 Pegar ingredientes Acender o fogo Quebrar os ovos
Mexer os ovos Apagar o fogo Servir

20 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

21 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

22 Exercícios Criar um algoritmo para trocar o pneu de um carro
Criar um algoritmo para trocar uma lâmpada de teto

23 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

24 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

25 Fundamentos de Programação
Conceito de Programa INSTITUTO INFNET - 25

26 Programação na Década 1940

27 Fundamentos de Programação
O que é um Programa? Fundamentos de Programação 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. Programa é o algoritmo codificado em uma linguagem de programação. Este processo é necessário para que o computador possa executar as instruções da solução. Existem inúmeras linguagens de programação dos mais variados tipos e para os mais variados objetivos. Abaixo segue um exemplo de um programa que calcula a média entre dois valores em Java: public class Media { public static void main(String[] args) if (args.length < 2) return; int n1 = Integer.parseInt(args[0]); int n2 = Integer.parseInt(args[1]); double media = (double)n1/n2; System.out.println(“A média é “ + double); } INSTITUTO INFNET - 27

28 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)

29 Programa Armazenado

30 Tipos de Linguagens Linguagens compiladas Linguagens interpretadas
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#


Carregar ppt "Fundamentos de Programação"

Apresentações semelhantes


Anúncios Google