Introdução à Programação de Computadores Parte I Componentes Básicos do Computador e de um Programa



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

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

1.1. Organização de um Sistema Computacional

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

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

Resolução de problemas e desenvolvimento de algoritmos

Programação para Computação

UFRPE Prof. Gustavo Callou

ICC Introdução para JavaScript

Algoritmos com VisuAlg

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

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

Linguagem algorítmica: Portugol

Conceitos Importantes:

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

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

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

Algoritmos e Programação de Computadores

CURSO DE PROGRAMAÇÃO EM JAVA

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Introdução a Programação

Algoritmos. Cláudio Barbosa

Orientação a Objetos

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Princípios de funcionamento dos computadores

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

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO

Introdução à Computação

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

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

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

ARQUITETURA DE COMPUTADORES

INTRODUÇÃO A PROGRAMAÇÃO ESTRUTURADA DE COMPUTADORES EM C

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

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

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

Introdução à Programação de Computadores

Organização e Arquitetura de Computadores I. de Computadores

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

Algoritmos e Programação Parte Teórica

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

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

ESTRUTURA CONDICIONAL

ARQUITETURA DE COMPUTADORES

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Introdução à Programação de Computadores Parte I

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

Sessão 2 UFCD 0804 Algoritmos

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

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

O modelo do computador

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Prof. Esp. Adriano Carvalho

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Algoritmos e Programação. Prof. Tarcio Carvalho

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

Conceitos básicos da linguagem C

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

ALGORITMOS E FLUXOGRAMAS

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Algoritmos Computacionais ( Programas )

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

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

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

Computação Eletrônica

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Lógica de Programação

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

Algoritmos em Javascript

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

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

Resumo da Matéria de Linguagem de Programação. Linguagem C

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

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

3. O NIVEL DA LINGUAGEM DE MONTAGEM

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal

PRONATEC FUNDAMENTOS DE HARDWARE. Prof. Kilmer Pereira

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

Disciplina: Organização de computadores

Aula 11 Introdução ao Pseudocódigo. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados

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

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

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

Introdução aos cálculos de datas

Cap.2.5: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código

Sistema de Computação

Programação Básica em Arduino Aula 2

Introdução a Java. Hélder Nunes

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

Linguagem de Programação

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

Prof. Dr. Abel Gomes Cap.4: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código

Programação II. Aula 2

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz

Transcrição:

Introdução à Programação de Computadores Parte I Componentes Básicos do Computador e de um Programa Prof. João Henrique Kleinschmidt Material elaborado pelos professores de PI

Objetivos Compreender os componentes básicos de um programa... Conhecer a arquitetura básica de um computador

Pra começar... Um dos objetivos específicos da Disciplina: Aprender e praticar a escrita de PROGRAMAS de computador para resolver problemas

Pra começar... Um dos objetivos específicos da Disciplina: Aprender e praticar a escrita de PROGRAMAS Qual é a cara de um programa de computador?

Exemplo: um programa em JAVA

Um programa tem várias partes

Um programa tem várias partes Variáveis Entrada de Dados Processamento Saída

O COMPUTADOR E SEUS COMPONENTES BÁSICOS

Arquitetura básica do processamento de dados O programa é quem determina o funcionamento do computador e ele depende da sua finalidade

Sistema Computacional: Hardware e Software Hardware está associado à parte física do sistema que suporta o processamento da informação (circuitos, placas, monitor, teclado...)

Sistema Computacional: Hardware e Software Software corresponde ao conjunto de programas responsáveis pelo controle do sistema para a execução das tarefas consideradas

HARDWARE

Hardware Básico de um Computador A arquitetura básica proposta por John von Neumann possui quatro componentes básicos:

Hardware Básico de um Computador A arquitetura básica proposta por John von Neumann possui quatro componentes básicos: I - Unidade de Entrada e Saída de Dados;

Hardware Básico de um Computador A arquitetura básica proposta por John von Neumann possui quatro componentes básicos: II - Memória;

Hardware Básico de um Computador A arquitetura básica proposta por John von Neumann o possui quatro componentes básicos: III Unidade Lógica Aritmética

Hardware Básico de um Computador A arquitetura básica proposta por John von Neumann o possui quatro componentes básicos: IV Unidade de Controle

Hardware Básico de um Computador A arquitetura básica proposta por John von Neumann o possui quatro componentes básicos: A Unidade Central de Processamento (UCP) engloba a UC e a ULA.

SOFTWARE

Tipos de Software Software de sistema, ou sistema operacional Windows, Linux, etc. Software aplicativo Editores de texto: Word, WordPerfect, etc Planilhas eletrônicas: Excel, Lotus 123, QuatroPro, etc Apresentação: PowerPoint, etc Desenho: PaintBrush, CorelDraw, etc Softwares Específicos podem ser construídos: Folha de Pagamento, Sistemas de Vendas, Sistema Acadêmico, etc

Tipos de Software Software de sistema, ou sistema operacional Windows, Linux, etc. Software aplicativo Editores de texto: Word, WordPerfect, etc Planilhas eletrônicas: Excel, Lotus 123, QuatroPro, etc Apresentação: PowerPoint, etc Desenho: PaintBrush, CorelDraw, etc Softwares Específicos podem ser construídos: Folha de Pagamento, Sistemas de Vendas, Sistema Acadêmico, etc SOFTWARE PROGRAMA

O PROGRAMA E SEUS COMPONENTES BÁSICOS

Definição de Programa É uma sequência de instruções (comandos) que, a partir de dados inseridos, obtêm um resultado que será disponibilizado por algum dispositivo de saída Entrada de Dados Processamento dos comandos de um programa Saída de Dados

Definição de Programa É uma sequência de instruções (comandos) que, a partir de dados inseridos, obtêm um resultado que será disponibilizado por algum dispositivo de saída

Analogia: Calculadora e Programa Entrada de Dados Processamento dos comandos de um programa Saída de Dados 2+5 7

Como softwares e/ou programas são construídos? Linguagens de programação são utilizadas para a construção de programas em computadores

Definição de Linguagem de Programação Conjunto limitado de símbolos e comandos, utilizados para criar programas; Método padronizado para expressar instruções para um computador; Por meio dela se estabelece uma comunicação com o computador, fazendo com que ele compreenda e execute o que o programador determinar.

Linguagem de Baixo Nível Uma linguagem de programação pode ser de baixo nível (linguagem de máquina) Linguagem Assembler

Linguagem de Alto Nível Linguagens de alto nível apresentam uma sintaxe mais próxima da linguagem natural (humana) Usam palavras reservadas extraídas do vocabulário corrente (int, public, if, else, while,...) EXEMPLO class HelloWorld { public static void main (String[] args) { System.out.println ( Alô mundo! ); } }

Histórico das Linguagens de Programação Algumas linguagens de programação, e o ano em que foram desenvolvidas:

Programas Compilados ou Interpretados Os programas escritos em linguagens de alto nível são convertidos para a linguagem de máquina através de um programa compilador, ou de um interpretador Linguagem de Alto Nível Compilador ou interpretador Linguagem de Máquina Trataremos de Compiladores e Interpretadores mais adiante

RESUMINDO...

Coisas para não esquecer Um computador executa PROGRAMAS O Sistema Computacional depende do Hardware (computador) e do Software (programas) Programas são escritos em determinadas linguagens e são traduzidos para que o computador possa executar Um programa geralmente possui 3 partes distintas: a entrada de dados, o processamento e a saída de dados A arquitetura básica de um computador é composta pelos: dispositivos de entrada e saída de dados, pela CPU (unidade central de processamento) que engloba a unidade de controle e a unidade lógica e aritmética, e a memória principal.

Introdução à Programação de Computadores Parte II Algoritmos do Dia-a-Dia e Técnica de Interpretação de Enunciado Prof. João Henrique Kleinschmidt

Objetivos Aprender a redigir rotinas comuns do dia-a-dia forma de algoritmos Conhecer uma técnica para a construção de algoritmos computacionais

Relembrando... O funcionamento de qualquer computador está baseado nessa arquitetura básica:

APRENDENDO A PROGRAMAR COMPUTADORES: POR ONDE COMEÇAR?

Aprendendo a Programar Computadores O principal componente de um programa de computador é a sua lógica, ou seja, o que o computador deve fazer para resolver um problema. Devemos então DESCREVER essa lógica numa linguagem que o computador entenda É mais fácil começar a programar (organizar a lógica) em uma linguagem de alto nível. Qual é a linguagem de mais alto nível para um ser humano que fala naturalmente o português?

Aprendendo a Programar Computadores Vamos dar os primeiros passos na arte de programar computadores, em uma linguagem mais próxima da linguagem natural. O caminho mais tranquilo é por meio de ALGORITMOS Escrever ALGORITMOS é mais simples porque focam na solução do problemas e não consideram detalhes de linguagem, etc.

ALGORITMOS

Definição de ALGORITMO É uma sequência finita de instruções, ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Um algoritmo fixa um padrão de comportamento a ser seguido, uma norma de execução, com o objetivo de resolver um determinado problema.

O que é LÓGICA? Bacharelado em Ciência e Tecnologia No dia-a-dia dizemos que é algo que é coerente, óbvio, correto. Lógica Logos + Ica É o oposto de Isso não tem Lógica Razão Ciência Estuda o raciocínio/pensamento humano. Estudo de argumentos Argumento é uma sequência de enunciados, na qual um dos enunciados é a conclusão, derivado a partir dos outros enunciados (premissas).

Silogismo - Aristóteles Um silogismo representa um argumento composto de duas premissas e uma conclusão. E estabelece uma conclusão, que pode ser válida ou não. Todos os peixes vivem na água. (premissa1) Golfinhos são peixes. (premissa 2).. Golfinhos vivem na água. (conclusão) Tanto a forma de argumento quando a conclusão são verdadeiras, apesar de esta última ter sido deduzida a partir de uma premissa falsa (golfinhos são peixes).

LÓGICA DE PROGRAMAÇÃO

Lógica de Programação Como pensar como um programador? Falar em lógica de programação significa contextualizar a lógica na construção de programas. Lógica de programação está relacionada ao raciocínio que precisamos desenvolver para resolver um problema cuja solução deverá ser implementada em um computador. Encadear pensamentos para atingir determinado objetivo.

Solução de Problemas A habilidade mais importante para um cientista da computação é a solução de problemas; A solução de problemas é a habilidade de formular questões, pensar criativamente sobre soluções possíveis e expressar uma solução de forma clara e precisa; E aprender a programar é uma excelente oportunidade de praticar as habilidades da solução de problemas.

Exemplo de Problemas Diagnosticar a doença de um paciente a partir da descrição dos sintomas, e medicá-lo. Criar um sistema de informação que permita gerir as entradas/saídas (cargas/descargas) de navios em um porto marítimo. Desenvolver um programa para controle da movimentação de um robô.

Algoritmo Um algoritmo é uma forma de representar a solução de um problema por meio de uma sequência de passos. São exemplos de algoritmos: Receitas de bolos Manuais técnicos Guias de montagem Programas de computadores

EXEMPLO DE CONSTRUÇÃO DE ALGORITMO

Problema Fazer um bolo de chocolate.

Saída Qual o resultado esperado?

Saída

Passos O que é preciso para se obter o resultado desejado? Ingredientes

Dados de Entrada Ingredientes: 5 ovos. 250 gramas de margarina cremosa. 2 xícaras (chá) de açúcar. 1 xícara (chá) de farinha de trigo. 1 xícara (chá) de chocolate. 200 gramas de côco ralado. 1 copo de leite. 1 colher (sopa) de fermento.

Passos Qual a sequência necessária (de uso dos ingredientes) para se obter o resultado desejado?

Processamento Bacharelado em Ciência e Tecnologia Modo de Preparo Bata a margarina, as gemas e o açúcar até ficar cremoso. Junte o leite, o coco e a farinha e continue batendo. Acrescente o fermento e, por último, as claras em neve. Unte uma forma com manteiga e leve ao forno para assar.

OUTRO EXEMPLO DE ALGORITMO

Algoritmo Quais os passos para realizar a troca de uma lâmpada?????????????????????? Para quem troca lâmpadas com frequência (ou já viu trocar) os passos podem ser feitos automaticamente Mas e se essa mesma pessoa tiver que deixar uma RECEITA para uma pessoa que nunca trocou uma lâmpada efetuar essa tarefa?

Algoritmo Quais os passos para realizar a troca de uma lâmpada? Pegar uma escada. Posicionar a escada embaixo da lâmpada. Buscar uma lâmpada nova. Subir na escada. Retirar a lâmpada velha. Colocar a lâmpada nova.

Algoritmo E se a lâmpada não estiver queimada? 1.??? 2.??? 3.???

Algoritmo E se a lâmpada não estiver queimada? 1. Acionar o interruptor. 2. Se a lâmpada não acender, então: Pegar uma escada. Posicionar a escada embaixo da lâmpada. Buscar uma lâmpada nova. Subir na escada. Retirar a lâmpada queimada. Colocar a lâmpada nova.

Diversas soluções para um problema Pode haver vários algoritmos para resolver um mesmo problema. Afinal, cada pessoa pensa e age de forma diferente. O desenvolvimento de algoritmos é um exercício de Criatividade Experiência

Diversas soluções para um problema Diferentes algoritmos podem estar corretos, se levarem ao alcance do objetivo final. Entretanto, deve-se procurar desenvolver algoritmos que resolvam o problema com menos esforço e maior objetividade.

ESCREVENDO ALGORITMOS

ALGORITMO: instruções ou comandos Para escrever ALGORITMOS (programas) é necessário o uso de INSTRUÇÕES / COMANDOS. Instrução/Comando: São frases que indicam as ações a serem executadas. São compostas de um verbo no imperativo, ou no infinitivo, mais um complemento. Exemplo: Bata (Bater) duas claras em neve. Ligue (Ligar) os faróis. Some (Somar) dois números. Imprima (Imprimir) resultado da soma.

Pseudolinguagem Bacharelado em Ciência e Tecnologia Formalizar a escrita de algoritmos. Escrita na forma de pseudocódigo. Problema Pseudo linguagem Linguagem de programação Linguagem de máquina se... então... senão... Java, C, Pascal, etc Zeros e uns...

Pseudolinguagem Bacharelado em Ciência e Tecnologia Uma linguagem (ou pseudolinguagem) possui duas características: Sintaxe - como escrever os comandos e seus componentes; Semântica - o significado de cada comando e conceito. A sintaxe e a semântica de uma linguagem de programação englobam várias ações, como, por exemplo: Declarações de Variáveis; Operadores; Comandos de entrada e de saída; Comandos de seleção, repetição etc.

Bloco de Execução Bacharelado em Ciência e Tecnologia Bloco de execução é um conjunto de ações que possui uma função bem definida. O início de um bloco é marcado pela palavra início. O fim de um bloco é marcado pela palavra fim. início <declaração de variáveis> <comandos> fim

Bloco de Execução Bacharelado em Ciência e Tecnologia O próprio algoritmo é um bloco de execução. A sintaxe da definição do bloco de um algoritmo é: Algoritmo <NomeDoAlgoritmo> início <declaração de variáveis> <comandos> fimalgoritmo.

TÉCNICA PARA A CONSTRUÇÃO DE ALGORITMOS

ALGORITMO Sequência do Programa O que preciso? (Entrada) Como chegar ao que quero? (Processamento) O que quero? (Saída)

ALGORITMO Passos para construção O que quero? (Saída) O que preciso? (Entrada) Como chegar ao que quero? (Processamento) Na construção do algoritmos devemos identificar primeiro a SAÍDA de dados, para então pensar nos passos necessários para chegar nessa saída

ALGORITMO Passos para a construção Identificar o problema (objetivo) mediante leitura atenta de seu enunciado (entendimento). Identificar os resultados que devem ser gerados na solução (saída de dados). Identificar no enunciado os dados a serem fornecidos para o algoritmo (entrada de dados). Determinar o que deve ser feito para transformar as entradas nas saídas desejadas (processamento).

ALGORITMO EXEMPLO Escreva um algoritmo para somar dois números quaisquer.

ALGORITMO EXEMPLO Escreva um algoritmo para somar dois números quaisquer. Identificar os resultados que devem ser gerados na solução (saída de dados)

ALGORITMO EXEMPLO Escreva um algoritmo para somar dois números quaisquer Identificar os resultados que devem ser gerados na solução (saída de dados) O resultado da soma

ALGORITMO EXEMPLO Escreva um algoritmo para somar dois números quaisquer Identificar no enunciado os dados a serem fornecidos para o algoritmo (entrada de dados)

ALGORITMO EXEMPLO Escreva um algoritmo para somar dois números quaisquer. Identificar no enunciado os dados a serem fornecidos para o algoritmo (entrada de dados). Os dois números.

ALGORITMO EXEMPLO Escreva um algoritmo para somar dois números quaisquer. Determinar o que deve ser feito para transformar as entradas nas saídas desejadas (processamento). Somar os dois números.

ALGORITMO EXEMPLO Escreva um algoritmo para somar dois números quaisquer. Organizando o ALGORITMO numa ordem coerente.

ALGORITMO EXEMPLO Escreva um algoritmo para somar dois números quaisquer. 1. Leia o número X 2. Leia o número Y 3. Some X e Y 4. Mostre o resultado da soma Entrada Processamento Saída Número X Número Y Somar X e Y Resultado da soma

Leituras Sugeridas FORBELLONE, A. L. V.; EBERSPACHER, H. F., Lógica de Programação A Construção de Algoritmos e Estruturas de Dados, Prentice Hall, 2005 CAPÍTULO 1 Introdução a Lógica de Programação

RESUMINDO...

Coisas para não esquecer: As rotinas do dia-a-dia podem ser descritas na forma de Algoritmos Escrever algorimos é mais ou menos como escrever um MANUAL para que algúem execute uma tarefa Um algoritmo computacional (para ser executado por um computador) precisa seguir alguns padrões de linguagem A construção de algoritmos a partir de um enunciado de um problema requer técnicas de compreensão e refinamento da solução Qual a SAÍDA de dados requerida? Qual a ENTRADA de dados necessária? Qual o PROCESSAMENTO necessário para transformar ENTRADA em SAÍDA?

EXERCÍCIOS DE LÓGICA

Exercício 1 Um lobo, uma cabra e uma couve têm de atravessar um rio em um barco que transporta um de cada vez, incluindo o barqueiro. Como o barqueiro os levará para o outro lado de forma que a cabra não coma a couve e o lobo não coma a cabra?

Exercício 2 Dois homens seguiam por um caminho. Um levava 8 litros de vinho em um garrafão e o outro levava 8 litros de vinho em dois garrafões, um com cinco litros e um com três. Eles beberam o vinho do garrafão maior, de 8 litros, e agora querem dividir os 8 litros de vinho restante igualmente, para nenhum dos dois carregar mais peso que o outro. Entretanto, eles só podem usar como medida, os próprios garrafões: um de 8 litros, um de 5 e um de 3. Como fazer?

EXERCÍCIOS DE ALGORITMOS

Exercício 1 Descreva a sequência de passos necessária para: Colocar um carro em movimento.

Exercício 2 Descreva a sequência de passos necessária para: Jogar o jogo da velha.

Algoritmos Computacionais: Técnica para Interpretação de Enunciado

Técnica de Interpretação de Enunciado Calcular a média aritmética a partir de 3 notas. Identificando a solução: ENTRADA, PROCESSAMENTO, SAÍDA! Qual a SAÍDA de Dados? [que resultado o algoritmo deve produzir?] média Qual a ENTRADA de Dados? [quais os insumos necessários para produzir a saída?] 3 notas (nota1, nota2, nota3)

Técnica de Interpretação de Enunciado Calcular a média aritmética a partir de 3 notas. Qual a PROCESSAMENTO necessário? [para transformar as 3 notas na média?] Somar as 3 notas (soma = nota1 + nota2 + nota3) Dividir a soma por 3 (media = soma / 3) O passo seguinte é organizar as instruções numa sequência coerente: Entrada, Processamento e Saída

Escrevendo o Algoritmo Quais as instruções necessárias para fazer: ENTRADA DE DADOS? PROCESSAMENTO? SAÍDA DE DADOS? Para começar vamos aprender as instruções na linguagem PORTUGOL PORTUGOL = Português + Algoritmo Comecemos pelo mais simples: SAÍDA DE DADOS

SAÍDA DE DADOS

SAÍDA DE DADOS EXIBE UMA MENSAGEM OU RESULTADO PARA O USUÁRIO NA TELA DO COMPUTADOR. A instrução para saída de dados em PORTUGOL é: escreva ( < mensagem>, <identificador>) EXEMPLO: escreva( Alô Mundo ) escreva( A soma é igual a, soma) Note que a mensagem está entre ASPAS DUPLAS

ENTRADA DE DADOS

ENTRADA DE DADOS INTERAGE COM O TECLADO DO COMPUTADOR OBTENDO INFORMAÇÕES QUE O USUÁRIO DIGITA A instrução para entrada de dados em PORTUGOL é: leia (<identificador>) EXEMPLO: leia (nota1)

EXEMPLO: leia (nota1) Bacharelado em Ciência e Tecnologia ENTRADA DE DADOS É sempre recomendado ANTES de um LEIA, emitir uma mensagem para o usuário indicando o que ele deve digitar EXEMPLO: escreva ( Digite a primeira nota: ) leia (nota1)

EXEMPLO: leia (nota1) Bacharelado em Ciência e Tecnologia ENTRADA DE DADOS ATENÇÃO: Qualquer dado digitado no teclado precisa ser armazenado na memória do computador! Para tal, faz-se necessário a RESERVA DE MEMÓRIA através de DECLARAÇÃO DE VARIÁVEIS

DECLARAÇÃO DE VARIÁVEIS (reserva de memória)

MEMÓRIA Declaração de Variáveis As linguagens de programação permitem que os usuário atribuam nomes (identificadores) para as posições de memória da máquina nome Armário Memória do computador idade nacionalidade profissao

MEMÓRIA Declaração de Variáveis nome Uma variável é um endereço da memória RAM, representada por um identificador (nome da variável), criado pelo usuário, cujo conteúdo pode se alterar no decorrer da execução do programa Uma variável é composta por dois elementos: Identificador: nome dado pelo programador à variável Conteúdo: valor atual da variável

MEMÓRIA Declaração de Variáveis Identificador conteúdo nome Maria Carla nome idade Identificador conteúdo Identificador conteúdo idade 17 salario 1342.50 salario Uma variável assume apenas UM único valor por vez Ao alterar o salário, por exemplo, perde-se o valor anterior

MEMÓRIA Declaração de Variáveis O identificador deve ser uma palavra que reflita o conteúdo Por exemplo: idade ao invés de numero Identificador conteúdo idade 17 Identificador conteúdo numero 17

TIPOS DE DADOS

Declaração de Variáveis TIPOS DE DADOS Ao declarar uma variável é necessário informar ao computador que tipo de dado aquela gaveta pode armazenar Os tipos de dados básicos são: Inteiro - armazena números inteiros Real - armazena números com casas decimais Logico - armazena verdadeiro ou falso Caracter - armazena UMA letra ou UM caracter especial, etc. Cadeia - armazena VÁRIAS letras ou caracteres

Declaração de Variáveis TIPOS DE DADOS Os tipos de dados básicos são: inteiro, real logico caracter, cadeia Forma Geral: <tipo_de_dado> <Identificador> Exemplos: inteiro idade real nota1, nota2, nota3 caracter conceito cadeia sobrenome

PROCESSAMENTO OPERADORES BÁSICOS

Processamento - OPERAÇÕES O processamento de dados geralmente é realizado com o uso de operadores Os símbolos dos operadores aritméticos são: adição + subtração - multiplicação * divisão / Exemplos: nota1 + nota2 soma / 2 A PRECEDÊNCIA DE OPERADORES É A MESMA DA MATEMÁTICA: Multiplicação e divisão tem prioridade sobre Adição e subtração Assim na expressão 5 + 3 * 2 Primeiro processa 3 * 2 e depois soma com 5 Parênteses mudam a prioridade: Ou seja, (5+3)*2 faz com que a soma ocorra primeiro

Processamento - OPERAÇÕES Um operador importante é o de operador de atribuição que possibilita armazenar valores e resultados nas variáveis O símbolo do operador de atribuição é = (sinal de igual) Variáveis real nota1, nota2, soma caracter conceito Exemplos: soma = nota1 + nota2 media = soma / 2 conceito = A Lê-se recebe (exemplo: conceito recebe o valor A) Note que sendo conceito do tipo caracter é necessário o uso da aspas simples no conteúdo.

Exemplo de OPERAÇÕES Variáveis inteiro a, b, x, y, k real z, h x = a + b y = (a * 4) + b z = y / x k = x / 2 h = x / 2 a 5 y 30 z 2.0 k 7 h 7.0 b 10 x 15 Atenção: Note que k é inteiro e o resultado foi TRUNCADO (ficando 7 ao invés de 7.5) Atenção: Note que mesmo h sendo real o resultado foi TRUNCADO (ficando 7 ao invés de 7.5) pois tanto x como 2 são INTEIROS.

RETOMANDO O PROBLEMA Calcular média de 3 notas

Técnica de Interpretação de Enunciado Calcular a média aritmética a partir de 3 notas. SAÍDA de Dados: Média ENTRADA de Dados: 3 notas (nota1, nota2, nota3) PROCESSAMENTO: Somar as 3 notas (soma = nota1 + nota2 + nota3) Dividir a soma por 3 (media = soma / 3)

SOLUÇÃO: ALGORITMO em PORTUGOL Calcular a média aritmética a partir de 3 notas. real nota1, nota2, nota3, soma, media 1. leia (nota1) 2. leia (nota2) 3. leia (nota3) 4. soma = nota1 + nota2 + nota3 5. media = soma / 3 6. escreva (media) Note que para as operações não é necessário o uso de um verbo imperativo

ALGORITMO Solução mais completa Entrada de Dados com Mensagem para o Usuário real nota1, nota2, nota3, soma, media 1. escreva( Digite a primeira nota : ) leia (nota1) 2. escreva( Digite a segunda nota : ) leia (nota2) 3. escreva( Digite a terceira nota : ) leia (nota3) 4. soma = nota1 + nota2 + nota3 5. media = soma / 3 6. escreva ( A média é =, media) soma 18.0 nota1 5.0 nota2 6.0 nota3 7.0 media 6.0

SOLUÇÃO NO AMBIENTE PORTUGOL STUDIO

O PortugolStudio é um software interpretador de programas escritos em PORTUGOL Declaração de Variáveis

RESUMINDO...

Coisas para não esquecer: DECLARAÇÃO DE VARIÁVEIS Identificador e Tipo de Dados Exemplo: inteiro idade SAÍDA DE DADOS Comando ESCREVA Exemplo: escreva ( Digite sua Idade: ) ENTRADA DE DADOS Comando LEIA Exemplo: leia (idade)

Coisas para não esquecer: OPERADORES ARITMÉTICOS ARITMÉTICOS: + / - * Exemplo: (nota1 + nota2) / 2 OPERADOR DE ATRIBUIÇÃO ATRIBUIÇÃO: = Exemplo: media = (nota1 + nota2) / 2 AGORA É PRATICAR!!!

Algoritmos Computacionais Parte II Exercícios Resolvidos

Objetivos Aplicar a técnica de interpretação de enunciados para a escrita de algoritmos computacionais em PORTUGOL

Exercícios Escreva um algoritmo para calcular a distância entre duas cidades.

Calcular a distância entre duas cidades. Identificando a solução: ENTRADA, PROCESSAMENTO, SAÍDA! Qual a SAÍDA de Dados? [que resultado o algoritmo deve produzir?] distancia Qual a ENTRADA de Dados? [quais os insumos necessários para produzir a saída?] (*) Para simplificar considerar que as cidades estão numa mesma rodovia Localização das duas cidades(cidade1, cidade2)

Calcular a distância entre duas cidades. Qual a PROCESSAMENTO necessário? [para transformar as duas localizações em distancia?] Subtrair as duas quilometragens distancia = cidade2 cidade1 (*) desconsiderar o sinal negativo caso ocorra O passo seguinte é organizar as instruções numa sequência coerente: Entrada, Processamento e Saída

Solução em PORTUGOL

Calcular a distância entre duas cidades. real cidade1, cidade2, distancia 1. escreva( Digite a localização (km) da cidade 1: ) leia (cidade1) 2. escreva( Digite a localização (km) da cidade 2: ) leia (cidade2) 3. distancia = cidade2 cidade1 4. escreva ( A distancia entre as duas cidade é =, distancia) 5. escreva ( ATENÇÃO: desconsidere sinal negativo ) cidade1 162 cidade2 267 distancia 105

AGORA É PRATICAR!!!