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

Documentos relacionados
Técnicas de Programação

Computação Eletrônica

Capítulo 1 - Lógica e Algoritmos

INTRODUÇÃO A PROGRAMAÇÃO

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

Programação de Computadores:

Introdução à Lógica de Programação. Adaptação de Luis Otavio Alvares

GFM015 Introdução à Computação. Algoritmos. Ilmério Reis da Silva UFU/FACOM

Programação de Computadores III

Programação de Redes de Computadores

Algoritmos e Linguagem de Programação I

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

Lógica de Programação

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

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

3.1 - O que é um diagrama de bloco? Simbologia... 11

Introdução à Programação. slides de Deise Sacol

Introdução à Lógica de Programação Utilizando Perl. Thiago Yukio Kikuchi Oliveira

Lógica de Programação

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. ANÁLISE E DESENVOLVIMENTO DE SISTEMAS/PARANGABA PROF. MS. RONNISON REGES VIDAL Ceará, 01 de fevereiro de 2017

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

UFCD 0804 Algoritmos

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

INTRODUÇÃO À PROGRAMAÇÃO. Introdução à Algoritmos. Prof. Me. Sérgio Carlos Portari Júnior

Portugol. Tiago Alves de Oliveira

Lógica de Programação

Treinamento Olimpíada Brasileira de Informática

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

Introdução à Computação: Máquinas Multiníveis

Algoritmos. Prof. Jonatas Bastos Site:

Introdução à Programação

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

Introdução à Algoritmos. Professora: Fabíola Gonçalves.

Introdução a Computação

Introdução a Programação

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

Introdução à Computação

ALGORITMOS AULA 1. Profª Amanda Gondim

Algoritmos e Programação. Noções de Lógica e Algoritmos Tarcio Carvalho

Disciplina de Algoritmos e Programação

01/08/2011. Introdução Lógica Sequencia lógica Instruções Algoritmos Programas. Lógica. Lógica na programação. Instrução.

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Introdução a Computação

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Técnicas de Programação. Prof. André Y. Kusumoto

Capítulo 1 Conceitos Básicos

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

Linguagem de Descrição de algoritmos

Aula 4 Introdução ao C

CURSO de NIVELAMENTO INTRODUÇÃO À PROGRAMAÇÃO

Introdução a Programação

Prof. Paulo Villa Aula 1

Introdução a Programação de Jogos IUE1503

Aula 3: Algoritmos: Formalização e Construção

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

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

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

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

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Fundamentos de Programação

TCC 00308: Programação de Computadores I Introdução

Introdução à Programação. Vanessa Braganholo

Algoritmos e Programação

Introdução a Computação

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação

Aula 1: Desenvolvimento de Algoritmos

AULA 02. Lógica de Programação. Centro Educação Profissional Ezequiel Ferreira Lima CEPEF. Curso Técnico em Eletrônica.

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

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

INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO

INTRODUÇÃO A ALGORITMOS

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

Fig.1: Ilustração de Lógica Fonte: Internet

Transcrição:

Sistemas Operacionais e Introdução à Programação Introdução à Lógica de Programação 1

Lógica: técnica de de encadear pensamentos para atingir determinado objetivo Entender o problema a ser resolvido Decompor o problema em partes menores, para sua simplificação Determinar as operações elementares necessárias para a solução Determinar a sequência com que essas operações devem ser realizadas 2

Problema exemplo: Há três recipientes com tamanhos distintos: um com 8 litros, outro com 5 litros e o terceiro com 3 litros. O recipiente com 4 litros está completamente cheio. Deseja-se colocar 4 litros em dois recipientes. Considere que os recipientes não são graduados. i) Qual o resultado esperado? ii) Quais as operações elementares? iii) Qual a sequência de operações para resolvê-lo? 3

A resolução de problemas envolve a descrição dos pensamentos em uma sequência de instruções a ser seguida para cumprir uma tarefa. Definir a sequência lógica: passos a serem executados até atingir um objetivo ou solução de um problema Instruções: regras (ordens) ou normas definidas para a realização ou uso de alguma coisa. Em computação, é uma ação elementar a ser executada pelo computador Uma instrução isolada não faz muito sentido Portanto, é importante saber traduzir a resolução de um problema em uma sequência de instruções que o computador saiba fazer. 4

Problema exemplo: Estando você inicialmente fora do carro, identifique as instruções e a respectiva sequência lógica para pô-lo em movimento. Outro problema: Descreva as instruções e respectiva sequência lógica para localizar uma palavra em um dicionário. 5

Algoritmo: uma sequência finita de passos que levam a execução de uma tarefa. Uma receita, com uma sequência de instruções que cumprem uma meta específica A definição de uma tarefa deve ser clara e precisa: não pode ser vaga, dúbia ou redundante Propriedades de algoritmos: Ações simples e bem definidas (não ambíguas) Sequência ordenada de ações Sequência finita de passos 6

Algoritmos: exemplos Procedimentos para operações aritméticas básicas: adição, subtração, multiplicação, divisão,... Procedimentos em manuais de aparelhos eletrônicos: gravação de um programa de TV em DVD, digitalização de um documento em uma impressora multifuncional,... Uma coreografia Uma receita de bolo Uma pesquisa em uma lista telefônica Procedimento para obtenção de passaporte 7

Exemplos de algoritmos: A) soma de dois números quaisquer pelo computador, os quais devem ser fornecidos pelo teclado 1. Ler o primeiro número pelo teclado 2. Ler o segundo número pelo teclado 3. Somar os dois números 4. Apresentar o resultado na tela 8

Exemplos de algoritmos: B) Par ou ímpar entre usuário e computador: 1. Apresentar as opções para o usuário: P (Par) e I (Ímpar) 2. Ler do teclado a opção do usuário 3. Ler do teclado o número escolhido pelo usuário 4. Sortear um número aleatório 5. Somar número do usuário e número do computador 6. Se escolha do usuário for par e soma for par, então usuário vence e termina algoritmo 7. Se escolha do usuário for ímpar e soma for ímpar, então usuário vence e termina algoritmo 8. Computador vence 9

Exemplos de algoritmos: C) Identificar a causa da queda de energia: Numa determinada noite acontece uma queda de energia. Você sabe que pode encontrar uma vela na gaveta da cozinha, um lampião embaixo da cama, fusíveis de reserva no armário da sala, e fósforos na estante da cozinha. Descreva a sequência de passos que poderia ser utilizada para diagnosticar e resolver o problema, que pode ter sido causado por: i) Queima de um fusível ii) Queda na subestação da companhia elétrica 10

Exemplos de algoritmos: D) Problema da travessia: um barqueiro precisa levar um saco de milho, uma galinha e uma raposa para o outro lado do rio. Porém o barco somente é capaz de levar uma coisa de cada vez (além do barqueiro). Qual a sequência de travessias necessária para atravessar o milho, a galinha e a raposa? 11

Exemplos de algoritmos: E) Desenho de uma figura uma folha de papel: 1. Dobre a folha de papel de forma que a margem superior fique perfeitamente alinhada com a margem esquerda. 2. Mantendo a folha dobrada, dobre sua porção inferior de forma que o eixo da dobradura coincida com a linha entre a junção da ponta superior direita da folha com a margem esquerda, e o ponto onde a margem direita iniciou a primeira dobradura 3. Pressione a segunda dobradura, de forma que o papel fique com um vinco 4. Desfaça a segunda dobradura 5.Desfaça a primeira dobradura 6. Pegue uma caneta 12

Exemplos de algoritmos: E) Desenho de uma figura em uma folha de papel (cont): 7. Posicione a ponta da caneta a um dedo de distância das margens superior e esquerda, e pressione-a para que fique marcado um ponto 8. Posicione a ponta da caneta a um dedo de distância das margens superior e direita, e pressione-a para que fique marcado um ponto 9. Posicione a ponta da caneta a um dedo de distância das margens direita e do vinco da segunda dobradura, e pressione-a para que fique marcado um ponto 10. Posicione a ponta da caneta a um dedo de distância das margens esquerda e do vinco da segunda dobradura, e pressione-a para que fique marcado um ponto 13

Exemplos de algoritmos: E) Desenho de uma figura em uma folha de papel (cont): 11. Posicione a ponta da caneta no ponto entre as margens superior e esquerda. 12. Mantendo a ponta da caneta no papel, risque até o ponto entre as margens superior e direita 13. Mantendo a ponta da caneta no papel, risque até o ponto entre as margens direita e o vinco da segunda dobradura 14. Mantendo a ponta da caneta no papel, risque até o ponto entre as margens esquerda e o vinco da segunda dobradura 15. Mantendo a ponta da caneta no papel, risque até o ponto entre as margens esquerda e superior 16. Tire a ponta da caneta do papel 17. Fim 14

Exemplos de algoritmos: F) Há três hastes. Uma das hastes serve de suporte para três discos de tamanhos diferentes. Um disco menor sempre é colocado sobre um disco maior. A figura abaixo ilustra as hastes e os discos: Desejam-se mover os três discos para a haste da direita. Porém só pode se mover um disco por vez, e um disco maior nunca pode ficar sobre um disco menor. Operações possíveis: Move disco,haste Descreva o algoritmo para resolver esse problema. 15

Uma solução narrativa: 1. Move disco p para a haste 2 2. Move disco m para a haste 3 3. Move disco p para a haste 3 4. Move disco g para a haste 2 5. Move disco p para a haste 1 6.Move disco m para a haste 2 7. Move disco p para a haste 2 Uma solução em forma gráfica 16

Exemplos de algoritmos: Refaça o algoritmo para o caso de haver quatro discos. Quantos passos teria o algoritmo para qualquer número de discos? 17

Programas: tradução dos algoritmos em uma linguagem de programação, para que possam ser executados pelo computador Linguagens de programação: Muito mais rígidas e específicas que linguagem natural (a que usamos) Não dão margem a subjetividade... Exemplos: C, C++, Java, PHP, Pascal, Assembly, Python, Ruby, Perl, Cobol, C#, Fortran,... 18

Algoritmo de soma de dois números traduzido para linguagem C: int main() { int x, y, soma; } printf( Entre com primeiro número: ); scanf( %d, &x); printf( Entre com segundo número: ); scanf( %d, &y); soma = x + y; printf( Soma = %d\n, soma); return 0; Edição, compilação e execução desse programa 19

Exercícios: 1) Faça um algoritmo detalhado para trocar o pneu de um carro 2) Faça um algoritmo para dividir um número por outro, sabendo que você tem disponível apenas a operação de subtração 3) Faça um algoritmo para encontrar as raízes de uma equação de 2 o grau 4) Faça um algoritmo para desenhar um polígono qualquer, sabendo que as operações possíveis são: ponha caneta no papel, tire caneta do papel, risque X centímetros, mude a direção de risco. 20