CURSO BÁSICO DE PROGRAMAÇÃO AULA 1. Introdução a Sistemas de Computação Noções de Lógica Introdução à Lógica de Programação

Documentos relacionados
ALGORITMOS E FLUXOGRAMAS

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

Algoritmos DCC 119. Introdução e Conceitos Básicos

PROGRAMAÇÃO BÁSICA DE CLP

Algoritmos e Programação Parte Teórica

Lógica de programação Instrução Algoritmo Diferença entre algoritmo e programa

Desmistificando o Programa de Computador

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

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

Computador Digital Circuitos de um computador (Hardware)

Implementando uma Classe e Criando Objetos a partir dela

Introdução à Engenharia de Computação

Definição de Programas de Computadores e Linguagem de Programação de Comutadores

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Organização de Computadores Software


Manual do Teclado de Satisfação Online WebOpinião

Programação em papel quadriculado

Tutorial Classmate: Resolvendo bug do X na tela. Nathalia Sautchuk Patrício

Introdução a Computação

MATERIAL DE APRESENTAÇÃO DO SCRATCH

Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes

1.1. Organização de um Sistema Computacional

Estrutura Condicional C++

Linguagem de Programação

Gestão da TI. Os custos escondidos da. Conheça os custos escondidos na gestão amadora da TI e pare de perder dinheiro.

Professor: Venicio Paulo Mourão Saldanha Site:

Roteiro. MC-102 Aula 01. Hardware e dispositivos. O que é um computador? Primeiro Semestre de A linguagem C

Montagem e Manutenção. Luís Guilherme A. Pontes

Configurando o Controle dos Pais no Windows Vista

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

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

01. Considere as seguintes proposições:

Simulador PMP - 4º Edição Exame de Certificação do PMI

O QUE É A CENTRAL DE JOGOS?

Tecnologia da Informação. Prof Odilon Zappe Jr

Introdução a Programação

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores

Conceitos básicos da linguagem C

Boletim Eletrônico de Recolhimento Manual do Sistema. Boletim Eletrônico de Recolhimento. Manual do Sistema

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Simulador CCNA Exame de Certificação da CISCO

Reaproveitando algoritmos

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

Paradigmas de Linguagens de Programação

Algoritmos e programação

Introdução à Programação de Computadores

Beats Pill. Conheça a Beats Pill

Computador. 1982: os computadores são ferramentas que nos permitem fazer cálculos rápida e comodamente

UFRPE Prof. Gustavo Callou

Sessão 2 UFCD 0804 Algoritmos

Invenções Implementadas por Computador (IIC) Patentes

GUIA RÁPIDO DE VIDEOCONFERÊNCIA RADVISION XT1000

LASERTECK SOFTECK FC MANUAL DO USUÁRIO

Manual de Utilização do PDV Klavix

Introdução. Introdução. Objetivos da Aula. Bases Computacionais da Ciência(BC-0005)

Módulo 1: Contextualização

Comandos Sequenciais if else, e Switch

Este artigo abaixo foi produzido originalmente para a Network Core Wiki. Reproduzo-a aqui na íntegra. Publicado originalmente em 07/12/2007.

O processador é um dos elementos componentes do computador moderno, sendo responsável pelo gerenciamento de todo o computador.

Conhecendo o Decoder

Convertendo Algoritmos para a Linguagem C

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

Especificação Operacional.

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº

Implementadas por Computador

Exemplo: Na figura 1, abaixo, temos: Clique aqui para continuar, que é a primeira atividade que você precisa realizar para iniciar seus estudos.

2-Introdução e Conceitos Básicos das TIC

UNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores

Vivo Soluciona TI Manual de Autoinstalação

Programação de Computadores. Turma CI-180-B. Josiney de Souza.

Projetando sem fio na H-312

O modelo do computador

Introdução à Ciência da Computação

1) Entendendo a eletricidade

O EDITOR DE APRESENTAÇÕES POWER POINT

Aula 1: Conhecendo a Calculadora

Estoque. Como controlar o estoque

LINGUAGEM C UMA INTRODUÇÃO

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Análise Estruturada de Sistemas:

Resolução da lista de exercícios de casos de uso

CONTROLADOR LÓGICO PROGRAMAVEL

PCS LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA

MODELIX SYSTEM SOFTWARE DE PROGRAMAÇÃO DE ROBÔS

Desenvolvido por: Rafael Botelho

Introdução à Computação

Atenção ainda não conecte a interface em seu computador, o software megadmx deve ser instalado antes, leia o capítulo 2.

CURSO BÁSICO DE PROGRAMAÇÃO AULA 8. Introdução ao Linux Introdução a linguagem C

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

1. Introdução - contextos de aplicações

Virtual Box. Guia. Instalação E Utilização. Criado por Wancleber Vieira wancleber.vieira@ibest.com.br

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

Prefeitura de Volta Redonda Secretaria Municipal de Educação Departamento Pedagógico Núcleo de Tecnologia Educacional Volta Redonda NTM

Guia: como instalar o Ubuntu Linux

Representação do Conhecimento

MF = (M1 * 0,4) + (M2 * 0,6) MF < 6 MF = (MF * 0,6) + (EXA * 0,4)

Ambiente de Simulação Virtual para Capacitação e Treinamento na Manutenção de. Disjuntores de Subestações de Energia Elétrica,

Data 23/01/2008. Guia do Professor. Introdução

Transcrição:

CURSO BÁSICO DE PROGRAMAÇÃO AULA 1 Introdução a Sistemas de Computação Noções de Lógica Introdução à Lógica de Programação

Componentes de um Sistema de Computação - Hardware Parte física de um sistema de Computação Corresponde a todos os elementos materiais que constituem o computador e seus periféricos Seus componentes básicos são: Dispositivos de entrada e saída Memórias Unidade Central de Processamento (UCP)

Componentes de um Sistema de Computação - Software Conjunto de instruções escrito em linguagem de máquina que instrui o computador como realizar suas tarefas. Pode ser dividido em dois grandes grupos: Software Básico: programas que tem a função de operar e manter um sistema de computação (Ex: Sistemas operacionais, compiladores, interpretadores, utilitários, etc.). Software Aplicativo: Programas especializados que realizam tarefas específicas (Ex. processadores de texto, planilhas eletrônicas, programas de controle de estoque, etc.).

Sistema Operacional Exemplos Windows Macintosh OSX Linux Android

Programação O que é? É o processo de escrita, teste e manutenção de um programa de computador. Linguagens de programação são usadas para a escrita de programas. O que é um programa? Um programa é, um conjunto de instruções que descreve uma tarefa no qual o computador a executa. Como funciona? A programação é feita através de linguagens de programação, que seguem alguns paradigmas na criação de um algoritmo. Este algoritmo é traduzido para uma linguagem que o computador pode entender para então ser executado.

Linguagens de Programação Linguagem de programação de alto nível: Conjunto de instruções em linguagem semelhante à humana, na qual podemos descrever procedimentos de forma mais amigável. A tradução é feita por compiladores e interpretadores Linguagem de Montagem: Conjunto de instruções simples, equivalentes aos das linguagens de máquina, porém são expressas na forma de termos mnemônicos para facilitar a programação. A tradução é feita por montadores. Linguagem de máquina: Conjunto de instruções simples em formato binário que podem ser executadas diretamente pelo hardware a partir do Sistema Operacional.

Paradigmas de Programação Regras que um programador precisa basear-se no momento da montagem de uma estrutura de um programa; Declarativa - TSQL; Procedural - C; Orientada a Objetos - Java; Linguagens de Programação Funcional - LISP; Linguagens de Programação Lógica - PROLOG;

Exemplo C int main (int argc, char** argv) { printf( Hello World!\n ); return (0); }

Compiladores e Interpretadores O que são? Compiladores e Interpretadores são programas de computador que traduzem um código de uma linguagem de programação a outra, normalmente para linguagem de montagem ou de máquina. Quais são as diferenças? Um compilador traduz e cria outro código, que pode ser executado posteriormente sem a necessidade do código fonte do software. Um interpretador faz a tradução do código em tempo real, onde para a execução do programa, é necessário o código fonte original. Quando usar. O uso de um interpretador ou compilador depende da linguagem de programação escolhida. Algumas são compiladas, e outras interpretadas, ou ainda são compiladas para um código intermediário para então serem interpretadas.

Noções de Lógica Lógica pode ser considerada o estudo dos processos válidos que atingem a verdade. O aprendizado da Lógica auxilia os estudantes no raciocínio, na compreensão de conceitos básicos, na verificação formal de programas e melhor os prepara para o entendimento do conteúdo de tópicos mais avançados. A Lógica matemática basicamente visa verificar a validade de argumentos a partir de determinadas premissas.

Noções de Lógica Premissa: Todo homem é mortal. Premissa: Maxwell é homem. Conclusão: Logo, Maxwell é mortal. Uma premissa é uma fórmula considerada verdadeira. A partir dela, se chega a conclusões.

Noções de Lógica Proposição: sentenças declarativas afirmativas nas quais se pode afirmar se são verdadeiras ou falsas. Hoje é sábado. A neve é vermelha. A partir de um conjunto de proposições, é possível estabelecer uma sentença lógica.

Noções de Lógica Para representar uma proposição, usam-se variáveis proposicionais. Hoje é sábado : p. A neve é vermelha : q. Para conectar as variáveis proposicionais, utilizam-se conectores lógicos.

Noções de Lógica Hoje é sábado E amanhã é domingo.

Noções de Lógica Hoje é sábado E amanhã é domingo. CONECTOR LÓGICO!

Noções de Lógica Vou comer pão OU vou comer pizza.

Noções de Lógica Vou comer pão OU vou comer pizza. CONECTOR LÓGICO!

Noções de Lógica Conectores lógicos estabelecem relação entre proposições. Assim, possibilitam criar novas sentenças. Vou pra aula OU vou ficar dormindo

Noções de Lógica Conectores lógicos estabelecem relação entre proposições. Assim, possibilitam criar novas sentenças. Vou pra aula OU vou ficar dormindo proposição1 proposição 2

Noções de Lógica Conectores lógicos estabelecem relação entre proposições. Assim, possibilitam criar novas sentenças. Vou pra aula OU vou ficar dormindo proposição1 proposição 2 proposição3

Noções de Lógica Simbolicamente, os conectores lógicos são representados da seguinte forma: ^ (E) v (OU) (NÃO) (CONDICIONAL SE...ENTÃO)

Noções de Lógica As sentenças lógicas podem ser representadas em tabelas, chamadas de tabelas-verdade. Proposição1 Proposição2 Sentença V V V V F V F V V F F F

Noções de Lógica Cada conector tem uma tabela-verdade correspondente. Conector E Conector OU P Q P ^ Q V V V V F F F V F F F F P Q P v Q V V V V F V F V V F F F

Noções de Lógica Cada conector tem uma tabela-verdade correspondente. Conector SE Conector NÃO P Q P Q V V V V F F F V V F F V P P V F F V

Noções de Lógica Pelé é brasileiro : p Buenos Aires é a capital da Argentina : q Se Pelé é brasileiro, então Buenos Aires é a capital da Argentina.

Noções de Lógica Pelé é brasileiro : p Buenos Aires é a capital da Argentina : q Se Pelé é brasileiro, então Buenos Aires é a capital da França.

Noções de Lógica Pelé é brasileiro : p Buenos Aires é a capital da Argentina : q Se Pelé é russo, então Buenos Aires é a capital da Argentina.

Noções de Lógica Pelé é brasileiro : p Buenos Aires é a capital da Argentina : q Se Pelé é alemão, então Brasília é a capital da Argentina.

Noções de Lógica Windows é um sistema operacional : p Linux é um editor de textos : q O teclado é um componente de hardware : r Se Linux é um sistema operacional e Windows é um componente de hardware, então o teclado é um editor de textos.

Noções de Lógica Windows é um sistema operacional : p Linux é um editor de textos : q O teclado é um componente de hardware : r Se o teclado é um componente de hardware, então Linux é um sistema operacional ou Windows é uma marca de computador.

Noções de Lógica - Exercícios Resolva as seguintes tabelas-verdade: P Q ((P^Q) v P) Q V V V F F V F F

Noções de Lógica - Exercícios Resolva as seguintes tabelas-verdade: P Q ((P^Q) v P) Q V V V V F F V F F

Noções de Lógica - Exercícios Resolva as seguintes tabelas-verdade: P Q ((P^Q) v P) Q V V V V F V F V F F

Noções de Lógica - Exercícios Resolva as seguintes tabelas-verdade: P Q ((P^Q) v P) Q V V V V F V F V V F F

Noções de Lógica - Exercícios Resolva as seguintes tabelas-verdade: P Q ((P^Q) v P) Q V V V V F V F V V F F F

Noções de Lógica - Exercícios Resolva as seguintes tabelas-verdade: P Q (((P v Q) ^ P) Q) V V F F V F V F

Noções de Lógica - Exercícios Resolva as seguintes tabelas-verdade: P Q ( P ^ Q) (P v Q) V V F F V F V F

Noções de Lógica - Exercícios Baseado nas premissas abaixo, determine o valor lógico das sentenças: Hoje é sábado. : p O céu é branco. : q O mar é verde. : r

Noções de Lógica - Exercícios 1) Se hoje é domingo e o céu é azul, então o mar é verde. 2) Hoje é sábado ou o mar é azul. 3) Se o mar é verde e o céu é branco, então hoje é sábado e o céu é azul.

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

Algoritmos Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço finita.

Algoritmos Um algoritmo é uma sequência de passos lógicos que devem ser seguidos para chegar a determinado resultado. Um algoritmo deve ter condições de início e de fim bem definidas. Os passos a serem seguidos devem ser claros e específicos.

Algoritmos Quais os passos para trocar uma lâmpada?

Algoritmos 1. Pegar uma lâmpada nova 2. Desligar a chave geral 3. Pegar uma escada 4. Subir na escada 5. Retirar a lâmpada queimada 6. Colocar a lâmpada nova 7. Descer da escada 8. Guardar a escada 9. Ligar a chave geral 10.Ligar a nova lâmpada

Algoritmos E quais os passos para cozinhar arroz?

Algoritmos 1. Pegar uma panela 2. Colocar a panela no fogão 3. Ligar o fogão 4. Colocar óleo na panela 5. Dourar o alho e a cebola 6. Refogar o arroz 7. Adicionar água à panela 8. Adicionar sal 9. Esperar a água evaporar totalmente 10. Desligar o fogão 11. Retirar a panela do fogão

Algoritmos E se o óleo tivesse acabado, o que fazer? Essa sequência de passos não prevê desvios! Opções: Ir ao mercado comprar? Pedir ao vizinho emprestado? Fazer sem óleo?

Algoritmos 1. Pegar uma panela 2. Colocar a panela no fogão 3. Ligar o fogão 4. Se tiver óleo, colocar na panela e continuar no passo 6. 5. Se não tiver, cancelar o arroz e fazer um miojo. FIM 6. Dourar o alho e a cebola 7. Refogar o arroz 8. Adicionar água à panela 9. Adicionar sal 10. Esperar a água evaporar totalmente 11. Desligar o fogão 12. Retirar a panela do fogão

Algoritmos Os desvios escolhidos podem ser diferentes, mas o final atingindo deve significar a mesma coisa para todos os casos. É possível que desvios diferentes (ou seja, caminhos diferentes) levem ao mesmo resultado. Para indicar um desvio durante a sequência de passos, pode-se escreve Vá para x, sendo x o próximo passo a ser seguido.

Algoritmos Exemplo: algoritmo para ligar o computador. 1. Se o computador estiver ligado, FIM 2. Se o computador estiver ligado na tomada, vá para 4 3. Senão, ligar o computador na tomada 4. Aperar o botão de ligar 5. FIM

Algoritmos Os passos devem ser da forma mais direta e simples possível. Para tanto, devem conter instruções imperativas, ou seja, que expressem uma ação. Ligar o computador Pegar a panela Fechar a porta

Algoritmos Deve-se tentar deixar as instruções irredutíveis de um modo que não possam ser decompostas em mais instruções. Se um passo engloba outros, é melhor dividi-lo. Fazer login sistema Digitar usuário Digitar senha Confirmar login

Algoritmos Os passos devem ser específicos, para evitar ambiguidades e confusões. Devem ser escritos de modo a fornecer informações ricas e completas. Qual o melhor: Vá à padaria e compre um bolo. OU Vá à padaria e compre um bolo de chocolate com cobertura de brigadeiro

Algoritmos - Exemplos Faça um algoritmo para dividir dois números:

Algoritmos - Exemplos Faça um algoritmo para dividir dois números: 1. Pegar o valor do dividendo 2. Pegar o valor do divisor 3. Se o divisor for 0, vá para 6 4. Senão, calcular a divisão 5. Mostrar o resultado, FIM 6. Mostrar erro, FIM

Algoritmos - Exemplos Faça um algoritmo para calcular a média de um aluno

Algoritmos - Exemplos Faça um algoritmo para calcular a média de um aluno 1. Pegar cada nota do alunos 2. Somar cada nota 3. Dividir a soma pelo total de notas 4. Mostrar o resultado

Algoritmos - Exercícios 1. Faça um algoritmo para cozinhar um miojo. 2. Faça um algoritmo para ajudar uma pessoa a escolher entre um desktop, um notebook e um tablet. 3. Timóteo nunca usou a internet. Faça um algoritmo para ele acessar o Facebook. 4. Faça um algoritmo para um professor corrigir provas. 5. Faça um algoritmo para jogar o jogo-da-velha.

Algoritmos Mas o computador entende essas sequências de passos? Para o computador, o que significa digitar sua senha ou ligar o fogão? Computacionalmente, os algoritmos devem seguir um conjunto de instruções pré-determinadas. Essas instruções são a língua que o computador fala. Ou seja são uma linguagem de programação.

Algoritmos A Máquina Analítica não tem nenhuma pretensão de criar o que quer que seja. Pode fazer tudo o que saibamos ordenar-lhe que faça. Ada Byron, considerada a primeira programadora.

Algoritmos Desse modo, para fazer um algoritmo computacional, é preciso seguir as regras e instruções do computador. No entanto, existem outras formas de representação da lógica de algoritmos. Exemplo: fluxogramas.

Algoritmos Vamos agora considerar algoritmos com instruções pré-definidas. Para montar a sequência de passos, só é permitido usar as instruções dadas. É permitido criar desvios e diferentes caminhos. Para indicar o fim do algoritmo, basta escrever FIM.

Algoritmos Bob é um robô construído para auxiliar nas tarefas domésticas. Ele possui um braço mecânico e um sensor. O braço consegue realizar cinco movimentos: erguer, abaixar, esticar, recolher e apertar. O sensor consegue identificar qualquer objeto. Bob também consegue andar. No entanto, ele não é muito esperto e anda sem uma direção definida.

Algoritmos No entanto, Bob não sabe fazer nada. Por esse motivo, alguém precisa escrever os algoritmos para que ele funcione. Dona Maria contratou você para criar os algoritmos para que Bob faça as tarefas determinadas. Lembre-se que Bob só tem sete instruções: erguer, abaixar, esticar, recolher, apertar, identificar e andar.

Algoritmos Faça um algoritmo para Bob lavar o cabelo de Dona Maria. Ele deve chegar ao banheiro sozinho.

Algoritmos Faça um algoritmo para Bob lavar o cabelo de Dona Maria. Ele deve chegar ao banheiro sozinho. 1. Andar. 2. Identificar cômodo. 3. Se cômodo for banheiro, vá para 5. 4. Senão, vá para 1. 5. Erguer até prateleira. 6. Esticar até alcançar objeto. 7. Identificar objeto. 8. Se objeto for shampoo, ir para 11. 9. Senão, recolher 10. Vá para 6. 11. Recolher. 12. Esticar até alcançar o cabelo de Dona Maria. 13. Apertar.

Algoritmos - Exercícios Faça com que Bob realize as seguintes tarefas: 1. Encontrar o controle-remoto da TV. 2. Fazer pipoca. 3. Varrer o tapete vermelho da sala.

Fluxogramas Um fluxograma é um gráfico que demonstra a seqüência operacional do desenvolvimento de um processo. Um fluxograma procura dar uma idéia geral do processamento, mostrando quais os dados iniciais disponíveis, quais os resultados que se pretende obter com o processamento e qual o caminho a ser seguido.

Fluxogramas Início Representa o inicio do fluxograma Processo Representa o processo executando Decisão Representa uma condição Fim Representa o fim do fluxograma

Fluxograma para Trocar uma Lâmpada Início Pegar uma lâmpada A chave geral está desligada? Sim Não Desligar a chave geral Trocar a lâmpada Ligar a chave geral Fim

Fluxograma para assar um pão Início Abrir Forno Sim Precisa de lenha? Sim O forno está acesso? Não Acender o fogo Não Assar pão Colocar lenha Fim

Fluxograma para descascar batatas Início Pegar uma batata As batatas estão descascad as? Sim Cozinhar as batatas Fim Não Descascar a batata

Exercícios Faça um fluxograma mostrando como fazer um bolo. Faça um fluxograma de uma pessoa que está no hotel e precisa pegar um vôo. Faça um fluxograma mostrando como alugar um filme.

Estruturação de Algoritmos

FIM Dúvidas? Deivide, Marcelo, Mateus e Thales deividepossamai@gmail.com, marcelofudo@outlook.com, mateusteixeira_@hotmail.com, thalesbertaglia@gmail.com