Your SlideShare is downloading. ×
Alg   aula 01 - introdução tp1
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Alg aula 01 - introdução tp1

1,352
views

Published on

Published in: Technology, Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,352
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 1 Introdução à ProgramaçãoIntrodução à Programação Técnicas de Programação 1 ALG 2/26 Computador Máquina que tem como função básica o armazenamento e processamento da informação; Constitui-se de hardware e de software. 3/26 Hardware e Software Hardware: Conjunto de circuitos e dispositivos utilizados no processamento de dados; Software: Programas que são executados pelo hardware. 4/26 Estrutura básica de um computador Dispositivos Entrada Dispositivos Saída Memória Secundária CPU Memória RAM 5/26 Estrutura básica do computador CPU: Unidade central de processamento, circuito capaz de executar instruções armazenadas na memória e de enviar e receber dados de outros dispositivos; Dispositivos de entrada: Permitem a entrada de dados no computador; Dispositivos de saída: fornecem ao usuário acesso aos dados; Memória secundária: Armazena os dados e programas para uso posterior. Memória RAM: Memória volátil de leitura e escrita, armazena tanto os dados quanto os softwares em uso. 6/26 Software Conjunto de instruções que diz ao computador o que fazer. As instruções são escritas em uma forma organizada e seqüencialmente lógica.
  • 2. 2 7/26 Software Categorias de software Sistema operacional: controla e coordena o hardware (Ex. Win95). Tradutores: compiladores, interpretadores e montadores. Aplicativos: personalizados ou pacotes (ex. Word, Excel). Hardware Software Aplicativo INTERFACE Sistema Operacional Tradutores 8/26 Construindo Software Linguagem de programação Idioma no qual as instruções são escritas Estrutura de dados Maneira pelo qual os dados são armazenados e regras de manipulação destes dados. PROGRAMPROGRAMPROGRAMPROGRAM Soma; VARVARVARVAR X: integer; BEGINBEGINBEGINBEGIN X := 2+2; WRITEWRITEWRITEWRITE (‘Soma =‘, X) ENDENDENDEND. Computador Soma = 4 X Soma Vetores, Matriz, Registros, etc.2 4 9/26 O que é programação? Programar é a atividade de comunicar algoritmos aos computadores 10/26 Algoritmos Seqüência ordenada e não ambígua de passos que levam a solução de dado problema SoluçãoProblema Algoritmo 11/26 Exemplos de algoritmos Roteiro de um filme Manual de instruções de um eletrodoméstico Receita de bolo 12/26 Exemplo de Algoritmo Sacar dinheiro de um caixa eletrônico 1. Passar o cartão do banco no leitor; 2. Digitar senha da conta-corrente; 3. No menu que vai aparecer, escolher a opção “Retirada”; 4. Digitar o valor desejada e apertar a tecla “Entra”; 5. Confirmar o saque e apertar a tecla “Entra”; 6. Ficar esperando em frente ao caixa até a saída do dinheiro; 7. Retirar o dinheiro.
  • 3. 3 13/26 Algoritmos Propriedades dos algoritmos Possuir ações simples e bem definidas (não ambíguas); Possuir seqüência ordenada; Possuir seqüência finita de passos; Possuir fim (todas as ações devem ser executadas em um tempo finito); Pode receber entradas externas; Pode fornecer saídas externas. 14/26 Algoritmos Exemplo de um algoritmo Problema: Temos três hastes. Uma das hastes serve de suporte para três discos de tamanhos diferentes. Os discos menores são sempre colocados sobre os discos maiores. Desejamos mover todos os discos para a outra haste, porém só podemos movimentar um disco de cada vez e um disco maior nunca pode ser colocado sobre um disco menor. 15/26 Algoritmos Solução: Nomeamos as hastes como 1, 2 e 3 e os discos como p, m e g. 1. Move p para haste 3; 2. Move m para haste 2; 3. Move p para haste 2; 4. Move g para haste 3; 5. Move p para haste 1; 6. Move m para haste 3; 7. Move p para haste 3. 16/26 Exercício algoritmo Problema: Um homem precisa atravessar um rio com um barco que possui capacidade apenas para carregar ele mesmo e mais uma de suas três cargas, que são: um lobo, um bode e um maço de alfafa. Como este homem deve proceder para levar suas cargas de uma margem a outra do rio sem perder nenhuma de suas três cargas? 17/26 Algoritmos Solução: 1. Levar o homem e o bode para a margem B; 2. Trazer de volta o homem para a margem A; 3. Levar o homem e o lobo para a margem B; 4. Trazer de volta o homem e o bode para a margem A; 5. Levar o homem e a alfafa para a margem B; 6. Trazer de volta o homem para a margem A; 7. Levar o homem e o bode para a margem B. 18/26 Redefinindo programação É a seqüência de planejamento, projeto, escrita e testes de instruções que serão executadas pelo computador. Complexidade do problema é um desafio: Todas as situações diferentes que um problema pode apresentar devem ser previstas na sua solução.
  • 4. 4 19/26 Programação Dividindo programação em duas fases Problema: Automatizar A Biblioteca Definição do Problema Análise do Problema 1. Incluir livro 2. Incluir Aluno Codificação Programas Testes e Depuração Sistema Problema Algoritmo 20/26 Algoritmos Diretrizes para construção de algoritmos Identificação do problema; Identificação das “entradas de dados”; Identificação das “saídas de dados”; Identificação de regras do problema e limitações do agente; Determinar o que fazer para transformar as “entradas” em “saídas”; Obedecer regras e limitações; Determinar ações possíveis de serem realizadas. Construção do algoritmo; Teste de solução. 21/26 Algoritmos Vantagens do uso de algoritmos Estruturação dos programas. Permite que erros sejam detectados antes da codificação. Facilita futuras manutenções do código. Permite maior compreensão do problema. 22/26 Algoritmos Exemplo: Imagine o seguinte problema: Calcular a média final dos alunos da 6ª Série. Os alunos realizarão duas provas: P1, P2. Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? R: Os dados de entrada são P1 e P2. b) Qual será o processamento a ser utilizado? R: O procedimento será somar todos os dados de entrada e dividi-los por 2 (dois) (P1 + P2)/2 c) Quais serão os dados de saída? R: O dado de saída será a média final 23/26 Algoritmos Descrição de algoritmos Narrativa Descreve o algoritmo em linguagem natural Desvantagens: Linguagem natural é prolixa, imprecisa, ambígua. Ex: O pregador(?) foi grampeado(?). Ex: 1. Receba a nota da prova1; 2. Receba a nota da prova2; 3. Some as notas e divida o resultado por 2; 6. Mostre o resultado da divisão; 24/26 Algoritmos Descrição de algoritmos (cont.) Fluxograma Apresenta, de forma gráfica, a lógica de um algoritmo Desvantagens: Obscurecem estruturas dos programas. Vem caindo em desuso com o tempo. Ex: Início P1, P2 Média = (P1 + P2) / 2 Média Fim
  • 5. 5 25/26 Fluxograma O uso de Fluxograma (símbolos) é uma alternativa simples e concisa de representar os dados Início/Fim Seqüencia Processamento Decisão Conector Entrada/Saída Saída Vídeo Saída Impress Saída Disco Saída Vídeo Entrada Teclado Início/Fim Seqüencia Processamento Decisão Conector Entrada/Saída Saída Vídeo Saída Impress Saída Disco Saída Vídeo Entrada Teclado 26/26 Algoritmos Descrição de algoritmos (cont.) Linguagem algorítmica / pseudocódigo / Português estruturado “Linguagem simplificada de programação” Expressões concisas e pré-definidas Palavras-chaves, indentação, um passo por linha. Ex: media : Inteiro; Inicio leia(P1); leia(P2); media (P1 + P2) / 2; escreva(media); Fim

×