Post on 17-Apr-2015
Programação Básica de Computadores 1
Ana Christina Bringuente(Material gentilmente cedido por Rodrigo Calhau)
Objetivos da Disciplina
• Motivar a resolução de problemas diversos utilizando a computação;
• Apresentar conceitos básico de programação de computadores;
• Introduzir lógica de programação e elaboração de algoritmos;
• Elaboração de programas de computadores, usando a linguagem Fortran;
Introdução à Computação
• O que é computação?o Busca de solução de um problema através
de: Entradas;Algoritmo (conjunto de passos);
• Não necessariamente utiliza máquinaso pode ser feito até mentalmente;
• Ex:o Resolver f(x) = x2 - 4;
Introdução à Computação
• O que é computador?o Máquina que faz computação!!!!o Permite processamento automático de dados
Processar dados:
Introdução à Computação
• Exemplos de computadores:o De uso geral:
Computador pessoal Notebook
o De uso específico: Máquina de calcular Celular Video game Ábaco
• No curso, computador será usado para designar computador de uso geral
Introdução à computação
• Ex: Abrir um navegador
Introdução à Computação
• Estrutura básica de um computador:o Dispositivos de saída
Monitor, impressora, caixa de som...o Dispositivos de entrada
Teclado, mouse, cd...o Processadoro Memória
Principal e secundária
Introdução à Computação
Por que utilizar um computador?o Rápidoso Baratoso Eficientes
Introdução à Computação
• Quando usar um computador para resolver um problema?o Problemas de alta complexidade:
Ex: robô que joga xadrez, identificação de iris, etc.o Problemas com grande quantidade de dados:
Podem até serem fáceis, mas são trabalhos Ex: 1000000000 pessoas doaram uma quantia
para uma instituição. Qual o total recebido?
Introdução à Computação
• Problema 1: o Tirar espinhas de uma foto 3x4o Programa: Photo shop
Introdução à Computação
• Problema 2: o Compactar arquivoo Programa: compactador qualquer
ArquivoDescompactado
ArquivoCompactado
Introdução à Computação
• Problema 3: o Calcular coeficiente de simpatia de uma
pessoa (usando uma fórmula de 30 páginas criada em um projeto de pesquisa na UFES)
o Programa: Não Existe!!!! E agora??
??????? ???????
Introdução a Programação de Computadores
Problemas específicos:o Último exemplo;o Ou resolve na mãoo Ou cria um programa
É necessário determinar o processamento (como os dados de entrada serão transformados nos dados de saída)
Introdução a Programação de Computadores
• Criação de programas:o 1º - Entendimento do problema:
Estabelecer “o quê”
o 2º - Solução do problema Estabelecer “como”
o 3º - “Ensinar” o computador a resolver o problema = programar Usando uma linguagem de programação;
• Problema de 2º grau
• Fórmula de Bhaskara
• Programar em Fortran
Introdução a Programação de Computadores
• Algoritmos:
o Ex: Receita de bolo Manual de instruções Coreografia Instrução de como chegar a algum lugar
Introdução a Programação de Computadores
• Algoritmos:o Propriedades:
Número de instruções é finito; Ações possuem uma ordem; Cada ação é simples e bem definida (não
ambigua);
Introdução a Programação de Computadores
X2 -4 = 0a= 1b=0c=-4
Aplicação da fórmula de Bhaskara
Introdução a Programação de Computadores
• Exercício:o Considere o seguinte 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. A figura abaixo mostra uma possível situação inicial das hastes e discos.
o Desejamos mover todos discos para outra haste, porém só podemos movimentar um disco de cada vez e um disco maior nunca pode ser colocado sobre um disco de menor tamanho.
Introdução a Programação de Computadores
Algoritmo 1: (Notação Gráfica)
Introdução a Programação de Computadores
• Algoritmo 2: (Português)o 1. move o disco p para a haste 3. o 2. move o disco m para a haste 2. o 3. move o disco p para a haste 2. o 4. move o disco g para a haste 3. o 5. move o disco p para a haste 1. o 6. move o disco m para a haste 3. o 7. move o disco p para a haste 3.
Introdução a Programação de Computadores
• Algoritmo 3: (Notação criada)o 1. p -> h3. o 2. m -> h2. o 3. p -> h2. o 4. g -> h3. o 5. p -> h1. o 6. m -> h3. o 7. p -> h3.