1. INTRODUÇÃO E CONCEITOS BÁSICOS

Tamanho: px
Começar a partir da página:

Download "1. INTRODUÇÃO E CONCEITOS BÁSICOS"

Transcrição

1 1 1. INTRODUÇÃO E CONCEITOS BÁSICOS 1.1. OBJETIVOS DA DISCIPLINA Preparar o aluno para o desenvolvimento de soluções computacionais eficientes. Capacitar o aluno ao desenvolvimento de algoritmos capazes de resolver problemas simples e aplicá-los, na prática, em uma linguagem de programação pré-definida. SISTEMA DE AVALIAÇÃO O critério de avaliação deverá ser composto por instrumentos diversificados de avaliação, identificados como AV1, AV2 e AV3. A média da disciplina curricular será composta pela média aritmética das duas maiores notas CONCEITOS INICIAIS Desde os primórdios, o homem vem tentando resolver seus problemas com maior rapidez e o menor esforço possíveis, procurando automatizar as tarefas rotineiras. Isso possibilitou o aparecimento de instrumentos como a roda, roldana, alavanca, carro e até o computador. No entanto as tarefas que devem ser realizadas pelo computador, de forma automática, têm de ser anteriormente pensadas e colocadas em uma seqüência de ações para, posteriormente, serem inseridas na máquina. A essa seqüência de ações denomina-se Programa e à fase de formular soluções que gerem programas denomina-se Lógica de Programação. Programar é basicamente Construir Algoritmos. A meta principal de qualquer programador é resolver problemas por meio de soluções lógicas para obter resultados eficientes (corretos) e eficazes (com qualidade). Porém, se as soluções não forem bem planejadas (passo a passo), com certeza essa meta não será atingida. LÓGICA As pessoas utilizam a lógica no cotidiano sem perceber; chegam mesmo a citá-la, sem entender direito o seu significado. Segundo o dicionário Aurélio, a lógica é a coerência de raciocínio, de idéias, ou ainda a seqüência coerente, regular e necessária de acontecimentos, de coisas. Às vezes o raciocínio funciona desordenadamente. Quantas vezes você já ouviu as frases: E se acontecer aquilo?, ou É, mas eu não tinha pensado nisso! A lógica (do grego clássico λογική - logos, que significa palavra, pensamento, ideia, argumento, relato, razão lógica ou princípio lógico), é uma ciência de índole matemática e fortemente ligada à Filosofia. Já que o pensamento é a manifestação do conhecimento, e que o conhecimento busca a verdade, é preciso estabelecer algumas regras para que essa meta possa ser atingida. Assim, a lógica é o ramo da filosofia que cuida das regras do bem pensar, ou do pensar correto, sendo, portanto, um instrumento do pensar. A aprendizagem da lógica não constitui um fim em si. Ela só tem sentido enquanto meio de garantir que nosso pensamento proceda corretamente a fim de chegar a conhecimentos verdadeiros.

2 2 Podemos, então, dizer que a lógica trata dos argumentos, isto é, das conclusões a que chegamos através da apresentação de evidências que a sustentam. LÓGICA DE PROGRAMAÇÃO Falar em Lógica de Programação significa apenas contextualizar a lógica na programação de computadores, buscando a melhor seqüência de ações para solucionar determinado problema. Na programação de computadores, o nome dessa seqüência de ações é Algoritmo, que é, de maneira bem simples, a seqüência de passos ou ações para atingir um objetivo. Já ação é um fato que, a partir de um estado inicial, após um período de tempo finito, produz um estado final previsível e definido. Por exemplo, abrir uma porta é uma ação. Figura 1 Exemplo de ação. ALGORITMOS Um Algoritmo é uma seqüência finita de instruções bem claras, bem definidas e bem detalhadas que, quando colocadas em uma ordem lógica, nos levam a solução de um problema. Os Algoritmos independem da linguagem de programação a ser utilizada. O objetivo da construção de Algoritmos é que eles possam ser adaptados a qualquer linguagem de programação. O conceito de algoritmo é freqüentemente ilustrado pelo exemplo de uma receita, embora muitos algoritmos sejam mais complexos. Eles podem repetir passos (fazer iterações) ou necessitar de decisões (tais como comparações ou lógica) até que a tarefa seja completada. Um algoritmo corretamente executado não irá resolver um problema se estiver implementado incorretamente ou se não for apropriado ao problema. Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa. Sua implementação pode ser feita por um computador, por outro tipo de autômato ou mesmo por um ser humano. Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de instruções em mais ou menos tempo, espaço ou esforço do que outros. Tal diferença pode ser reflexo da complexidade computacional aplicada, que depende de estruturas de dados adequadas ao algoritmo. Por exemplo, um algoritmo para se vestir pode especificar que você vista primeiro as meias e os sapatos antes de vestir a calça enquanto outro algoritmo especifica que você deve primeiro vestir a calça e depois as meias e os sapatos. Fica claro que o primeiro algoritmo é mais difícil de executar que o segundo apesar de ambos levarem ao mesmo resultado. Não existe apenas um Algoritmo para a solução de um problema. Um Algoritmo pode ser numérico ou não. Um Algoritmo pode ter tantas entradas e saídas de dados, quantas forem necessárias, pode até não ter entradas, mas obrigatoriamente deverá ter pelo menos uma saída de dados que é o resultado do processamento. LINGUAGEM É um código de comunicação formado por sintaxe e semântica.

3 3 LINGUAGEM DE PROGRAMAÇÃO É uma notação formal para descrever a execução de algoritmos em computador. Também é formada por uma sintaxe e uma semântica. Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias. Uma linguagem de programação é um conjunto de símbolos ( comandos, identificadores, caracteres ASCII, etc.... ) e regras de sintaxe que permitem a construção de sentenças que descrevem de forma precisa ações compreensíveis e executáveis para o computador. LINGUAGEM DE PROGRAMAÇÃO = SÍMBOLOS + REGRAS DE SINTAXE Uma linguagem de programação é uma notação formal para descrição de algoritmos que serão executados por um computador. Como todas as notações formais, uma linguagem de programação tem dois componentes: Sintaxe e Semântica. A sintaxe consiste em um conjunto de regras formais, que especificam a composição de programas a partir de letras, dígitos, e outros símbolos. Por exemplo, regras de sintaxe podem especificar que cada parênteses aberto em uma expressão aritmética deve corresponder a um parênteses fechado, e que dois comandos quaisquer devem ser separados por um ponto-e-vírgula. As regras de semântica especificam o significado de qualquer programa, sintaticamente válido, escrito na linguagem. TIPOS DE LINGUAGENS DE PROGRAMAÇÃO Existem diversas linguagens de programação, cada uma com suas características específicas e com níveis de complexidade e objetivos diferentes, como pode ser visto na tabela abaixo: Tabela 1 Tipos de Linguagem de Programação PROCESSO DE CRIAÇÃO E EXECUÇÃO DE UM PROGRAMA Embora seja teoricamente possível a construção de computadores especiais, capazes de executar programas escritos em uma linguagem de programação qualquer, os computadores, existentes hoje em dia são capazes de executar somente programas em linguagem de baixo nível, a Linguagem de Máquina. Linguagens de Máquina são projetadas levando-se em conta os seguintes aspectos:

4 4 rapidez de execução de programas; custo de sua implementação; e flexibilidade com que permite a construção de programas de nível mais alto. Por outro lado, linguagens de programação de alto nível são projetadas em função de : facilidade de construção de programas; e confiabilidade dos programas. O PROBLEMA É: Como a linguagem de nível mais alto pode ser implementada em um computador, cuja linguagem é bastante diferente e de nível mais baixo? SOLUÇÃO: Através da tradução de programas escritos em linguagens de alto nível para a linguagem de baixo nível do computador. Para isso existem três tipos de programas tradutores : Montadores, Interpretadores e Compiladores. MONTADOR Efetua a tradução de linguagem de montagem (Assembly) para a linguagem de máquina, da seguinte forma: obtém a próxima instrução do Assembly; traduz para as instruções correspondentes em linguagem de máquina; executa as instruções em linguagem de máquina; e repete o passo 1 até o fim do programa. INTERPRETADOR Efetua a tradução a de uma linguagem de alto nível para linguagem de máquina da seguinte forma: obtém próxima instrução do código-fonte em linguagem de alto nível; traduz para as instruções correspondentes em linguagem de máquina; executa as instruções em linguagem de máquina; e repete o passo 1 até o fim do programa COMPILADOR Efetua a tradução de todo o código-fonte em linguagem de alto nível para as instruções correspondentes em linguagem de máquina, gerando o código-objeto do programa. Em seguida é necessário o uso de um outro programa (Link-Editor) que é responsável pela junção de diversos códigosobjeto em um único programa executável. POSSIBILIDADES DE ERROS NO PROGRAMA: Erros de Compilação : erros de digitação e de uso da sintaxe da linguagem. Erros de Link-Edição : erro no uso de bibliotecas de sub-programas necessárias ao programa principal. Erros de Execução : erro na lógica do programa (algoritmo). CRITÉRIOS DE QUALIDADE DE UM PROGRAMA Integridade: refere-se à precisão das informações manipuladas pelo programa, ou seja, os resultados gerados pelo processamento do programa devem estar corretos, caso contrário o programa simplesmente não tem sentido; Clareza: refere-se à facilidade de leitura do programa. Se um programa for escrito com clareza, deverá ser possível a outro programador seguir a lógica do programa sem muito esforço, assim como o próprio autor do programa entendê-lo após ter estado um longo período afastado dele. O Pascal favorece a escrita de programas com clareza e legibilidade;

5 5 Simplicidade: a clareza e precisão de um programa são normalmente melhoradas tornando seu entendimento o mais simples possível, consistente com os objetivos do programa. Muitas vezes tornase necessário sacrificar alguma eficiência de processamento, de forma a manter a estrutura do programa mais simples; Eficiência: refere-se à velocidade de processamento e a correta utilização da memória. Um programa deve ter desempenho SUFICIENTE para atender às necessidade do problema e do usuário, bem como deve utilizar os recursos de memória de forma moderada, dentro das limitações do problema; Modularidade: consiste no particionamento do programa em módulos menores bem identificáveis e com funções específicas, de forma que o conjunto desses módulos e a interação entre eles permite a resolução do problema de forma mais simples e clara; Generalidade: é interessante que um programa seja tão genérico quanto possível de forma a permitir a reutilização de seus componentes em outros projetos REPRESENTAÇÃO DE ALGORITMOS Existem diversas formas de representação de algoritmos, mas não há um consenso com relação à melhor delas. Algumas formas de representação de algoritmos tratam dos problemas apenas em nível lógico, abstraindo-se de detalhes de implementação muitas vezes relacionados com alguma linguagem de programação específica. Por outro lado, existem formas de representação de algoritmos que possuem uma maior riqueza de detalhes e muitas vezes acabam por obscurecer a idéia principal, o algoritmo, dificultando seu entendimento. Dentre as formas de representação de algoritmos mais conhecidas, sobressaltam: a Descrição Narrativa o Fluxograma Convencional o Pseudocódigo, também conhecido como Linguagem Estruturada ou Portugol. Descrição Narrativa Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. Como por exemplo, têm-se os algoritmos seguintes: Troca de um pneu furado: Afrouxar ligeiramente as porcas Suspender o carro Retirar as porcas e o pneu Colocar o pneu reserva Apertar as porcas Abaixar o carro Dar o aperto final nas porcas. Cálculo da média de um aluno: Obter as notas da primeira e da segunda prova Calcular a média aritmética entre as duas Se a média for maior ou igual a 7, o aluno foi aprovado, senão ele foi reprovado Esta representação é pouco usada na prática porque o uso de linguagem natural muitas vezes dá oportunidade a más interpretações, ambigüidades e imprecisões.

6 6 Por exemplo, a instrução afrouxar ligeiramente as porcas no algoritmo da troca de pneus está sujeita a interpretações diferentes por pessoas distintas. Uma instrução mais precisa seria: afrouxar a porca, girando-a de 30 no sentido anti-horário. Fluxograma ou Diagrama de Blocos É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintos. Tal propriedade facilita o entendimento das idéias contidas nos algoritmos. Nota-se que os fluxogramas convencionais preocupam-se com detalhes de nível físico da implementação do algoritmo. Por exemplo, figuras geométricas diferentes são adotadas para representar operações de saída de dados realizadas em dispositivos distintos, como uma unidade de armazenamento de dados ou um monitor de vídeo. A figura 2 mostra as principais formas geométricas usadas em fluxogramas. Figura 2 - Principais formas geométricas usadas em fluxogramas. De modo geral, o fluxograma se resume a um único símbolo inicial, por onde a execução do algoritmo começa, e um ou mais símbolos finais, que são pontos onde a execução do algoritmo se encerra. Partindo do símbolo inicial, há sempre um único caminho orientado a ser seguido, representando a existência de uma única seqüência de execução das instruções. Isto pode ser melhor visualizado pelo fato de que, apesar de vários caminhos poderem convergir para uma mesma figura do diagrama, há sempre um único caminho saindo desta. Exceções a esta regra são os símbolos finais, dos quais não há nenhum fluxo saindo, e os símbolos de decisão, de onde pode haver mais de um caminho de saída (normalmente dois caminhos), representando uma bifurcação no fluxo.

7 7 Um diagrama de blocos é uma forma de fluxograma usada e desenvolvida por profissionais da programação, tendo como objetivo descrever o método e a seqüência do processo dos planos num computador. Pode ser desenvolvido em qualquer nível de detalhe que seja necessário. Quando se desenvolve um diagrama para o programa principal, por exemplo, seu nível de detalhamento pode chegar até as instruções. Esta ferramenta usa diversos símbolos geométricos, os quais estabelecerão as seqüências de operações a ser efetuadas em um processamento computacional. Após a elaboração do diagrama de bloco, é realizada a codificação do programa. Figura 3 Exemplo de fluxograma: cálculo de média aritmética. Pseudocódigo (Português Estruturado ou Portugol) Esta forma de representação de algoritmos é bastante rica em detalhes e, por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação, sendo portanto a forma de representação de algoritmos que será adotada nesta disciplina. Na verdade, esta representação é suficientemente geral para permitir que a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta. Representação de Um Algoritmo na Forma de Pseudocódigo A representação de um algoritmo na forma de pseudocódigo é a seguinte: Algoritmo <nome_do_algoritmo>; <declaração_de_variáveis>; <subalgoritmos>; Inicio <corpo_do_algoritmo>; Fim.

8 8 onde: Algoritmo é uma palavra que indica o início da definição de um algoritmo em forma de pseudocódigo. <nome_do_algoritmo> é um nome simbólico dado ao algoritmo com a finalidade de distinguí-lo dos demais. <declaração_de_variáveis> consiste em uma porção opcional onde são declaradas as variáveis globais usadas no algoritmo principal e, eventualmente, nos subalgoritmos. <subalgoritmos> consiste de uma porção opcional do pseudocódigo onde são definidos os subalgoritmos. Início e Fim são respectivamente as palavras que delimitam o início e o término do conjunto de instruções do corpo do algoritmo. O caractere ; (ponto e vírgula) é utilizado para representar o encerramento de uma operação no algoritmo. Como exemplo, a seguir é mostrado a representação do algoritmo de cálculo da média de um aluno na forma de um pseudocódigo. Algoritmo Media; Var N1, N2, Media; Inicio Leia N1, N2; Media (N1+N2)/2; Se Média >= 7 Entao Senao Fim. Escreva Aprovado Escreva Reprovado ; Diretrizes para a Elaboração de Algoritmos As diretrizes apresentadas abaixo são genéricas e podem ser usadas ou adaptadas na organização dos passos que comporão a solução de um determinado problema (ou seja, na criação de um algoritmo para atingir um objetivo determinado). 1. Identificação do problema: determinar o que se quer resolver ou qual objetivo a ser atingido. 2. Identificação das entradas de dados : informações fornecidas, a partir das quais se desenvolverão os cálculos. 3. Identificação das saídas de dados : as informações a serem geradas como resultado. 4. Identificação das regras e limitações do problema ou das limitações do agente executante (ex: se o agente fosse uma calculadora não-científica, iriam existir limitações no cálculo de funções, por exemplo). 5. Determinação do que deve ser feito para transformar as entradas em saídas. Neste ponto deve ser determinada a seqüência de ações que leve à solução do problema. Para isto é preciso: 5.1. observar as regras e limitações já identificadas; 5.2. determinar ações possíveis de serem realizadas pelo agente. 6. Construção do Algoritmo: utilizando uma das formas de representação de algoritmos.

9 9 7. Teste da solução: execução de todas as ações do algoritmo, seguindo o fluxo estabelecido para verificar se ele está realmente gerando os resultados esperados ou detectar possíveis erros em sua descrição. Exemplo: Imagine o seguinte problema: Calcular a média final dos alunos da 6ª Série. Os alunos realizarão quatro provas: P1, P2, P3 e P4. A Média Final é calculada por: (P1 + P2 + P3 + P4) / 4. Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? R: Os dados de entrada são P1, P2, P3 e P4 b) Qual será o processamento a ser utilizado? R: O procedimento será somar todos os dados de entrada e dividi-los por 4 (quatro) (P1 + P2 + P3 + P4)/4 c) Quais serão os dados de saída? R: O dado de saída será a média final 1.4. TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que comandam o funcionamento da máquina e determinam a maneira como devem ser tratados os dados. Os dados propriamente ditos, que correspondem à porção das informações a serem processadas pelo computador. A classificação apresentada a seguir não se aplica a nenhuma linguagem de programação específica; pelo contrário, ela sintetiza os padrões utilizados na maioria das linguagens. Tipos Inteiros São caracterizados como tipos inteiros, os dados numéricos positivos ou negativos, excluindo-se destes qualquer número fracionário. Como exemplo deste tipo de dado, tem-se os valores: 35, 0, -56, 1024 entre outros. Tipos Reais São caracterizados como tipos reais, os dados numéricos positivos e negativos e números fracionários. Como exemplo deste tipo de dado, tem-se os valores: 35, 0, -56, 1.2, , entre outros. Tipos Caracteres São caracterizados como tipos caracteres, as seqüências contendo letras, números e símbolos especiais. Uma seqüência de caracteres deve ser indicada entre aspas ( ). Este tipo de dado também é

10 10 conhecido como alfanumérico, string, literal ou cadeia. Como exemplo deste tipo de dado, tem-se os valores: Programação, Rua Alfa, 52 Apto 1, Fone , ,, 7 entre outros. Tipos Lógicos São caracterizados como tipos lógicos os dados com valor verdadeiro e falso, sendo que este tipo de dado poderá representar apenas um dos dois valores. Ele é chamado por alguns de tipo booleano, devido à contribuição do filósofo e matemático inglês George Boole na área da lógica matemática VARIÁVEIS E CONSTANTES Armazenamento de Dados na Memória Para armazenar os dados na memória, imagine que a memória de um computador é um grande arquivo com várias gavetas, onde cada gaveta pode armazenar apenas um único valor (seja ele numérico, caractere ou lógico). Se é um grande arquivo com várias gavetas, é necessário identificar com um nome a gaveta que se pretende utilizar. Desta forma o valor armazenado pode ser utilizado a qualquer momento. Variáveis Conceituação e Utilização Têm-se como definição de variável tudo aquilo que é sujeito a variações, que é incerto, instável ou inconstante. E quando se fala de computadores, temos que ter em mente que o volume de informações a serem tratadas é grande e diversificado. Desta forma, os dados a serem processados serão bastante variáveis. Como visto anteriormente, informações correspondentes a diversos tipos de dados são armazenadas nas memórias dos computadores. Para acessar individualmente cada uma destas informações, em princípio, seria necessário saber o tipo de dado desta informação (ou seja, o número de bytes de memória por ela ocupados) e a posição inicial deste conjunto de bytes na memória. Percebe-se que esta sistemática de acesso a informações na memória é bastante ilegível e difícil de se trabalhar. Para contornar esta situação criou-se o conceito de variável, que é uma entidade destinada a guardar uma informação. Basicamente, uma variável possui três atributos: um nome, um tipo de dado associado à mesma e a informação por ela guardada. Toda variável possui um nome que tem a função de diferenciá-la das demais. Cada linguagem de programação estabelece suas próprias regras de formação de nomes de variáveis. Adotaremos para os algoritmos, as seguintes regras: um nome de variável deve necessariamente começar com uma letra; um nome de variável não deve conter nenhum símbolo especial, exceto a sublinha ( _ ) e nenhum espaço em branco; um nome de variável não poderá ser uma palavra reservada a uma instrução de programa. Exemplos de nomes de variáveis:

11 11 Salario correto Salário errado (contém acentuação) 1ANO errado (não começou com uma letra) ANO1 correto a casa errado (contém o caractere branco) SAL/HORA errado (contém o caractere / ) SAL_HORA correto _DESCONTO errado (não começou com uma letra) Obviamente é interessante adotar nomes de variáveis relacionados às funções que serão exercidas pelas mesmas dentro de um programa. Outro atributo característico de uma variável é o tipo de dado que ela pode armazenar. Este atributo define a natureza das informações contidas na variável. Por último há o atributo informação, que nada mais é do que a informação útil contida na variável. Uma vez definidos, os atributos nome e tipo de dado de uma variável não podem ser alterados e assim permanecem durante toda a sua existência, desde que o programa que a utiliza não seja modificado. Por outro lado, o atributo informação está constantemente sujeito a mudanças de acordo com o fluxo de execução do programa. Em resumo, o conceito de variável foi criado para facilitar a vida dos programadores, permitindo acessar informações na memória dos computadores por meio de um nome, em vez do endereço de uma célula de memória. Definição de Variáveis em Algoritmos Todas as variáveis utilizadas em algoritmos devem ser definidas antes de serem utilizadas. Isto se faz necessário para permitir que o compilador reserve um espaço na memória para as mesmas. Mesmo que algumas linguagens de programação (como BASIC e FORTRAN) dispensam esta definição, uma vez que o espaço na memória é reservado à medida que novas variáveis são encontradas no decorrer do programa, nos algoritmos usaremos a definição de variáveis por assemelhar-se com as principais linguagens de programação como Pascal e C. Nos algoritmos, todas as variáveis utilizadas serão definidas no início do mesmo, por meio de um comando de uma das seguintes formas: VAR <nome_da_variável> : <tipo_da_variável>; ou VAR <lista_de_variáveis> : <tipo_das_variáveis>; a palavra-chave VAR deverá estar presente sempre e será utilizada um única vez na definição de um conjunto de uma ou mais variáveis;

12 12 numa mesma linha poderão ser definidas uma ou mais variáveis do mesmo tipo; Para tal, deve-se separar os nomes das mesmas por vírgulas; variáveis de tipos diferentes devem ser declaradas em linhas diferentes. Exemplos de definição de variáveis: VAR nome: caracter[30]; idade: inteiro; salario: real; tem_filhos: lógico; No exemplo acima foram declaradas quatro variáveis: a variável nome, capaz de armazenar dados caractere de comprimento 35 (35 caracteres); a variável idade, capaz de armazenar um número inteiro; a variável salario, capaz de armazenar um número real; a variável tem_filhos, capaz de armazenar uma informação lógica. Conceito e Utilidade de Constantes Têm-se como definição de constante tudo aquilo que é fixo ou estável. Existirão vários momentos em que este conceito deverá estar em uso, quando desenvolvermos programas. É comum definirmos uma constante no início do programa, e a utilizarmos no decorrer do programa, para facilitar o entendimento, a programação ou então para poupar tempo no caso de ter que alterar o seu valor, de modo que alterando uma única vez a declaração da constante, todos os comandos e expressões que a utilizam são automaticamente atualizados. Definição de Constantes em Algoritmos Nos algoritmos, todas as constante utilizadas serão definidas no início do mesmo, por meio de um comando da seguinte forma: CONST <nome_da_constante> <valor>; Exemplo de definição de constantes: CONST pi ; nome_da_empresa Enxuga Gelo SA ; 1.6. EXPRESSÕES E OPERADORES OPERADORES Operadores são elementos fundamentais que atuam sobre operandos e produzem um determinado resultado. Por exemplo, a expressão relaciona dois operandos (os números 3 e 2) por meio do operador (+) que representa a operação de adição.

13 13 De acordo com o número de operandos sobre os quais os operadores atuam, os últimos podem ser classificados em: binários, quando atuam sobre dois operandos. Esta operação é chamada diádica. Ex.: os operadores das operações aritméticas básicas (soma, subtração, multiplicação e divisão). unários, quando atuam sobre um único operando. Esta operação é chamada monádica. Ex.: o sinal de (-) na frente de um número, cuja função é inverter seu sinal. Outra classificação dos operadores é feita considerando-se o tipo de dado de seus operandos e do valor resultante de sua avaliação. Segundo esta classificação, os operandos dividem-se em aritméticos, lógicos e literais. Esta divisão está diretamente relacionada com o tipo de expressão onde aparecem os operadores. Um caso especial é o dos operadores relacionais, que permitem comparar pares de operandos de tipos de dados iguais, resultando sempre num valor lógico. Operadores de Atribuição Um operador de atribuição serve para atribuir um valor a uma variável. Em Algoritmo usamos o operador de atribuição: (linguagem Pascal, utilizada em alguns livros de lógica de programação) ou (símbolo utilizado pela maioria dos autores) A sintaxe de um comando de atribuição é: NomedaVariável expressão; (utilizaremos esta forma ao longo da disciplina) Ou NomedaVariável = expressão; (esta forma será utilizada quando for utilizada a linguagem de programação C) A expressão localizada no lado direito do sinal de igual é avaliada e armazenado o valor resultante na variável à esquerda. O nome da variável aparece sempre sozinho, no lado esquerdo do sinal de igual deste comando. Operadores Aritméticos Os operadores aritméticos se relacionam às operações aritméticas básicas, conforme a tabela abaixo:

14 14 Tabela 2 Operadores aritméticos. A prioridade entre operadores define a ordem em que os mesmos devem ser avaliados dentro de uma mesma expressão. Operadores Relacionais Os operadores relacionais são operadores binários que devolvem os valores lógicos verdadeiro e falso. Tabela 3 Operadores relacionais. Estes valores são somente usados quando se deseja efetuar comparações. Comparações só podem ser feitas entre objetos de mesma natureza, isto é, variáveis do mesmo tipo de dado. O resultado de uma comparação é sempre um valor lógico. Por exemplo, digamos que a variável inteira escolha contenha o valor 7. A primeira das expressões a seguir fornece um valor falso, e a segunda um valor verdadeiro: escolha <= 5 escolha > 5 Com valores string, os operadores relacionais comparam os valores ASCII dos caracteres correspondentes em cada string. Uma string é dita "menor que" outra se os caracteres correspondentes tiverem os números de códigos ASCII menores. Por exemplo, todas as expressões a seguir são verdadeiras:

15 15 algoritmo > ALGORITMO ABC < EFG Pascal < Pascal compiler Observe que as letras minúsculas têm códigos ASCII maiores do que os das letras maiúsculas. Observe também que o comprimento da string se torna o fator determinante na comparação de duas strings, quando os caracteres existentes na string menor são os mesmos que os caracteres correspondentes na string maior. Neste caso, a string maior é dita maior que a menor. Operadores Lógicos Os operadores lógicos ou booleanos são usados para combinar expressões relacionais. Também devolvem como resultado valores lógicos: verdadeiro ou falso. Tabela 4 Operadores lógicos. Uma expressão relacional ou lógica retornará falso para o valor lógico falso e verdadeiro para o valor lógico verdade. Fornecendo dois valores ou expressões lógicas, representadas por expressão1 e expressão2, podemos descrever as quatro operações lógicas a seguir: expressão1 E expressão2 é verdadeiro somente se ambas, expressão1 e expressão2, forem verdadeiras. Se uma for falsa, ou se ambas forem falsas, a operação E também será falsa. expressão1 OU expressão2 é verdadeiro se tanto a expressão1 como a expressão2 forem verdadeiras. As operações OU só resultam em valores falsos se ambas, expressão1 e expressão2, forem falsas. NÃO expressão1 avalia verdadeiro se expressão1 for falsa; de modo contrário, a expressão NÃO resultará em falso, se expressão1 for verdadeira. Operadores Literais Os operadores que atuam sobre caracteres variam muito de uma linguagem para outra. O operador mais comum e mais usado é o operador que faz a concatenação de strings: toma-se duas strings e acrescenta-se (concatena-se) a segunda ao final da primeira. O operador que faz esta operação é: + Por exemplo, a concatenação dos strings ALGO e RITMO é representada por: ALGO + RITMO e o resultado de sua avaliação é: ALGORITMO PRIORIDADE ENTRE OS OPERADORES

16 16 A maioria das linguagens de programação utiliza as seguintes prioridades de operadores: 1º - Efetuar operações embutidas em parênteses (prioridade maior para os parênteses mais internos); 2º - Efetuar funções; 3º - Efetuar multiplicação e/ou divisão; 4º - Efetuar adição e/ou subtração; 5º - Operadores relacionais; 6º - Operadores lógicos (NAO, E e OU, na sequência de maior prioridade para menor). EXPRESSÕES O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão ou fórmula matemática, onde um conjunto de variáveis e constantes numéricas relacionam-se por meio de operadores aritméticos compondo uma fórmula que, uma vez avaliada, resulta num valor. Expressões Aritméticas Expressões aritméticas são aquelas cujo resultado da avaliação é do tipo numérico, seja ele inteiro ou real. Somente o uso de operadores aritméticos, variáveis numéricas e parênteses é permitido em expressões deste tipo. Expressões Lógicas Expressões lógicas são aquelas cujo resultado da avaliação é um valor lógico verdadeiro ou falso. Nestas expressões são usados os operadores relacionais e os operadores lógicos, podendo ainda ser combinados com expressões aritméticas. Quando forem combinadas duas ou mais expressões que utilizem operadores relacionais e lógicos, os mesmos devem utilizar os parênteses para indicar a ordem de precedência. Expressões Literais Expressões literais são aquelas cujo resultado da avaliação é um valor literal (caractere). Neste tipo de expressões só é usado o operador de literais (+). Avaliação de Expressões Expressões que apresentam apenas um único operador podem ser avaliadas diretamente. No entanto, à medida que as mesmas vão tornando-se mais complexas com o aparecimento de mais de um operando na mesma expressão, é necessária a avaliação da mesma passo a passo, tomando um operador por vez. A seqüência destes passos é definida de acordo com o formato geral da expressão, considerando-se a prioridade (precedência) de avaliação de seus operadores e a existência ou não de parênteses na mesma. As seguintes regras são essenciais para a correta avaliação de expressões: 1. Deve-se observar a prioridade dos operadores, conforme mostrado nas tabelas de operadores: operadores de maior prioridade devem ser avaliados primeiro. Se houver empate com relação à precedência, então a avaliação se faz da esquerda para a direita.

17 17 2. Os parênteses usados em expressões tem o poder de roubar prioridade dos demais operadores, forçando a avaliação da subexpressão em seu interior. 3. Entre os quatro grupos de operadores existentes, a saber, aritmético, lógico, literal e relacional, há uma certa prioridade de avaliação: os aritméticos e literais devem ser avaliados primeiro; a seguir, são avaliadas as subexpressões com operadores relacionais e, por último os operadores lógicos são avaliados. Exercícios 1. Se X possui o valor 15 e foram executadas as seguintes instruções: X X + 3; X X 6; X X / 2; X 3 * X; Qual será o valor armazenado em X? 2. Apresente os resultados para as seguintes expressões: a) /2 = b) 1-4*3/6-2**3 = c) 3**2-4/2+(5-3*5)/2 = d) 2 < 5 E 15 / 3 = 5 = e) 2 < 5 OU 15 / 3 = 5 = f) 12*3+(3/2) = g) 750*0.18/100 = h) (1258*3)/100+5 = i) **2+(5/3) = j) (((12+2)/3)+2)-(100-(34-54/2)) = k) 18*4/3+54/28*6+7-2 = l) 4*3*1/2/ = 3. Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expressões são verdadeiras ou falsas. SALARIO IR SALLIQ EXPRESSÃO V OU F 100,00 0, (SALLIQ>=100,00) 200,00 10,00 190,00 (SALLIQ<190,00) 300,00 15,00 285,00 (SALLIQ=SALARIO-IR) 4. Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas. a) (A+C) > B ( ) b) B >= (A + 2) ( ) c) C = (B A) ( ) d) (B + A) <= C ( ) e) (C+A) > B ( ) 5. Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas. a) (A > C) E (C <= D) ( ) b) (A+B) > 10 OU (A + B ) = (C + D) ( ) c) (A>=C) E (D >= C) ( ) 6. Com base na tabela-verdade, determine o resultado lógico das expressões mencionadas (Verdadeira ou Falsa). Considere para as respostas os seguintes valores: X=1, A=3, B=5, C=8 e D=7. a) NAO (X > 3) b) (X < 1) NAO (B > D) c) NAO (D < 0) E (C > 5) d) NAO ((X > 3) OU (C < 7)) e) (A > B) OU (C > B) f) (X >= 2)

18 18 g) (X < 1) E (B >= D) h) ( D < 0) OU (C > 5) i) NAO (D > 3) OU (NAO (B < 7)) j) (A > B) OU (NAO (C > B)) 7. Suponha que w=f, x=v e z=v. Resolva as expressões: a) x OU z E w b) z OU x E x c) z OU z OU w E x d) x E z E w OU NAO w b) x OU NAO z E w OU z E x OU NAO w c) NAO w OU z OU x E x NAO z E w d) z E z OU x OU z E w E x OU z OU w OU z 8. Suponha A=127, B=10, C=5, D=falso e E=verdadeiro. Qual é o valor produzido por cada uma das sentenças abaixo? a) não D b) D e E c) não A>B d) A-B>C e) B-C<0 ou A>B f) (A>B) ou (B<C) g) não (A<B) h) A/5>10 e E i) D e E ou não B<C j) D ou E e A/5-B>B k) (D e E) ou (A=B) BIBLIOGRAFIA BÁSICA: MANZANO, José Augusto Navarro Garcia & OLIVEIRA, Jair Figueiredo de. Algoritmos: Lógica para o desenvolvimento de programação. São Paulo: Ed. Érica, MIZRAHI, Victorine Viviane. Treinamento em Linguagem C Módulo I. São Paulo: Ed. Makron Books, FORBELLONE, André Luiz Villar & EBERSPACHER, Henri Frederico. Lógica de Programação. Ed. Pearson Brasil, BIBLIOGRAFIA REFERÊNCIA: SCHILDT, Hebert. C Completo e total. Ed. Makron Books, ARRER & BECKER, Cristiano Gonçalves & FARIA, Eduardo Chaves. Algoritmos Estruturados. Ed. LTC, 1999 PREISS, Bruno R. Estrutura de dados e Algoritmos. Ed. Campos, BIBLIOGRAFIA COMPLEMENTAR: PEREIRA, Silvio do Lago Pereira. Estruturas de Dados Fundamentais - Conceitos e Aplicações. Editora Érica, 2ª edição. São Paulo, SALIBA, Walter Luís Caram. Técnicas de Programação: Uma Abordagem Estruturada. Makron-McGraw-Hill. São Paulo, ASCENCIO, A. F. G. Lógica de Programação com Pascal. Makron Books. São Paulo. FARRER, H. et al. Algoritmos Estruturados. Editora LTC. São Paulo.

INTRODUÇÃO À PROGRAMAÇÃO

INTRODUÇÃO À PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO 1 - CONCEITO DE ALGORITMO A automação é o processo em que uma tarefa deixa de ser desempenhada pelo homem e passa a ser realizada por máquinas, sejam estas dispositivos mecânicos,

Leia mais

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões Processamento de Dados aplicado à Geociências 1 AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO

Leia mais

Curso Superior de Análise e Desenvolvimento de Sistemas. Disciplina: : Algoritmo 2009 / 1

Curso Superior de Análise e Desenvolvimento de Sistemas. Disciplina: : Algoritmo 2009 / 1 Curso Superior de Análise e Desenvolvimento de Sistemas Disciplina: : Algoritmo 2009 / 1 Habilidades - Métodos para construção de algoritmos. - Representação de algoritmos. - Tipos primitivos de dados:constantes

Leia mais

Capítulo 2 Introdução à Programação

Capítulo 2 Introdução à Programação Tecnologia em Análise e Desenvolvimento de Sistemas INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Capítulo 2 Introdução à Programação Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Plano de Ensino 2. Introdução

Leia mais

I - CONCEITOS INICIAIS

I - CONCEITOS INICIAIS Sumário I - CONCEITOS INICIAIS... 2 Lógica de programação... 2 Algoritmo... 2 Instrução... 3 Programa de Computador... 3 Fases... 4 Diagrama de Blocos... 4 II - VARIÁVEIS... 5 Numéricas... 5 Cadeia ou

Leia mais

Fábio Rodrigues / Israel Lucania

Fábio Rodrigues / Israel Lucania Fábio Rodrigues / Israel Lucania Variável é um local na memória principal, isto é, um endereço que armazena um conteúdo. Em linguagem de alto nível nos é permitido dar nomes a esse endereço, facilitando

Leia mais

Capítulo 2 Introdução à Programação

Capítulo 2 Introdução à Programação Engenharia Mecânica PROGRAMAÇÃO PARA ENGENHARIA II Capítulo 2 Introdução à Programação Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Plano de Ensino 2. Introdução à Programação Algoritmo (conceito,

Leia mais

Capítulo 1 Conceitos Básicos

Capítulo 1 Conceitos Básicos Capítulo 1 Conceitos Básicos Licenciatura em Computação Fundamentos de Lógica para Programação Prof. Nícolas Trigo nicolas.trigo@ifsertao-pe.edu.br http://professor.ifsertao-pe.edu.br/nicolas.trigo Introdução

Leia mais

O nome da variável é utilizado para identificação (para carga e posterior uso). Porém, são necessárias algumas regras para nomear essa variável:

O nome da variável é utilizado para identificação (para carga e posterior uso). Porém, são necessárias algumas regras para nomear essa variável: Variáveis e Constantes Variáveis Os computadores processam dados que ficam em sua memória. Assim, o programa precisa de uma forma para acessar esta memória e, consequentemente, os dados. Para um programa

Leia mais

4 Introdução ao Algoritmo

4 Introdução ao Algoritmo 4 Introdução ao Algoritmo 4.1 Conceito de Algoritmo A automação é o processo em que uma tarefa deixa de ser desempenhada pelo homem e passa a ser realizada por máquinas, sejam estes dispositivos mecânicos,

Leia mais

Algoritmos e Linguagem de Programação I

Algoritmos e Linguagem de Programação I Algoritmos e Linguagem de Programação I Roberto Ferreira roberto.ferreira@lapa.ifbaiano.edu.br 2014.1 Módulo I Aula 3 Algoritmos Computacionais Na aula anterior vimos... Quais são os passos para solucionar

Leia mais

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

Introdução a Lógica de Programação Introdução a Lógica de Programação O processo de programação é uma conversa controlada entre um ser humano (tecnicamente preparado) e um computador Linguagem Linguagem de baixo nível Grande dificuldade,

Leia mais

Pseudocódigo e Visualg

Pseudocódigo e Visualg Pseudocódigo e Visualg Professor: Alex Sandro Forghieri alex.forghieri@ifsc.edu.br Agenda Revisão Algoritmos Estrutura de dados Estrutura básica de um algoritmo em pseudocódigo Teste de mesa Operadores

Leia mais

ALGORITMOS. Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação

ALGORITMOS. Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação ALGORITMOS tal, RN, maio/2004 Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.

Leia mais

Noções de algoritmos - Aula 1

Noções de algoritmos - Aula 1 Noções de algoritmos - Aula 1 Departamento de Física UFPel Definição de algoritmo Sequência ordenada e finita de operações para a realização de uma tarefa. Tarefa: Experimento de Física I. Passo 1: Reunir

Leia mais

Técnicas de Programação

Técnicas de Programação Técnicas de Programação Algoritmos Anderson Gomes Eleutério Lógica A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Programação com sequência Prof. M.Sc.: João Paulo Q. dos Santos E-mail: joao.queiroz@ifrn.edu.br Página: http://docente.ifrn.edu.br/joaoqueiroz/ Etapas de ação de um computador

Leia mais

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA SUMÁRIO Introdução Conceitos básicos Formato básico Tipos primitivos Variáveis Constantes Operadores Operações

Leia mais

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

Aula 4B. Lógica e Algoritmos. Profª. Fabiany Fundamentos de Programação 1 Aula 4B Lógica e Algoritmos. Profª. Fabiany Lógica A lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo. Sequência Lógica São passos

Leia mais

LÓGICA DE PROGRAMAÇÃO 1

LÓGICA DE PROGRAMAÇÃO 1 LÓGICA DE PROGRAMAÇÃO 1 Prof. RANILDO LOPES CONTEÚDO PROGRAMÁTICO Introdução aos conceitos básicos de lógica de programação Fundamentos da Lógica de Programação Tipos e estrutura de dados, variáveis, constantes,

Leia mais

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel Algoritmos - 1 Alexandre Diehl Departamento de Física - UFPel Conceitos básicos Computador: conceito clássico (até quando????) HARDWARE (partes físicas) SOFTWARE (programas) SCEF 2 Conceitos básicos Computador:

Leia mais

Algoritmos e Lógica de Programação Introdução e formas de representação

Algoritmos e Lógica de Programação Introdução e formas de representação Algoritmos e Lógica de Programação Introdução e formas de representação Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 15 de agosto de

Leia mais

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados 3. Introdução Segundo alguns especialistas, qualquer programa de computador pode ser escrito utilizando apenas três estruturas básicas: Seqüência, Condição e Repetição. Isto significa que, na construção

Leia mais

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

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha Conceitos Lógica de Programação técnica de encadear pensamentos

Leia mais

Conceitos Básicos de Algoritmos

Conceitos Básicos de Algoritmos Conceitos Básicos de Algoritmos 35 TIPOS PRIMITIVOS Palavra-reservada: inteiro - define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais Palavra-reservada: real - define variáveis numéricas

Leia mais

INF1005: Programação I. Capítulo 2. Ivan Mathias Filho Algoritmo

INF1005: Programação I. Capítulo 2. Ivan Mathias Filho Algoritmo INF1005: Programação I Capítulo 2 Ivan Mathias Filho ivan@inf.puc-rio.br 1 Algoritmo Devido às características da CPU, a solução de um problema tem a forma de uma seqüência finita de instruções elementares;

Leia mais

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

Conceitos Básicos. Professor: Juliano Lucas Gonçalves. Conceitos Básicos Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br Agenda Revisão Algoritmos Memória, variáveis e constantes Estrutura básica de um algoritmo em pseudocódigo 2 O que já

Leia mais

Apêndice A. Pseudo-Linguagem

Apêndice A. Pseudo-Linguagem Apêndice A. Pseudo-Linguagem Apostila de Programação I A.1 Considerações Preliminares Os computadores convencionais se baseiam no conceito de uma memória principal que consiste de células elementares,

Leia mais

5. Expressões aritméticas

5. Expressões aritméticas 5. Expressões aritméticas 5.1. Conceito de Expressão O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão (ou fórmula) matemática, onde um conjunto de variáveis

Leia mais

Programação Estruturada Aula VisualG

Programação Estruturada Aula VisualG Programação Estruturada Aula VisualG Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br 2 CRIANDO ALGORITMO CRIANDO ALGORITMO Passos para construir Algoritmos Ler enunciado do problema, compreendendo-o

Leia mais

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

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer Algoritmos e Estrutura de Dados I Conceitos de Algoritmos Prof. Elyssandro Piffer CONCEITO DE ALGORITMO O computador pode auxiliar em muitas tarefas, contudo ele não possui independência, não é inteligente,

Leia mais

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

ALGORITMOS E ESTRUTURA DE DADOS

ALGORITMOS E ESTRUTURA DE DADOS ALGORITMOS E ESTRUTURA DE DADOS Algoritmos Tipos de Dados Prof. André Peixoto - Todo o trabalho realizado por um computador é baseado na manipulação dos dados/informações contidas em sua memória. Podemos

Leia mais

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO Dados em Algoritmos Quando escrevemos nossos programas, trabalhamos com: Dados que nós fornecemos ao programa Dados

Leia mais

01/08/2011. Tipos de dados Numéricos Alfanuméricos Lógicos. Numéricos. Tipos de dados. Dados Numéricos Inteiros. Dados Numéricos Reais.

01/08/2011. Tipos de dados Numéricos Alfanuméricos Lógicos. Numéricos. Tipos de dados. Dados Numéricos Inteiros. Dados Numéricos Reais. Engenharia de Controle e Automação Programação I Prof. Ricardo Sobjak ricardo.sobjak@ifsc.edu.br Tipos de dados Numéricos Alfanuméricos Lógicos Tipos de dados Os tipos de dados primitivos ou básicos são

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Algoritmos e Estruturas de Dados I Conceitos Básicos Profa. Márcia Cristina Moraes Profa.Milene Selbach Silveira Material para estudo: Forbellone, A. e Eberspächer, H. (2005) capítulos 1 e 2 (até atribuição)

Leia mais

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

Introdução à Ciência da Computação Créditos Introdução à Ciência da Computação Tópicos Preliminares em Programação Exceto por adaptações e complementos menores, o material a seguir é composto de slides gentilmente cedidos por: Prof. Rudinei

Leia mais

PDF created with pdffactory trial version Elementos Básicos de Algoritmos. Elementos Básicos de Algoritmos Palavras Reservadas

PDF created with pdffactory trial version  Elementos Básicos de Algoritmos. Elementos Básicos de Algoritmos Palavras Reservadas Elementos Básicos de Algoritmos Prof. Araken Medeiros araken@ufersa.edu.br Angicos, RN 30/04/2010 Os elementos básicos de um algoritmo ou programa são: Palavras reservadas Identificadores Constantes ariáveis

Leia mais

SUMÁRIO PARTE I - INTRODUÇÃO... 8

SUMÁRIO PARTE I - INTRODUÇÃO... 8 Algoritmos SUMÁRIO PARTE I - INTRODUÇÃO... 8 1. ABORDAGEM CONTEXTUAL... 6 1.1 CONCEITO DE ALGORITMO... 6 2. FORMAS DE REPRESENTAÇÃO DE ALGORITMOS... 8 2.1 DESCRIÇÃO NARRATIVA... 8 2.2 FLUXOGRAMA CONVENCIONAL

Leia mais

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35 BCC 201 - Introdução à Programação Portugol Guillermo Cámara-Chávez UFOP 1/35 Introdução I Lógica A lógica é usada no dia a dia das pessoas que trabalham com computação para solucionar problemas de forma

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 1 Apresentação da Disciplina Introdução a Algoritmos Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Apresentação da Disciplina 2 Atividades Plano de Ensino - Conteúdos

Leia mais

Algoritmos e Programação de Computadores Disciplina:

Algoritmos e Programação de Computadores Disciplina: Algoritmos e Programação de Computadores Disciplina: 113476 Profa. Carla Denise Castanho Universidade de Brasília UnB Instituto de Ciências Exatas IE Departamento de Ciência da Computação CIC 3. REPRESENTAÇÃO

Leia mais

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 Elementos Básicos Tipos de dados Dados e seus tipos: Computadores lidam com diversos tipos de dados: numéricos,

Leia mais

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior LÓGICA DE PROGRAMAÇÃO Algoritmos Computacionais Sérgio Carlos Portari Júnior portari.uemgfrutal@gmail.com Tópicos abordados Algoritmos Computacionais Estrutura de Dados Tipos Primitivos Constantes Variáveis

Leia mais

CONCEITOS DE ALGORITMOS

CONCEITOS DE ALGORITMOS CONCEITOS DE ALGORITMOS Fundamentos da Programação de Computadores - 3ª Ed. 2012 Editora Prentice Hall ISBN 9788564574168 Ana Fernanda Gomes Ascênsio Edilene Aparecida Veneruchi de Campos Algoritmos são

Leia mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Pampa Campus-Bagé Algoritmos e Programação Aula 1 Apresentação da Disciplina Conceitos Introdutórios Prof. Julio Saraçol juliodomingues@unipampa.edu.br Slide1 APRESENTAÇÃO DA DISCIPLINA

Leia mais

Introdução a programação Visão geral

Introdução a programação Visão geral Instituto Federal de Minas Gerais Campus Ponte Nova Introdução a programação Visão geral Professor: Saulo Henrique Cabral Silva Conceitos lógica/algoritmo A lógica é usada no dia a dia das pessoas para

Leia mais

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

01/08/2011. Introdução Lógica Sequencia lógica Instruções Algoritmos Programas. Lógica. Lógica na programação. Instrução. Engenharia de Controle e Automação Programação I Prof. Ricardo Sobjak ricardo.sobjak@ifsc.edu.br Introdução Lógica Sequencia lógica Instruções s Programas Lógica Raciocínio estruturado (partindo-se do

Leia mais

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

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se

Leia mais

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto Lógica de Programação e Algoritmos Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com 2 Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Constantes, Variáveis e Tipos de Dados Variáveis e constantes

Leia mais

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

Introdução à Programação de Computadores Fabricação Mecânica Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva edilson.hipolito@ifsc.edu.br - http://www.hipolito.info Aula 06 - Introdução a algoritmos Roteiro Algoritmos Formas

Leia mais

SSC304 Introdução à Programação Para Engenharias

SSC304 Introdução à Programação Para Engenharias Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Algoritmos e Lógica de GE4 Bio GE4Bio Grupo de Estudos em

Leia mais

Algoritmo e Programação Matemática

Algoritmo e Programação Matemática Algoritmo e Programação Matemática Fundamentos de Algoritmos Parte 1 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Dados A funcionalidade principal de um computador

Leia mais

Introdução à Computação

Introdução à Computação Your Logo Here Prof. Bruno de Jesus bruno.jesus@ic.ufal.br Introdução à Computação Tipos de dados, variáveis e expressões Conteúdo de hoje... Tipos de dados Dados numéricos Inteiro Real Dados literais

Leia mais

Conceitos e Representação de Algoritmos

Conceitos e Representação de Algoritmos BCC 201 - Introdução à Programação Conceitos e Representação de Algoritmos Guillermo Cámara-Chávez UFOP 1/37 Importância do estudo dos Algoritmos... antes que o computador possa executar uma tarefa, deve

Leia mais

Português Estruturado

Português Estruturado Português Estruturado Português Estruturado Para que o algoritmo possa ser executado por uma máquina é importante que as instruções sejam corretas e sem ambigüidades. O português estruturado é, na verdade,

Leia mais

Portugol. Tiago Alves de Oliveira

Portugol. Tiago Alves de Oliveira Portugol Tiago Alves de Oliveira Revisando Algoritmo: Sequência finita de passos que levam à execução de uma tarefa Claro e preciso. Ex. somar dois números Algoritmo precisa seguir uma sequência lógica

Leia mais

Prof. Jorge Cavalcanti

Prof. Jorge Cavalcanti Universidade Federal do Vale do São Francisco Curso de Engenharia de Computação Introdução a Algoritmos Parte 02 (baseado no material do prof. Marcelo Linder) Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br

Leia mais

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de

Leia mais

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Linguagem Pascal Prof. Sérgio Rodrigues Introdução Algoritmo É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Programa é a formalização de um algoritmo

Leia mais

Conceitos básicos de algoritmos

Conceitos básicos de algoritmos Conceitos básicos de algoritmos Operadores Aritméticos Unários: +, - Exemplos: +1-5.9... var a: inteiro... a

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 2 Elementos fundamentais de Algoritmos, Conceitos de Variáveis Profa. Marina Gomes marinagomes@unipampa.edu.br 21/03/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje

Leia mais

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

- Aula 01, 02, 03 e 04 Apresentação da disciplina. 1 - Aula 01, 02, 03 e 04 Apresentação da disciplina. Disciplina: Algoritmos (Disciplina é pré-requisito para outras disciplinas). Plano de Ensino: Estrutura Sequencial, Estrutura de Decisão (Desvio Condicional

Leia mais

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU Aula 5 Oficina de Programação Introdução ao C Profa. Elaine Faria UFU - 2017 Linguagem de Programação Para que o computador consiga ler um programa e entender o que fazer, este programa deve ser escrito

Leia mais

ALGORITMO. Professor: RODRIGO GOBBI TIPOS DE DADOS E INSTRUÇÕES PRIMITIVAS

ALGORITMO. Professor: RODRIGO GOBBI TIPOS DE DADOS E INSTRUÇÕES PRIMITIVAS ALGORITMO Professor: RODRIGO GOBBI As instruções são os comandos que identificarão a máquina qual deverá ser a ação executada; Os dados são números, medidas, valores relacionados ao problema em que se

Leia mais

Introdução à Computação

Introdução à Computação Conteúdo de hoje... Your Logo Here Prof. Lucas Amorim lucas@ic.ufal.br Tipos de dados Dados numéricos Inteiro Real Dados literais Dados lógicos Variáveis Introdução à Computação Tipos de dados, variáveis

Leia mais

CAPÍTULO 2 TIPO DE DADOS

CAPÍTULO 2 TIPO DE DADOS CAPÍTULO 2 TIPO DE DADOS Fabio Augusto Oliveira Guilherme da Cunha Fonseca FEPI Centro Universitário de Itajubá Curso de Engenharia de Produção 1 DADOS São as informações a serem processadas por um computador.

Leia mais

Definições de Algoritmos. Algoritmos e Programação I. Conceitos Básicos de Algoritmos. Relação entre Algoritmos e Programação

Definições de Algoritmos. Algoritmos e Programação I. Conceitos Básicos de Algoritmos. Relação entre Algoritmos e Programação Definições de Algoritmos Algoritmos e Programação I Aula 2 Prof a. Márcia Cristina Moraes mmoraes@inf.pucrs.br Prof a. Sílvia M.W. Moraes silvia@inf.pucrs.br Algoritmo é um conjunto finito de regras, bem

Leia mais

LINGUAGEM E TECNICAS DE PROGRAMAÇÃO

LINGUAGEM E TECNICAS DE PROGRAMAÇÃO LINGUAGEM E TECNICAS DE PROGRAMAÇÃO Aula 03 Lógica Entrada de dados Lógica Lógica, no seu sentido mais amplo, está presente em todos os passos de nossas vidas, servindo de base para resolução de nossos

Leia mais

Fluxogramas e variáveis

Fluxogramas e variáveis Fluxogramas e variáveis Patrícia de Siqueira Ramos UNIFAL-MG, campus Varginha 11 de Março de 2019 Patrícia de Siqueira Ramos Fundamentos da programação 1 / 20 Fases de um algoritmo Patrícia de Siqueira

Leia mais

Curso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação)

Curso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação) Curso: Análise e Desenvolvimento de Sistemas Disciplina Algoritmos e Programação (Conceitos Práticos de Lógica de Programação) Prof. Wagner Santos C. de Jesus wsantoscj@gmail.com Conceito de Algoritmo

Leia mais

Algoritmos - 2. Alexandre Diehl. Departamento de Física - UFPel

Algoritmos - 2. Alexandre Diehl. Departamento de Física - UFPel Algoritmos - 2 Alexandre Diehl Departamento de Física - UFPel Pseudocódigo Também chamada de de linguagem estruturada, reune um conjunto de de ações (ou comandos), usando uma linguagem simples e genérica,

Leia mais

Programação em C. Victor Amorim dos Santos

Programação em C. Victor Amorim dos Santos Programação em C Victor Amorim dos Santos Chegou a hora da revisão Revisão - Algoritmo Sequência ordenada de passos para realização de uma tarefa. Exemplo: Troca de um pneu furado Afrouxar ligeiramente

Leia mais

Programação de Redes de Computadores

Programação de Redes de Computadores 1: Introdução 1 MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS SÃO JOSÉ SANTA CATARINA Programação de Redes de Computadores

Leia mais

Programação Introdução

Programação Introdução PROGRAMAÇÃO Programação Introdução Prof. Dr. Adriano Mauro Cansian 1 Introdução Para armazenar um algoritmo na memória de um computador e para que ele possa, em seguida, comandar as operações a serem executadas,

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

Leia mais

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

Aula 08 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes Aula 08 Introdução à Algoritmos Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Introdução aos Algoritmos: Conceitos Iniciais; Programa

Leia mais

TIPOS DE DADOS E VARIÁVEIS

TIPOS DE DADOS E VARIÁVEIS AULA 3 TIPOS DE DADOS E VARIÁVEIS 3.1 Tipos de dados Os dados manipulados por um algoritmo podem possuir natureza distinta, isto é, podem ser números, letras, frases, etc. Dependendo da natureza de um

Leia mais

Métodos para a construção de algoritmo

Métodos para a construção de algoritmo Métodos para a construção de algoritmo Compreender o problema Identificar os dados de entrada e objetos desse cenário-problema Definir o processamento Identificar/definir os dados de saída Construir o

Leia mais

TECNOLOGIA EM REDES DE COMPUTADORES. computadores. Aula 4

TECNOLOGIA EM REDES DE COMPUTADORES. computadores. Aula 4 TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula 4 1 Programação : Declaração de variáveis. Algoritmos: Agenda Solicitação de entrada, exibição.depuração. Tipos de dados

Leia mais

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

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação Universidade Federal de Uberlândia Faculdade de Computação Conceitos básicos de algoritmos Prof. Renato Pimentel 1 Computação Dados Informações vindas de usuários ou de outras máquinas; Processamento transformação

Leia mais

Pseudocódigo e visualg

Pseudocódigo e visualg Pseudocódigo e visualg Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br Agenda Revisão Algoritmos Estrutura de dados Estrutura básica de um algoritmo em pseudocódigo Teste de mesa Operadores

Leia mais

Algoritmos Parte 2. Introdução à Ciência da Computação

Algoritmos Parte 2. Introdução à Ciência da Computação Algoritmos Parte 2 Introdução à Ciência da Computação Rosane Minghim Guilherme Pimentel Telles Apoio na confecção: Rogério Eduardo Garcia Danilo Medeiros Eler Algoritmo Seqüência de passos para a execução

Leia mais

Programação em C. Victor Amorim dos Santos

Programação em C. Victor Amorim dos Santos Programação em C Victor Amorim dos Santos Apresentação Professor Formação Victor Amorim dos Santos http://inf.ufes.br/~victor.amsantos/ Bacharel Sistemas de Informação - IFES Mestre em Informática - UFES

Leia mais

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

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis 1. TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que

Leia mais

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

ALGORITMOS CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc. ALGORITMOS CONCEITOS PRELIMINARES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br INTRODUÇÃO O computador é uma máquina que executa instruções que resolvem problemas; Para a forma como estas

Leia mais

Programação I A Linguagem C. Prof. Carlos Alberto

Programação I A Linguagem C. Prof. Carlos Alberto Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza Algoritmos: Conceitos Fundamentais Slides de autoria de Rosely Sanches e Simone Senger de Souza DADOS E EXPRESSÕES Uso da Informação Computador manipula informações contidas em sua memória. Classificadas

Leia mais

Programação em C. Victor Amorim dos Santos

Programação em C. Victor Amorim dos Santos Programação em C Victor Amorim dos Santos Apresentação Professor Formação Victor Amorim dos Santos http://inf.ufes.br/~victor.amsantos/ Bacharel Sistemas de Informação - IFES Mestre em Informática - UFES

Leia mais

Conceitos Básicos de Algoritmos

Conceitos Básicos de Algoritmos Conceitos Básicos de Algoritmos 34 TIPOS PRIMITIVOS Palavra-reservada: inteiro - define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais Palavra-reservada: real - define variáveis numéricas

Leia mais

Introdução. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e programação Aula 02

Introdução. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e programação Aula 02 Introdução Lógica e programação Aula 02 Lógica na resolução de problemas computacionais Algortimos aplicados à solução de problemas computacionais Formalização de algoritmos Exercícios Sky Informática

Leia mais

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,

Leia mais

Algoritmos. Conceitos e Comandos

Algoritmos. Conceitos e Comandos Algoritmos Conceitos e Comandos Trabalho - Reposição Arquitetura Funcional do Computador Para próxima aula 16/03/2018 Valerá duas presenças. Variável Uma variável é um local na memória principal, isto

Leia mais

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

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE Professora: Isabela C. Damke isabeladamke@hotmail.com Linguagem de Programação Uma linguagem de programação é um conjunto de símbolos (

Leia mais

Linguagem de Descrição de algoritmos

Linguagem de Descrição de algoritmos FTC Faculdade de Tecnologia e Ciências Engenharia Civil 1º Semestre Linguagem de Descrição de algoritmos Rafael Barbosa Neiva rafael@prodados.inf.br Definição - Algoritmo Diariamente, executamos uma série

Leia mais

Instruções, dados e expressões

Instruções, dados e expressões Instruções, dados e expressões Marina Andretta ICMC-USP 1 de março de 2016 Marina Andretta (ICMC-USP) sme0230-ipc 1 de março de 2016 1 / 50 Dados Um computador manipula informações presentes em sua memória.

Leia mais