Introdução à Programação e Algoritmos. Aécio Costa



Documentos relacionados
Dadas a base e a altura de um triangulo, determinar sua área.

1.1. Organização de um Sistema Computacional

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Introdução à Lógica de Programação

Resolução de problemas e desenvolvimento de algoritmos

Aula 10 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

UFRPE Prof. Gustavo Callou

Algoritmos. Cláudio Barbosa

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. Isac Aguiar isacaguiar.com.br

10/02/2015. As linguagens. Algoritmos e Lógica de programação. Os produtos. Os ingredientes. Introdução. Atuais:.Net Java Delphi PHP

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Lição 1 Introdução à programação de computadores

CP C U P U - Un U i n da d d a e d e Ce C n e t n ral a de d e Pr P oc o es e sam a e m n e t n o o Pr P oc o es e sad a o d r o Aula 03

Programação Estruturada

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

Princípios de funcionamento dos computadores

ICC Introdução para JavaScript

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Processamento da Informação Teoria. Algoritmos e Tipos de dados

3/19/2014. Compilador DEV C++ ENGENHARIAS LÓGICA DE PROGRAMAÇÃO Henry Lubanco/ Joelio Piraciaba

Figura 1 - O computador

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

Algoritmos e Programação de Computadores

Lógica. Everson Santos Araujo

Lógica de Programação

Introdução à Computação

COMPUTADOR SIMPLIFICADO E COMPUTADOR DIGITAL. Algoritmos e Programação APG0001

Introdução à Programação de Computadores

Computação Eletrônica

Algoritmos e Programação de Computadores I. Prof. Eduardo

Algoritmos e Pseudocódigo

Conceitos Importantes:

Sistema de Computação

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Introdução à Arquitetura de Computadores

Linguagem algorítmica: Portugol

Introdução aos Sistemas da InformaçãoAula 4 p. 1

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

LÓGICA DE PROGRAMAÇÃO

Algoritmos e Linguagem de Programação de Computadores I

2ª Lista de exercícios

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

BC0501 Linguagens de Programação

A Estação da Evolução

Programação 1. Rafael Vargas Mesquita. ftp://ftp.ci.ifes.edu.br/informatica/mesquita/

Introdução à Programação

Introdução à Computação para o Ensino Médio. Centro Técnico Científico

Programação I. Introdução a Lógica de Programação

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

3. O NIVEL DA LINGUAGEM DE MONTAGEM

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber

Aula 2 Modelo Simplificado de Computador

1 Como Funciona um Computador

ISL - Introdução. Sistema. Binário. Introdução. Tipos de Computador. Sub title text goes here. Unused Section Space 2. Unused Section Space 1

1ª Lista de exercícios

Santa Cruz do Sul, outubro de 2015.

Apresentação da disciplina Introdução a Programação

Disciplina: Introdução à Informática Profª Érica Barcelos

Orientação a Objetos

INFORMÁTICA BÁSICA. Prof. Rafael Zimmermann

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de / 25

Componentes de um computador típico

A4 Projeto Integrador e Lista de Jogos

ARQUITETURA DE COMPUTADORES

Componentes da linguagem C++

Estruturas de Repetição Parte II PARA-ATÉ

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

Introdução a Programação

Usando o simulador MIPS

Aula 01 Introdução à Informática. Prof. Bruno Gomes

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

Excel Planilhas Eletrônicas

OBI2014 Caderno de Tarefas

Metodos de Programação

Introdução à Informática Professor: Juliano Dornelles

CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO

Disciplina: Organização de computadores

INFORMÁTICA - BICT (noturno)

COLETOR DE DADOS. 1. Verificar ou alterar o modo de interface para avançado COLETOR DE DADOS

CAPITULO 5 COMANDO DE FLUXO IF

Introdução à Programação 2006/07. Computadores e Programação

Software Básico (INF1018)

Tutorial do administrador do HelpCenterLive (Sistema de Ajuda)

1. Instalação do Remessa Q Prof Trabalhando com o Remessa Q Prof Botão Opções e suas Funcionalidades Aba Título...

Sistema de Automaçaõ de Vendas Manual Passo a Passo

Introdução a Informática. Prof.: Roberto Franciscatto

Lição 1 - Criação de campos calculados em consultas

Introdução à Lógica de Programação (cont.)

Organização Básica do Computador

PROJETO INFORMÁTICA NA ESCOLA

Transcrição:

Aécio Costa

Programação é a arte de fazer com que o computador faça exatamente o que desejamos que ele faça.

O que é um Programa? Uma seqüência de instruções de computador, para a realização de uma determinada tarefa.

... E o que é uma Instrução? É um comando referente a uma operação elementar que o computador seja capaz de executar.

Exemplos de instruções: Colocar Negrito em um texto; Deletar um arquivo; Criar uma pasta; Copiar um conjunto de Arquivos; Enviar uma mensagem; Clicar em botão.

Algoritmos Um conjunto finito de regras que provê uma sequencia de operações para resolver um tipo de problema específico, em um tempo determinado (Knuth, 1997). Sequência ordenada, e não ambígua, de passos que levam à solução de um dado problema (TREMBLAY) IMPORTANTE ENTENDER A SEQUÊNCIA LÓGICA

Algoritmos Seqüência de instruções, cuja execução resulta na realização de uma determinada tarefa. Exemplos: Receita de bolo Partitura de uma música Assistir um Filme Procedimentos para cálculo com operações fundamentais da aritmética Instruções para matrícula na faculdade Fazer um sanduíche.

Algoritmos Fazer um Sanduíche Instruções: 1. Pegar um pão 2. Cortar o pão ao meio 3. Pegar a maionese 4. Passar maionese nas fatias de pão 5. Pegar alface e tomate 6. Cortar alface e tomate 7. Colocar alface e tomate no pão 8. Pegar um hambúrguer 9. Fritar o hambúrguer 10. Colocar o hambúrguer no pão 11. Juntar as fatias do pão cortado

Algoritmos Exemplo: Assistir um Filme Instruções: 1. Insira a fita no video cassete; 2. Acionar a tecla rr para Rebobinar a fita; 3. Acionar a tecla Play; 4. O Filme irá começar...

Algoritmos Exemplo: Assistir um Filme Instruções: E se a fita estiver rebobinada? Gera um Problema! 1. Insira a fita no video cassete; 2. Acionar a tecla rr para Rebobinar a fita; 3. Acionar a tecla Play; 4. O Filme irá começar...

Algoritmos Geralmente, um problema possui algumas alternativas de soluções que chegam ao resultado correto, podendo existir vários algoritmos que solucionem um determinado problema.

Algoritmos Fases básicas da construção de algoritmos

Fases básicas - ENTRADA O que você identificou que vai precisar que o usuário ou alguém lhe informe? (via teclado, leitor de código de barras ou mouse). Ou seja, os valores de trabalho do algoritmo, o que precisa ser perguntado ao usuário. Escreva um programa que recebe 2 notas de aluno e calcula a média aritmética delas. Escreva um algoritmo para ler o preço e a quantidade de um produto e calcula o preço a pagar pelo mesmo. Escreva um algoritmo para calcular o salário líquido de um funcionário, a partir do número de horas trabalhadas e da quantidade de dependentes. Sabe-se que o valor da hora é de 12 reais, que se recebe 40 reais por cada dependente e que é descontado um total de imposto de 12% do valor do salário bruto (salário sem descontos).

Fases básicas - PROCESSAMENTO Que tipo de cálculos serão necessários para resolver o problema? Há alguma checagem a ser feita com os dados? Existe alguma decisão a ser tomada dentro do algoritmo? Existem operações de processamento que precisarão ser realizadas mais de uma vez? Ou seja, o que é preciso fazer para que o algoritmo gere as saídas esperadas?

Fases básicas - SAÍDA Quais os resultados que necessitarão ser apresentados aos usuários? O que deve ser impresso pelo algoritmo na tela/monitor do computador? Geralmente, essa parte vem expressa no enunciado do problema, é o que o problema pede.

Componentes Unidade de Entrada Conjunto de componentes que podem ser conectados ao computador para permitir a comunicação com o mundo real para coleta de dados relevantes aos problemas que o mesmo possa estar inserido; Teclado, Mouse, Leitor de Código de Barras, etc...

Componentes Unidade de Saída Componentes eletrônicos que podem ser conectados ao computador para permitir a comunicação dele com o mundo real. Impressora, Monitor, etc...

Processamento Procedimentos utilizados para chegar ao resultado final. Componente eletrônico que executa a instrução corrente e determina qual a próxima instrução a ser executada, sendo também chamado de CPU (Central Processing Unit) ou UCP (Unidade Central de Processamento);

Elementos Memória Principal Ram, usadas em processamento. Dispositivo que consisti em uma seqüência finita de unidades de armazenamento identificadas por um endereço único, descrito por um número inteiro não negativo e responsável pelo armazenamento de programas e dados que serão manipulados pelo computador; Memória Secundária HD

Representação de Algoritmos Descrição Narrativa Fluxograma Linguagem Algorítmica ou Pseudocódigo

Descrição Narrativa Tomar Banho: 1. Entrar no banheiro e tirar a roupa; 2. Abrir a torneira do chuveiro; 3. Entrar na água; 4. Ensaboar-se; 5. Sair da água; 6. Fechar a torneira; 7. Enxugar-se; 8. Vestir-se.

Descrição Narrativa Calcular a média de um aluno 1. Obter as suas 2 notas de provas do aluno; 2. Calcular a média aritimética das notas; 3. Se a média for maior que 6, mostrar na tela uma mensagem dizendo que o aluno foi aprovado, senão mostrar uma mensagem que foi reprovado.

Representação Fluxograma

Representação de Algoritmos Pseudocódigo

Lógica É a ciência que estuda as leis do raciocínio; é a correção/validação do pensamento; é o encadeamento, ordenação de idéias; é a arte de pensar.

Lógica de Programação Encadeamento lógico de instruções para o desenvolvimento de programas.

Linguagem de Programação conjunto de ferramentas, regras de sintaxe e símbolos ou códigos que nos permitem escrever programas de computador.

Linguagens de Programação

Linguagens de Programação - TIOBE

Linguagens de Programação - TIOBE

Exemplo de Instruções em diversas Linguagens Pascal Pyton Java PHP Lua writeln( Oi ); Print Oi System.out.println( Oi ); echo Oi ; print( Oi );

Linguagem de Máquina Linguagem na qual o computador entende as instruções. (Números Binários 0 e 1).

Linguagem de Montagem Assembly Language Números substitídos por símbolos ou palavras (Tabela ASCII) 0100001 = A

Linguagem de Alto Nível Algo mais próximo do entendimento do ser humano. Exemplo: Pascal, Delphi, PHP, Java, Pyton...

Lógica de Programação Objetivo: Resolução de Problemas A média de três notas de um Aluno: Nota 1 = 7 Nota 2 = 5,5 Nota 3 = 8 Média =?

Lógica de Programação Instruções: 1. Determine a quantidade de números; 2. Some os números dados; 3. Divida esta soma pela quantidade de números.

Lógica de Programação Resultado em um Algoritmo: 1. N = 3; 2. Soma = Nota1 + Nota2 + Nota3; 3. Resultado = Soma N

Lógica de Programação Objetivo: Resolução de Problemas Quem tem a maior média: Pedro: Nota 1 = 7, Nota 2 = 5,5 Nota 3 = 8 Maria: Nota 1 = 3, Nota 2 = 10, Nota 3 = 7,5 Quem tem melhor Média =?

Lógica de Programação Instruções: 1. Determine a quantidade de notas; 2. Somar as notas de cada estudante; 3. Dividir esta soma pela quantidade de notas; 4. Comparar qual deles tem a maior média.

Lógica de Programação Resultado em um Algoritmo: 1. N = 3; 2. SomaMaria = Nota1 + Nota2 + Nota3; 3. SomaPedro = Nota1 + Nota2 + Nota3; 4. ResultadoPedro = SomaPedro N; 5. ResultadoMaria= SomaMaria N; 6. Se ResultadoPedro > ResultadoMaria Entao Pedro tem melhor média se não Maria tem melhor média ;

Lógica de Programação Algoritmo Resolver expressões aritméticas que envolvam operações de multiplicação, divisão, soma e subtração; Realizar comparação entre valores; Repetir a execução de um conjunto de instruções até uma quantidade fixada de vezes ou condição atingida; Atribuir valor a uma variável; Substituir o valor de uma variável por outro valor; Fornecer o valor de uma variável ou emitir uma mensagem.

Resolver o Problema

Regras O camponês deseja atravessar o rio, mas ele tem que ser cuidadoso para que o lobo não coma a ovelha e para que a ovelha não coma o couve. (Só pode um de cada vez).

Resolver o Problema

Regras 1 - Somente o pai, a mãe e o policial sabem pilotar o barco 2 - A mãe não pode ficar sozinha com os filhos 3 - O pai não pode ficar sozinho com as filhas 4 - O prisioneiro não pode ficar sozinho com nenhum integrante da família 5 - O barco só pode transportar 2 pessoas por vez 6 - Você pode ir e vir com as pessoas quantas vezes precisar