Patrícia de Siqueira Ramos. UNIFAL-MG, campus Varginha. 21 de Março de 2018

Documentos relacionados
Patrícia de Siqueira Ramos. 11 de Março de 2019

Disciplina de Algoritmos e Programação

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Lógica de Programação

Aula 02 ALGORITMOS. Introdução à Computação

Lógica de Programação

Revisão Histórico das Linguagens de Programação

UNIDADE 1 CONCEITOS BÁSICOS EM ALGORITMOS

ALGORITMOS ALGORITMOS ALGORITMOS. Natureza dos passos. Apresentação das Estruturas de Algoritmos - Fluxograma

Algoritmos e Técnicas de programação. Professora: Luciana Faria

Algoritmo. Conjunto finito de instruções que permitem a realização de uma tarefa. 2.1: Introdução 2. ALGORITMOS

INTRODUÇÃO A ALGORITMOS

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

Laboratório de Programação 1 Algoritmos e a Lógica de Programação

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador

ALGORITMOS AULA 1. Profª Amanda Gondim

Fundamentos de Lógica e Algoritmos. Aula 2.3 Introdução a Algoritmos. Prof. Dr. Bruno Moreno

Introdução à Programação de Computadores Fabricação Mecânica

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo.

É neste ponto que entra o conceito de lógica de programação.

Aula 02. MC Algoritmos e Programação de Computadores. Algoritmos: Definição e Exemplos.

Desenvolvimento de algoritmos Desenvolvimento de Algoritmos

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

Conceitos Básicos. Fundamentos de Programação de Computadores

Introdução à Programação. Prof. Gustavo Callou

Introdução a Programação

Algoritmos e Técnicas de Programação

Programação de Computadores I

Estrutura e funcionamento básico de um computador

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I. Prof. Dr. Daniel Caetano

4 O conceito de variável

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

#Conceituação. Algoritmos. Eliezio Soares

INF 1005 Programação I

Algoritmos. Prof. Jonatas Bastos Site:

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

LÓGICA DE PROGRAMAÇÃO. Prof. Welber Ribeiro da Silva

Programação de Computadores

Desenvolvimento de Aplicações Desktop

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES

Computação I: Representações de Algoritmos

Introdução à Programação. Ceça Moraes

AULA Entrada/Saída, Operadores

Introdução à Programação

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Introdução a Programação de Jogos

2. ALGORITMOS. Unesp Campus de Guaratinguetá

MC-102 Aula 01. Instituto de Computação Unicamp

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES

Programação de Computadores:

Informática I. Aula 14. Aula 14-10/10/2007 1

Introdução à Programação. Conceitos Básicos de Programação

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Algoritmos e Programação

Programação de Computadores

Introdução à Computação Parte 2

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

Algoritmo. pegar uma escada; posicionar embaixo da lâmpada; buscar uma lâmpada nova; ligar o interruptor; se a lâmpada não acender, então:

Programação Básica de Computadores

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

PROGRAMAÇÃO I. Introdução

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Desenvolvimento de Algoritmos. Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza ICMC/USP

Introdução a Algoritmos

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES

Algoritmos e Programação de Computadores Disciplina:

Programação de Computadores

Programação de Computadores III

Introdução a Algoritmos

Python 3.x Introdução

Linguagens de Programação

Algoritmos I Aula 2 Lógica de Programação

Linguagens de Programação

Programação de Computadores III

Programação Estruturada Aula - Introdução a Linguagem de Programação

ALGORITMOS CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

Computadores = cérebros eletrônicos?

Algoritmos e Fluxogramas

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

Aula 1 - Introdução Cleverton Hentz

Programação de Computadores IV. Introdução a Algoritmos SLIDES CEDIDOS POR Bruno Marques

Algoritmos. Laura Goulart. 11 de Dezembro de 2018 UESB. Laura Goulart (UESB) Algoritmos 11 de Dezembro de / 12

Introdução aos Algoritmos

Ensinando a Programação

Aula 02. Algoritmos e Pseudocódigo

Ferramentas Programação. UDESC - Prof. Juliano Maia 1

Introdução à Computação

Aula 2 - Introdução Cleverton Hentz

Sistema Computacional

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

Capítulo 1 - Lógica e Algoritmos

Introdução aos Algoritmos

Universidade Federal de Goiás Instituto de Informática

CMP Algoritmos Algoritmos - Introdução Geral. Professor Vicente Paulo de Camargo

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Transcrição:

Introdução UNIFAL-MG, campus Varginha 21 de Março de 2018

Não existe, em geral, uma única solução para um problema Algumas soluções são melhores do que outras, sob algum critério Alguns problemas são casos particulares de outros similares Muitas vezes é melhor resolver um problema mais genérico, resolvendo-se uma classe de problemas e não apenas um

Fases na resolução de problemas Análise do problema Projeto do algoritmo Codificação Compilação e execução Verificação Depuração e manutenção Documentação

Exemplos de problemas 1) Contando o número de presentes em uma sala de aula: quantos alunos estão presentes na sala de aula neste momento, supondo capacidade para 50 pessoas? Uma sugestão de algoritmo narrativo seria: Todos os alunos se levantam e se atribuem o número 1 Todos os alunos se organizam em pares Em cada par, primeiro é somado o número de cada um dos dois, um deles guarda esse número e permanece de pé e o outro se assenta Os que ficarém de pé repetem o processo até que só exista um de pé

Exemplos de problemas 1) Contando o número de presentes em uma sala de aula: a) 1 b) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Exemplos de problemas 1) Contando o número de presentes em uma sala de aula: Para 1.000 pessoas, o processo termina em 10 passos Para 1.000.000 de pessoas, em 20 passos

Exemplos de problemas 2) Trocando o pneu de um carro: Verifique a existência do estepe e de um macaco Levante o carro com o macaco Tire os parafusos da roda Tire a roda do eixo Coloque a roda com pneu novo no eixo Aperte os parafusos Abaixe o carro Retire o macaco

Exercícios sobre resolução de problemas Sugira algoritmos narrativos para os seguintes problemas: Trocar uma lâmpada Sacar dinheiro no caixa eletrônico

Exemplos de problemas Trocar uma lâmpada:

Exemplos de problemas Trocar uma lâmpada: Pegue uma lâmpada nova Pegue uma escada Posicione a escada embaixo da lâmpada queimada Suba a escada levando a lâmpada nova Retire a lâmpada queimada Coloque a lâmpada nova Desça da escada Ligue o interruptor

Exemplos de problemas Sacar dinheiro no caixa eletrônico:

Exemplos de problemas Sacar dinheiro no caixa eletrônico: Insira o cartão no caixa eletrônico Solicite o saldo Digite a senha Se saldo quantia: Saque a quantia Senão: Saque o valor disponível Retire o dinheiro Retire o cartão

Algoritmo Sequência de ações executáveis para a obtenção de uma solução para um problema (ao ser lida e executada produz o resultado esperado) Instruções do tipo faça, divida etc. na forma sequencial Deve haver ordem nas instruções Evitar o uso de frases ambíguas ou imprecisas

Programa O programa é a codificação do algoritmo em alguma linguagem formal (C, C++, Pascal, Java, Python, R etc.) O computador apenas é capaz de executar o programa e não o algoritmo Assim, programar é uma habilidade que permite representar um algoritmo em uma notação (um programa) que possa ser executada por um computador

Teste: Qual a alternativa correta? Um algoritmo é: a) Uma solução para um problema que pode ser resolvido por um computador. b) Uma lista passo a passo de instruções que, caso seguidas exatamente, resolvem o problema sendo considerado. c) Uma série de instruções implementadas em uma linguagem de programação. d) Um tipo especial de notação usado por cientistas da computação.

Exemplo de algoritmo e programa: Seja o seguinte algoritmo para somar duas notas: Início Faça nota1 igual a 8 Faça nota2 igual a 9 Some nota1 e nota2 Mostre o resultado da soma Fim Ou, de uma forma mais esquemática: Início nota1 = 8 nota2 = 9 soma = nota1 + nota2 Escreva(soma) Fim

Exemplo de algoritmo e programa: Em Python, o programa poderia ser: nota1 = 8 nota2 = 9 soma = nota1 + nota2 print( A soma das notas é:, soma)

Exemplo de algoritmo e programa: Em Python, o programa poderia ser: nota1 = 8 nota2 = 9 soma = nota1 + nota2 print( A soma das notas é:, soma) Após a execução, na tela apareceria: A soma das notas é: 17

Exercício: Como você alteraria o algoritmo da soma para que ele retornasse a média das duas notas? Início nota1 = 8 nota2 = 9 soma = nota1 + nota2 Escreva(soma) Fim

Linguagens de programação As linguagens de programação mais populares são chamadas de linguagem de alto nível (Python, C++, PHP, Java, R etc. etc.) Mas o computador só consegue executar programas escritos em linguagens de baixo nível ( linguagens de máquina ou linguagens assembly ) Assim, programas escritos em linguagens de alto nível precisam ser processados antes (o que leva algum tempo) É muito mais fácil e rápido programar em uma linguagem de alto nível. Os programas ficam mais curtos, mais fáceis de ler e mais simples de alterar Além disso, as linguagens de alto nível podem rodar em diferentes tipos de computador, com pouca ou nenhuma modificação Programas em baixo nível só podem rodar em um único tipo de computador e precisam ser reescritos para rodar em outro tipo

Interpretadores compiladores Dois tipos de programas processam linguagens de alto nível fazendo a tradução para linguagens de baixo nível: interpretadores e compiladores Interpretador: lê um programa escrito em linguagem de alto nível e o executa Ele processa o programa um pouco de cada vez, alternadamente: ora lendo algumas linhas, ora realizando computações.

Interpretadores compiladores Compilador: lê o programa e o traduz completamente antes que o programa comece a rodar Programa escrito em linguagem de alto nível: código fonte Programa traduzido: código objeto ou executável Muitas linguagens modernas se utilizam desses dois processos