Introdução à Programação de Computadores

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

Download "Introdução à Programação de Computadores"

Transcrição

1 Unidade 01 Introdução à Programação de Computadores Objetivos Conhecer e descrever a estrutura e funcionamento de um computador Conceituar algoritmo, descrevendo suas características e elementos Escrever algoritmos simples em diversos formatos Conhecer e utilizar comandos de entrada, saída e atribuição. Utilizar a estrutura sequencial para escrever algoritmos simples. Conteúdo Conceitos Básicos em Programação Pseudocódigo: Conceitos Básicos Pseudocódigo: Estruturas de Controle Visão Geral

2 Capítulo 01 Página 2 Conceitos Básicos em Programação O homem, desde a pré-história, tem buscado desenvolver equipamentos que o auxiliem em seu trabalho, a fim de diminuir esforços e economizar tempo. Dentre todos os equipamentos já inventados pelo homem, merece destaque o computador, por sua versatilidade, rapidez e segurança. O computador é capaz de auxiliar o homem na execução das mais difíceis atividades, tendo por finalidade a tarefa de processar dados, que consiste na recepção, manipulação e armazenamento dos dados. Isto só possivel graças à existência de um conjunto de instruções que são executadas pelo equipamento. Esse conjunto de instruções, chamado de programa, é escrito pelo homem para finalidades específicas de processamento. Neste capítulo, aprenderemos como funciona um computador e como proceder para escrever conjuntos de instruções que poderão ser transformados em programas de computador. Inciaremos nosso estudo pelos conceitos básicos em computação e, em seguida, aprofundaremos os conceitos da programação de computadore O que é um computador e como ele está organizado? É possível encontrarmos muitas definições de computador. Algumas delas são relacionadas a seguir. Leia-as atentamente: A palavra computador vem do latim computare, que significa calcular.

3 Página 3 Um computador é um dispositivo capaz de fazer cálculos e tomar decisões lógicas a velocidades milhões (e até bilhões) de vezes mais rápidas que os seres humanos (DEITEL, 2005). Computador é uma máquina que recebe e trabalha os dados de maneira a obter um resultado (MARÇULA; BENINI, 2005). Computador é uma máquina capaz de variados tipos de tratamento automático de informações ou processamento de dados (WIKIPEDIA, 2009) Você ter notado que nas definições apresentadas fica claro que um computador realiza as tarefas para o qual foi criado (processamento de dados) por meio da realização de cálculos matemáticos. Entretanto, esses cálculo precisam ser realizados de forma organizada e ordenada. Mas como se consegue essa organização? Como o computador sabe quais cálculos devem ser realizados e em que momento? Todo computador, para cumprir sua função, é programável. Ou seja, trabalha executando um conjunto de comandos específicos, também chamados de instruções. São essas instruções que orientam o computador em sua tarefa de processamento de dados. Para que os resultados obtidos sejam os esperados, as instruções são agrupadas e ordenadas, consituindo o que chamamos de programas de computador. A definição de quais instruções irão compor o programa e a ordem em que serão executadas é determinada pelos programadores de computador. Assim, podemos concluir que um computador pode ser definido como uma máquina que pode ser programada para receber dados, processá-los em informação útil e armazená-los para proteção ou reutilização (CAPRON. JOHNSON, 2004). Agora que você já sabe o que é um computador, vamos aprender como ele está organizado e como ele trabalha com os dados que recebe para processar. Já sabemos que todo sistema de computação é formado por três componentes: hardware, software e usuário.

4 Página 4 Figura 1: Componentes de um Sistema de Computação O hardware representa a parte material do computador, ou seja, os componentes físicos do sistema. O software representa todo o conjunto de instruções organizadas logicamente e que são entendidas pelo computador. Em outras palavras, podemos dizer que o software são todos os programas que compõem o sistema de computação. O usuário são todas as pessoas que utilizam o computador para algum propósito. Cada um desses componentes possui uma relação de interdependência com os demais. De nada nos serviria ter o melhor equipamento se não possuíssemos os programas que possibilitariam o funcionamento da máquina. Do mesmo modo, para nada serviriam os melhores programas sem que houvesse uma máquina capaz de executá-los. E mesmo que tivessemos a melhor máquina com os mais modernos programas, se não houvesse quem os manipulasse e deles tirasse proveito, não teriam nenhuma utilidade. A seguir, vamos aprender como o hardware de um computador está organizado. O entendimento desta organização é importante para que você compreenda como um programa é executado. Observe a figura a seguir:

5 Página 5 Figura 2: Organização de um Computador e o Ciclo de Processamento A Figura 2 mostra a organização básica de um computador associada a cada uma das etapas do ciclo de processamento: entrada, processamento e saída. Os dispositivos de entrada, como teclado e mouse, são responsáveis pela entrada de dados no sistema. A Unidade Central de Processamento (CPU) é responsável pelo processamento dos dados. Os dispositivos de saída, como o monitor de vídeo, realizam a apresentação dos resultados ao usuário. O fluxo de dados obedece ao que está representado na figura. Os dados quando entram no sistema são armazenados na memória principal, sendo enviado um sinal de controle para a CPU. Quando a CPU executa uma instrução que necessita dos dados que estão armazenados na memória principal, estes são lidos e armazenados temporariamente em registradores do processador. Os dados no registrador são então manipulados e os resultados são guardados também em registradores e, em seguida são escritos na memória principal. A partir da memória principal estes resultados são enviados para os dispositivos de saída, a fim de que o usuário possa ter acesso a eles. Consideremos a seguinte situação: realizar em meio computacional a seguinte operação Note que temos aqui uma instrução (soma) e dois valores (dados externos). Inicialmente, os dados e a operação a ser realziada serão

6 Página 6 fornecidas ao sistema através do teclado (dispositivo de entrada), os dados seguem para a memória principal, onde serão armazenados. Um sinal de controle informando a operação a ser realizada e a localização dos dados é enviado para a CPU (Unidade de Controle). Em seguida, a CPU realiza a leitura dos dados e copia seus valores para os registradores internos. A operação é então realizada pela CPU (Unidade Lógica e Aritmética) e o valor 5 é armazenado em um registrador. Em seguida, este resultado é escrito na memória principal para, na sequência, ser enviado ao monitor de vídeo (dispositivo de saída) de modo que possa ser visualizado pelo usuário. Perceba neste pequeno exemplo a presença dos três componentes do sistema: o equipamento (dispositivos de entrada e saída, CPU, memória), as instruções (ler os dados do teclado, armazenar na memória, calcular a soma, apresentar os dados no monitor) e o usuário (que digitou os dados e visualizou os resultados na tela). Antes de prosseguir, vamos fazer uma pequena obervação sobre a memória principal. Quando um dado é guardado na memória, é preciso que seja possível localizá-lo posterioremente. Para isso, a memória é dividida em pequenas porções, normalmente correspondentes a um byte. Cada porção de memória possui um endereço, através do qual é possível ter acesso aos dados ali armazenados. Podemos imaginar a memória conforme a Figura Figura 3: Esquema de Memória Principal Os endereços de cada porção de memória na Figura 3 foram expressos em números decimais apenas para fins didáticos. Na prática, esses valores são expressos na base binária.

7 Página 7 Nosso objetivo nesta disciplina é escrever instruções que serão executadas pelo computador, a fim de que um dado problema seja resolvido. Ou seja, vamos nos concentrar no desenvolvimento de programas. Para exemplificar alguns conceitos básicos de desenvolvimento de programas, e antes de apresentar a formalização desses conceitos, vamos considerar a existência de um computador hipotético simples, proposto por Celes e Ierusalimschy (2007). Para efeito de simplificação, este computador hipotético trabalha na base decimal. Tenha claro que, na prática, os computadores trabalham com o sistema de numeração binário. Nosso computador é capaz de realizar um conjunto de poucas instruções básicas. Deste modo, um programa para ser executado neste computador, deve ser composto por uma sequêncial dessas instruções. A memória só armazena valores numéricos e cada posição é rotulada por um número inteiro não negativo. Nossa CPU obedece ao esquema já apresentado: possui registradores, uma unidade para controlar a execução das instruções e o fluxo de dados e uma unidade para realizar operações lógicas e aritméticas. A seguir, apresentamos o set de instruções deste computador hipotético. Conjunto de instruções que uma CPU reconhece e consegue executar. Tabela 1: Set de Instruções do Computador Hipotético Instruções read pos write pos storeconst num pos add pos1 pos2 sub pos1 pos2 mul pos1 pos2 div pos1 pos2 store pos Descrição captura o valor digitado pelo usuário e armazena na memoria na posição especificada pelo valor pos. mostra na tela do monitor o valor armazenado na memória na posição de valor pos. armazena o valor de uma constante numérica (num) na posiçaõ de memória especificada pelo valor pos. soma os valores armazenados na memória em pos1 e pos2, guardando o resultado no registrador. subtrai os valores armazenados na memória em pos1 e pos2, guardando o resultado no registrador. multiplica os valores armazenados na memória em pos1 e pos2, guardando o resultado no registrador. divide o primeiro pelo segundo valores armazenados na memória em pos1 e pos2, guardando o resultado no registrador. armazena o valor do registrador na posição de memória identificada pelo valor pos

8 Página 8 Com esse conjunto de instruções, é possível escrever pequenos programas que podem ser virtualmente executados neste nosso computador hipotético. Por exemplo, considere um programa que captura uma valor fornecido pelo usuário e mostra na tela o resultado da soma desse valor com 3. Já sabemos que um programa é um conjunto de instruções que o computador reconhece e consegue executar. Assim, o código abaixo representa o programa deste exemplo para o nosso computador hipotético. read 0 storeconst 3 1 add 0 1 store 2 write 2 A execução deste programa em nosso computador consiste inicialmente na leitura de valor a partir do teclado e armazenamento deste dado na posição de memória 0 (read 0). Em seguida, será guardada na posição 1 da memória o valor constante 3, definido pelo programa (storeconst 3 1). Na sequência, os valores que estão armazenados nas posições de memória 0 e 1 são lidos e copiados para o registrador, a Unidade Lógica e Aritmética então realiza a soma e guarda o resultado no registrador (add 0 1). A seguir, o resultado guardado no registrador é escrito na posição 2 da memória (store 2). Por fim, o valor guardado na posição 2 é mostrado no monitor de vídeo (write 2). Assim, no final da execução, teríamos o valor digitado pelo usuário armazenado na posição de memória rotulada por 0. A posição 1 foi utilizada para armazenar a constante 3, a fim de que a soma pudesse ser realizada. Na posição 2, teríamos o valor fornecido pelo usuário adicionado de 3. O programa apresentado pode ser escrito de outras formas, o que não modificaria o resultado final. Acompanhe:

9 Página 9 read 0 storeconst 3 1 add 0 1 store 0 write 0 Neste caso, o resultado mostrado no monitor de vídeo é exatamente o mesmo. O que diferencia este programa do analisado anteriormente é o fato de serem utilizadas apenas duas posições de memória (0 e 1). Ao término da execução, teremos o valor 3 armazenado na posição 1 e o valor da soma armazenado na posição 0, sobrescrevendo o valor anteriormente armazenado. É possível sobrescrever valores na memória. Quando isto acontece, o valor anterior é perdido, a menos que seja feita uma cópia e armazenada em outra posição. Vamos agora analisar o seguinte programa: read 0 storeconst 3 1 add 0 1 store 0 write 2 Este programa não está correto, pois tenta exibir no monitor de vídeo um valor armazenado na posição 2, que não foi definido. Nesta situação seria mostrado um valor indefinido e desconexo do contexto do programa. A este valor atribuímos o nome lixo.

10 Página 10 Auto Avaliação Explique o que é um computador, citando suas principais características. 2. Quais são os componentes de um sistema de computação? Explique cada um. 3. Descreva o funcionamento de um computador. Agora que já sabemos como um computador está organizado e como os programas são executados podemos iniciar o nosso estudo sobre o desenvolvimento de programas. Esteja atento, pois cada detalhe é de fundamental importância A Programação e o Conceito de Algoritmo Tomando por base os exemplos apresentados acima, podemos afirmar que um programa é uma sequência de instruções a serem executadas pelo computador que visa atingir um objetivo (resolver um problema). Para que possam ser executadas pela CPU, essas instruções devem estar codificadas em linguagem de máquina. Nos primórdios da computação, os programas eram escritos diretamente em linguagem de máquina, o que era uma tarefa penosa, pois exigia atenção do programador em trabalhar diretamente em notação binária. Com o passar do tempo, surgiram as Linguagens de Programação de alto nível, que consistem em linguagens mais fáceis de serem manipuladas pelo programador e que podem ser traduzidas em linguagem de máquina.

11 Página 11 Uma linguagem de programação, assim como toda linguagem, deve ser rigorosamente definida, ou seja, deve apresentar sintaxe e semântica próprias. Chamamos sintaxe a estrutura da linguagem, ou seja, as regras que regem a forma como se expressam ideias nessa linguagem. A semântica trata do significado daquilo que foi expresso. Por exemplo, consideremos a seguinte frase escrita conforme as regras da língua portuguesa: A manga está madura. Para escrever uma frase seguimos a seguinte regra: primeiro vem o sujeito, em seguida um verbo e seu complemento. Isto é parte da sintaxe da língua portuguesa, pois especifica como expressar uma ideia. A semântica nos possibilita entender que a frase diz respeito ao estado de uma fruta (madura), pois trata do significado do que foi expresso. Com as linguagens de programação não é diferente. Cada uma tem regras que definem como as instruções devem ser escritas (sintaxe) e também semântica, que indica o significado de cada instrução. Atualmente, um programa de computador deve ser escrito numa linguagem de programação e depois traduzido para a linguagem de máquina, a fim de que seja executado pelo computador. O processo de traduzir um programa da linguagem de programação para a linguagem de máquina é chamado de compilação. Essa tarefa é executada por um software chamado de compilador. A criação de um programa não é uma tarefa simples. Exige muita paciência, dedicação e uma forte dose de raciocínio lógico-matemático. O Quadro 1 resume as etapas que devem ser seguidas para a construção de um programa. Etapas para a Construção de um Programa 1. Análise: esta etapa consiste na compreensão do problema e identificação da entrada, das operações de processamento e da saída. 2. Elaboração do Algoritmo: nesta etapa, são descritos formalmente o problema e sua solução. 3. Codificação: consiste na tradução do algoritmo para uma linguagem de programação.

12 Página 12 A partir da análise do Quadro 1 é imediato concluir que um programa constitui-se de um algoritmo escrito em uma linguagem de programação. Por isso, o conceito de algoritmo é fundamental para a Ciência da Computação, visto que desenvolver programas de computador nada mais é senão criar algoritmos que solucionem um dado problema. A literatura apresenta inúmeras definições para o termo Algoritmo das quais selecionamos as seguintes. Leia-as atentamente. Algoritmo é uma sequência de passos que deve ser seguida para a realização de uma tarefa (ASCENCIO; CAMPOS, 2007) Algoritmos são regras formais para a obtenção de um resultado ou da solução de um problema, englobando fórmulas de expressões aritméticas (MANZANO, 1997) Essas definições, apresentam de forma simples a visão geral do conceito de algoritmo, entendido como um conjunto sequencial de instruções que, quando executadas, solucionam um problema. Neste contexto, podemos facilmente exemplificar o uso de algoritmos para resolver problemas da nossa vida cotidiana como, por exemplo, um saque num terminal de auto atendimento. Imagine que você deseja sacar uma quantia de R$ 500,00 num caixa eletrônico. Normalmente, deve ser seguida uma sequência ordenada de passos para que esta tarefa seja realizada.

13 Página Inserir o cartão; 2. Retirar o cartão; 3. Escolher a opção saque; 4. Escolher o tipo de conta (corrente ou poupança); 5. Digitar o valor (R$ 500,00); 6. Selecionar um conjunto de três letras (uma de cada vez); 7. Inserir o cartão; 8. Retirar o cartão; 9. Retirar o dinheiro. Este é um algoritmo para a operação saque num terminal de caixa eletrônico. Observe que é necessário executar todos os passos na ordem em que são definidos para que a operação seja realizada. Consideremos agora que desejamos comer um ovo frito. Quais são os passos a serem seguidos para a tarefa de dado um ovo cru transformarmos em ovo frito? Acompanhe:

14 Página 14 Fonte das Imagens: e 1. Pegar um ovo cru; 2. Pegar uma frigideira e colocar sobre o fogão; 3. Acender o fogo; 4. Colocar gordura na frigideira; 5. Aguardar a gordura esquentar; 6. Quebrar o ovo e colocá-lo na frigideira; 7. Colocar sal sobre o ovo; 8. Aguardar o tempo de fritura; 9. Desligar o fogo; 10. Retirar o ovo da frigideira. 11. Colocar o ovo em um prato. Note que para transformar o ovo cru em ovo frito foi demandado certo tempo e utilizados alguns utensílios. Fazendo uma analogia com o problema do processamento de dados, podemos imaginar que o ovo cru são os dados brutos (dados de entrada) e o ovo frito os dados processados (dados de saída). Os utensílios utilizados para realizar a transformação de ovo cru em ovo frito podem ser entendidos como os recursos computacionais utilizados para processar os dados. O ato de quebrar o ovo na frigideira representa a entrada de dados e a retirada representa a saída de dados. Diante do exposto, apresentamos uma definição mais completa de algoritmo, proposta por Holloway (2007). Um algoritmo é uma lista de instruções que, quando executadas, transformam dados de entrada até a saída. As instruções são um conjunto finito de etapas que podem ser executadas, numa ordem precisa, por um mecanismo determinista. Quando estas etapas são efetivamente executadas, a execução deve terminar após um tempo finito.

15 Página 15 Nesta definição é preciso destacar alguns aspectos importantes para a compreensão do conceito de algoritmo. 1. Expressão Finita: um algoritmo é um conjunto finito de instruções. Note que não seria possível estabelecer, por exemplo, uma quantidade infinita de passos para sacar R$ 500,00 ou para fritar um ovo. 2. Execução por Mecanismo: é obrigatória a existência de uma máquina que seja capaz de executar as etapas definidas no algoritmo. 3. Execução Finita: todo algoritmo deve obrigatoriamente ser executado num intervalo de tempo finito. Por exemplo, não é possível estabelecer um passo num algoritmo que realize a entrada de todos os números naturais, pois a execução ficaria nesta instrução infinitamente. Estas características podem ser identificadas claramente nos algoritmos apresentados anteriormente. Por exemplo, no algoritmo para realizar um saque de R$ 500,00 através de um terminal de caixa eletrônico, é simples notar que o algoritmo consiste num conjunto finito de passos (9 passos). Além disso, existe alguém (o usuário) para executar os passos e, uma vez iniciado o saque, ele é concluído após um determinado intervalo de tempo. De forma semelhante, é possível identificar essas características no algoritmo que determina como fritar um ovo. O quadro a seguir, resume as características de um algoritmo.

16 Página 16 Características de um Algoritmo 1. Ter fim. 2. Não dar margem a dupla interpretação. 3. Capacidade de receber dados do mundo exterior. 4. Pode gerar informações de saída para o mundo externo ao ambiente do algoritmo. 5. Ser efetivo, ou seja, após um intervalo de tempo finito, o algoritmo apresenta a saída esperada, de acordo com a entrada. Agora que já sabemos o que é um algoritmo e quais as suas características, vamos conhecer um método que detalha como devemos proceder para, dado um problema, construir um algoritmo que represente sua solução. Método para a Construção de Algoritmos 1. Ler atentamente e compreender o problema a ser solucionado. 2. Identificar os dados de entrada. 3. Identificar os dados de saída. 4. Determinar o processamento, ou seja, definir como obter os dados de saída a partir dos dados de entrada. 5. Escrever o algoritmo. 6. Testar o algoritmo, simulando sua execução.

17 Página 17 Para melhor compreender o método apresentado, vamos considerar o seguinte problema: pegar duas notas de um aluno e apresentar sua média. Segundo o método, devemos inicialmente compreender o problema. Neste caso, o problema consiste na determinação da média aritmética de um aluno, a partir de suas duas notas. Em seguida, vamos proceder à identificação dos dados de entrada e de saída: neste caso é simples detectar que os dados de entrada (matéria-prima para a execução do algoritmo) são as duas notas do aluno e o dado de saída é a média dessas notas. O próximo passo consiste em definir o processamento. Ou seja, de que forma é possível obter a saída a partir dos dados de entrada. Para o problema estudado, basta pegar as duas notas, somá-las e dividir o total da soma por dois. Uma vez que o problema foi entendido e foram destacados entrada, processamento e saída, é preciso escrever o algoritmo. Mas, como o algoritmo será representado? Para representar um algoritmo, existem diversas formas, algumas padronizadas e outras não. Dentre várias técnicas de representação de algoritmos, escolhemos três para abordarmos em nosso curso: descrição narrativa, fluxograma e pseudocódigo ou linguagem algorítmica. Estas técnicas serão detalhadas a seguir. Uma vez escrito o algoritmo, devemos testá-lo, simulando sua execução, a fim de vericar se os resultado apresentados são corretos ou não. Mais adiante, veremos detalhes de como testar nossos algoritmos Formas de Representação de Algoritmos Descrição Narrativa Esta técnica para escrever algoritmos consiste na escrita do passo a passo em linguagem natural, conforme já o fizemos no início desta unidade quando determinamos os algoritmos para sacar um valor em dinheiro a partir de um terminal de caixa eletrônico e para fritar um ovo.

18 Página 18 A vantagem de utilizar esta notação para representar um algoritmo é que não é necessário aprender nenhum conceito novo, basta numerar cada passo e detalhá-lo em língua portuguesa. Entretanto, existem algumas desvantagens na adoção desta técnica, dentre as quais destacamos: a imprecisão, a pouca confiabilidade e a extensão. Por exemplo, imagine que foi solicitado a duas pessoas que fosse construído um algoritmo que representasse os passos para assistir a um filme a partir de um aparelho de DVD. As soluções apresentadas foram as seguintes: 1. Ligar o aparelho de DVD na tomada. 2. Colocar o disco no aparelho de DVD. 3. Pressionar play. 4. Assistir ao filme. 1. Ligar o aparelho de DVD na tomada. 2. Conectar o aparelho de DVD na TV. 3. Abrir a bandeja para inserir o disco. 4. Colocar o disco na bandeja. 5. Fechar a bandeja. 6. Pressionar play. 7. Assistir ao filme. 8 Abrir a bandeja Note que ambas as descrições estão corretas, entretanto o nível de detalhamento de cada uma é diferente. Escrever um algoritmo mais enxuto pode gerar imprecisão no momento em que ele for executado. Por outro lado, detalhar o passo a passo tornará o algoritmo muito extenso. Utilizando esta forma de representação para escrever nosso algoritmo que informa a média de uma aluno, temos: Algoritmo CalculaMedia 1. Solicite a primeira nota. 2. Anote a primeira nota. 3. Solicite a segunda nota. 4. Anote a segunda nota. 5. Some a primeira nota com a segunda e divida o resultado por Anote o resultado do cáculo. 7. Informe o resultado.

19 Página 19 Auto Avaliação Conceitue Algoritmo e dê exemplos de algoritmos que você percebe no seu dia a dia. 2. Por que um algoritmo não pode conter um comando que represente a leitura de todos os números naturais? 3. Escreva um algoritmo em descrição narrativa para cada um dos seguintes problemas: a) Trocar uma lâmpada no teto de sua casa Fluxograma Esta técnica define um conjunto de símbolos gráficos padronizados para representar algoritmos. A seguir, apresentamos os principais símbolo utilizados e seus siginifcados. Símbolos para Representar Algoritmos Cálculo/ Processamento Decisão Entrada de Dados Início/ Fim Saída de Dados Fluxo de Dados

20 Página 20 Como ficaria a representação em fluxograma do nosso algoritmo que calcula a média de um aluno? Acompanhe. Início Início do Algoritmo Nota1 Entrada da Primeira Nota Nota2 Entrada da Segunda Nota Média = (Nota1 + Nota2)/2 Cálculo da Média Média Apresentação do Resultado Fim

21 Página 21 Fim do Algoritmo A fim de melhor ilustrar o uso de fluxogramas na construção de algoritmos, consideremos o seguinte problema: dadas duas notas de um aluno, calcular sua média e informar se o aluno foi aprovado, caso sua média seja maior ou igual a 7, ou reprovado, se a média for menor que 7. Seguindo o método apresentado, iniciamos pela análise e compreensão do problema. O problema consiste em solicitar duas notas, calcular a média aritmética dessas notas e verificar se a média é maior que 7. Caso positivo, informar que o aluno foi aprovado, caso contrário, informar que o aluno foi reprovado. Após compreender o problema, devemos identificar entrada, saída e processamento. Para este problema, temos: Entrada: Nota 1 e Nota 2. Saída: a palavra Aprovado ou a palavra Reprovado. Processamento: A partir dos dados de entrada (Nota 1 e Nota 2), calcular a média aritmética, somando as duas notas e dividindo o resultado por 2. Em seguida, deve ser feito um teste condificional, que consiste em verificar se a média é maior ou igual a 7. Caso o resultado do teste seja verdadeiro, mostrar a palavra Aprovado, caso seja falso, mostrar a palavra Reprovado. Uma vez identificados esses elementos, o próximo passo consiste em escrever o algoritmo. Neste caso, foi construído um fluxograma. Analise-o. Início Nota1 Nota2 Média = (Nota1 + Nota2)/2

22 Página 22 Finalmente, devemos proceder aos testes para verificar se o algoritmo apresenta resultados coerentes. Para os testes, devemos simular alguns resultados e executar o Note a presença de uma decisão. algoritmo passo a passo. Neste caso, existem dois caminhos Vamos considerar os seguintes cenários e apenas um deverá ser seguido. A escolha é determinada pelo teste de testes: o primeiro consistirá na entrada das condicional. notas 8 e 9, respectivamente, cuja saída esperada é a palavra Aprovado, e o segundo terá como entradas as notas 4 e 6 e a saída esperada é a palavra Reprovado. Assim, para o primeiro cenário, temos: Início Aqui se inicia a execução Nota1 Nota 1 = 8 Nota2 Nota 2 = 9

23 Página 23 Média = (8 + 9) / 2 = 8,5 Média >= 7 verdadeiro (O fluxo segue pela esquerda). Fim da Execução É mostrada a Palavra Aprovado Para o segundo cenário, temos: Início Aqui se inicia a execução Nota1 Nota 1 = 4 Nota2 Nota 2 = 6 Média = (Nota1 + Nota2)/2 Média = (4 + 6) / 2 = 5 verdadeiro Média >= 7 falso Média >= 7 falso (O fluxo segue pela direita). Aprovado Reprovado

24 Página 24 É mostrada a palavra Reprovado Com base nos testes, verificamos que os resultados apresentados pelo algoritmo são exatamente aqueles esperados. Portanto, o algoritmo corresponde á solução do problema.

25 Página 25 Exemplo Escrever um algoritmo em fluxograma para fornecer o resultado da divisão de dois números. SOLUÇÃO Entrada: os dois números a serem divididos. Saída: a frase Não é possível dividir caso o segundo número seja zero, ou a resultado da divisão do primeiro pelo segundo número, caso contrário. Processamento: verificar se o segundo número é igual a zero. Caso positivo, mostrar a frase. Caso contrário, calcular o quociente e mostrar o resultado. Fluxograma Início NUM1 NUM2 verdadeiro NUM2 = 0 falso Não é possível dividir Quociente = NUM1 / NUM2 Quociente Fim

26 Página 26 A grande vantagem da utilização de fluxogramas para representar algoritmos é sua ampla utilização, uma vez que se trata de uma das notações mais conhecidas mundialmente, sendo inclusive padronizada. Além disso, o entendimento do algoritmo é mais simples em relação à descrição narrativa. Como desvatagens do uso de fluxogramas merece destaque o fato de não oferecer recursos para descrever ou representar os dados e não mostrar alguns detalhes, o que torna a tarefa de codificação trabalhosa. Além disso, quanto maior a complexidade de problema, maior será o fluxograma, tornado mais difcíil o seu entendimento. Como forma de minimizar esses problemas foi criada uma técnica de representação que aproximou os algoritmos das linguagens de programação. Esta técnica é apresentada na seção seguinte e detalhada nos próximos capítulos Pseudocódigo (Linguagem Algorítmica) Esta é a representação que mais se assemelha à forma como os programas são escritos, uma vez que consiste na definição de uma pseudolinguagem de programação para escrever um algoritmo, normalmente chamada de Portugol, Pseudocódigo ou Português Estruturado. Como toda linguagem de programação, o Portugol possui regras bem definidas para a escrita das instruções que representam a solução do problema e um significado para cada uma delas (sintaxe + semântica). Devido a isto, a tradução do algoritmo para qualquer linguagem de programação torna-se uma tarefa muito fácil, bastando ao programador apenas conhecer a linguagem que será utilizada para escrever o programa. A grande desvantagem na utilização de pseudocódigo para escrever algoritmos reside no fato de se ter que aprender a sintaxe e a semântica de cada comando. Além disso, não existe uma padronização de sintaxe. Cada grupo tem a liberdade de determinar a forma como as instruções serão escritas. Entretanto, apesar de existirem diversas pseudolinguagens, cada uma com sua sintaxe própria, o significado das instruções é sempre o mesmo. Portanto, nosso objetivo neste

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

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos 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

Algoritmos com VisuAlg

Algoritmos com VisuAlg Algoritmos com VisuAlg Prof Gerson Volney Lagemann Depto Eng de Produção e Sistemas UDESC - CCT Algoritmos com VisuAlg Introdução A linguagem VisuAlg é simples, seu objetivo é disponibilizar um ambiente

Leia mais

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3

Leia mais

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

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

CURSO TÉCNICO EM PROCESSAMENTO DE DADOS

CURSO TÉCNICO EM PROCESSAMENTO DE DADOS CURSO TÉCNICO EM PROCESSAMENTO DE DADOS APOSTILA DE LÓGICA DE PROGRAMAÇÃO CAP Criação de Algoritmos e Programas PROFESSOR RENATO DA COSTA Não estamos aqui para sobreviver e sim para explorar a oportunidade

Leia mais

Algoritmos e Programação. Prof. Tarcio Carvalho

Algoritmos e Programação. Prof. Tarcio Carvalho Algoritmos e Programação Prof. Tarcio Carvalho Conceito de Lógica A utilização da lógica na vida do indivíduo é constante, visto que é ela quem possibilita a ordenação do pensamento humano. Exemplo: A

Leia mais

1 Modelo de computador

1 Modelo de computador Capítulo 1: Introdução à Programação Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Modelo de computador O computador é uma máquina capaz de manipular informações processando seqüências

Leia mais

Desenvolvido por: Juarez A. Muylaert Filho - jamf@estacio.br Andréa T. Medeiros - andrea@iprj.uerj.br Adriana S. Spallanzani - spallanzani@uol.com.

Desenvolvido por: Juarez A. Muylaert Filho - jamf@estacio.br Andréa T. Medeiros - andrea@iprj.uerj.br Adriana S. Spallanzani - spallanzani@uol.com. UAL é uma linguagem interpretada para descrição de algoritmos em Português. Tem por objetivo auxiliar o aprendizado do aluno iniciante em programação através da execução e visualização das etapas de um

Leia mais

Algoritmos e Programação de Computadores

Algoritmos e Programação de Computadores Algoritmos e Programação de Computadores Algoritmos Estrutura Sequencial Parte 1 Professor: Victor Hugo L. Lopes Agenda Etapas de ação do computador; TDP Tipos de Dados Primitivos; Variáveis; Constantes;

Leia mais

Lógica de Programação PROF. FLÁVIO IZO

Lógica de Programação PROF. FLÁVIO IZO Lógica de Programação PROF. FLÁVIO IZO Dúvidas! FLÁVIO IZO (28) 99986-5273 (somente urgência) fizo@ifes.edu.br APRESENTAÇÃO DA DISCIPLINA Objetivos 1.0 Apresentações: Área que mais gosta? 2.0 Ementa; 3.0

Leia mais

Algoritmo e Programação

Algoritmo e Programação Algoritmo e Programação Professor: José Valentim dos Santos Filho Colegiado: Engenharia da Computação Prof.: José Valentim dos Santos Filho 1 Ementa Noções básicas de algoritmo; Construções básicas: operadores,

Leia mais

PC Fundamentos Revisão 4

PC Fundamentos Revisão 4 exatasfepi.com.br PC Fundamentos Revisão 4 André Luís Duarte...mas os que esperam no Senhor renovarão as suas forças; subirão com asas como águias; correrão, e não se cansarão; andarão, e não se fatigarão.is

Leia mais

Jaime Evaristo Sérgio Crespo. Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (ILA)

Jaime Evaristo Sérgio Crespo. Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (ILA) Jaime Evaristo Sérgio Crespo Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (ILA) Segunda Edição Capítulo 2 Versão 08042010 2. Introdução à Linguagem Algorítmica 2.1 Variáveis

Leia mais

INF1004 e INF1005: Programação 1. Introdução à Programação

INF1004 e INF1005: Programação 1. Introdução à Programação INF1004 e INF1005: Programação 1 Introdução à Programação Tópicos Principais Modelo de um Computador Um computador hipotético Ciclo de Desenvolvimento Modelo de um Computador Modelo de um Computador A

Leia mais

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

Aula 01. - Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson. - Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios Aula 01 Slide 1 BIBLIOGRAFIA SCHILDT H. C Completo e Total, Makron Books. SP, 1997. Curso de linguagem C da UFMG. ZIVIANI,

Leia mais

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

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br Introdução INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br introdução Tópicos conceitos básicos o que é um programa um programa na memória decifrando um código referência Capítulo

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

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

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo INF01040 Introdução à Programação Introdução à Lógica de Programação s Seqüenciais Sumário Elaboração de um programa/algoritmo Formas de representação de um algoritmo Elementos manipulados em um programa/algoritmo

Leia mais

Programação Elementar de Computadores Jurandy Soares

Programação Elementar de Computadores Jurandy Soares Programação Elementar de Computadores Jurandy Soares Básico de Computadores Computador: dispositivos físicos + programas Dispositivos físicos: hardware Programas: as instruções que dizem aos dispositivos

Leia mais

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

Introdução à Lógica de Programação Introdução à Lógica de Programação Sistemas Numéricos As informações inseridas em um computador são traduzidos em dados, ou seja, em sinais que podem ser manipulados pelo computador. O computador trabalha

Leia mais

Algoritmos Computacionais ( Programas )

Algoritmos Computacionais ( Programas ) Algoritmos Computacionais ( Programas ) A partir deste tópico, consideramos a utilização do universo Computacional na solução de problemas. Para tanto devemos lembrar que a transposição de problemas do

Leia mais

Resolução de problemas e desenvolvimento de algoritmos

Resolução de problemas e desenvolvimento de algoritmos SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de

Leia mais

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

PROGRAMAÇÃO DE COMPUTADORES (Teoria) PC PROGRAMAÇÃO DE COMPUTADORES (Teoria) Aula 01 Prof. Ricardo Veras (prof.rveras@gmail.com) ALGORITMOS "Seqüência ordenada de passos, que deve ser seguida para a realização de um tarefa" "Algoritmo é um

Leia mais

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

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

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

Introdução à Programação e Algoritmos. Aécio Costa Aécio Costa Programação é a arte de fazer com que o computador faça exatamente o que desejamos que ele faça. O que é um Programa? Uma seqüência de instruções de computador, para a realização de uma determinada

Leia mais

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

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma Roteiro: Conceitos básicos de algoritmo, linguagem, processador de linguagem e ambiente de programação; Aspectos fundamentais da organização e do funcionamento de um computador; Construções básicas de

Leia mais

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

Resumo da Matéria de Linguagem de Programação. Linguagem C Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis

Leia mais

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

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o funcionamento do computador Apresentar a função da memória e dos dispositivos

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 2 Introdução aos aplicativos Java Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 2.1 Introdução Programação de aplicativo Java. Utilize as ferramentas do JDK para compilar

Leia mais

LÓGICA DE PROGRAMAÇÃO Prof. José Geraldo

LÓGICA DE PROGRAMAÇÃO Prof. José Geraldo LÓGICA DE PROGRAMAÇÃO Prof. José Geraldo 1.1 Introdução A Lógica é forma de organizar os pensamentos e demonstrar o raciocínio de maneira correta. A utilização da lógica é a melhor maneira de solucionar

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Linguagem algorítmica: Portugol

Linguagem algorítmica: Portugol Programação de Computadores I Aula 03 Linguagem algorítmica: Portugol José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/34 Introdução I Lógica A lógica é usada

Leia mais

Conceitos Importantes:

Conceitos Importantes: Conceitos Importantes: Variáveis: Por Flávia Pereira de Carvalho, 2007 i O bom entendimento do conceito de variável é fundamental para elaboração de algoritmos, consequentemente de programas. Uma variável

Leia mais

AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br http://docente.ifrn.edu.br/albalopes

AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br http://docente.ifrn.edu.br/albalopes AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br http://docente.ifrn.edu.br/albalopes FUNÇÕES E PROCEDIMENTOS Também chamados de subalgoritmos São trechos de algoritmos

Leia mais

Algoritmos e Programação _ Departamento de Informática

Algoritmos e Programação _ Departamento de Informática 5 TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. De um modo geral estas informações podem ser classificadas em dois tipos:

Leia mais

ALGORITMOS E ESTRUTURAS DE DADOS I

ALGORITMOS E ESTRUTURAS DE DADOS I ALGORITMOS E ESTRUTURAS DE DADOS I Prof. Eduardo Machado Real Conteúdo deste material: Introdução aos Algoritmos Estrutura Sequencial Algoritmos e Estruturas de Dados 1 Prof. Eduardo 2 1 - INTRODUÇÃO Desde

Leia mais

Algoritmos em Javascript

Algoritmos em Javascript Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays

Leia mais

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

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados) Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados) Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior implementação

Leia mais

Introdução. introdução. tópicos. referência. INF1005 Programação I Prof. Hélio Lopes 8/7/12

Introdução. introdução. tópicos. referência. INF1005 Programação I Prof. Hélio Lopes 8/7/12 Introdução INF005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC introdução tópicos modelo de computador o que é um programa um programa na memória decifrando um código referência Capítulo

Leia mais

Microsoft Excel 2003

Microsoft Excel 2003 Associação Educacional Dom Bosco Faculdades de Engenharia de Resende Microsoft Excel 2003 Professores: Eduardo Arbex Mônica Mara Tathiana da Silva Resende 2010 INICIANDO O EXCEL Para abrir o programa Excel,

Leia mais

Linguagens de programação

Linguagens de programação Prof. André Backes Linguagens de programação Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve ser descrito em termos de 1 s ou 0 s

Leia mais

Capítulo 2: Introdução à Linguagem C

Capítulo 2: Introdução à Linguagem C Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso

Leia mais

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

Introdução à Programação de Computadores Parte I Componentes Básicos do Computador e de um Programa 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

Leia mais

Programação para Computação

Programação para Computação Universidade Federal do Vale do São Francisco Programação para Computação Professor: Marcelo Santos Linder E-mail: marcelo.linder@univasf.edu.br Ementa Conceito de algoritmo. Lógica de programação e programação

Leia mais

Introdução à Programação de Computadores

Introdução à Programação de Computadores 1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10 1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...

Leia mais

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

Lição 1 Introdução à programação de computadores Lição Introdução à programação de computadores Introdução à Programação I Objetivos Ao final desta lição, o estudante será capaz de: Identificar os diferentes componentes de um computador Conhecer linguagens

Leia mais

Capítulo 2: Introdução à Linguagem C

Capítulo 2: Introdução à Linguagem C Capítulo 2: Introdução à Linguagem C Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Ciclo de desenvolvimento O modelo hipotético de computador utilizado no capítulo anterior, embora muito

Leia mais

Componentes da linguagem C++

Componentes da linguagem C++ Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras

Leia mais

Aula 2 Modelo Simplificado de Computador

Aula 2 Modelo Simplificado de Computador Aula 2 Modelo Simplificado de Computador Um computador pode ser esquematizado de maneira bastante simplificada da seguinte forma: Modelo Simplificado de Computador: Memória Dispositivo de Entrada Processador

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++

ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++ ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++ #include { Este trecho é reservado para o corpo da função, com a declaração de suas variáveis locais, seus comandos e funções

Leia mais

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual Algoritmos: Lógica para desenvolvimento de programação de computadores Autor: José Augusto Manzano Capítulo 1 Abordagem Contextual 1.1. Definições Básicas Raciocínio lógico depende de vários fatores para

Leia mais

3. Tipos de Dados, Constantes e Variáveis.

3. Tipos de Dados, Constantes e Variáveis. 3. Tipos de Dados, Constantes e Variáveis. O computador realiza a sua tarefa trabalhando as informações contidas em sua memória, essas podem ser classificadas em dois tipos básicos: as instruções e os

Leia mais

Programação Básica em Arduino Aula 2

Programação Básica em Arduino Aula 2 Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Variáveis são lugares (posições) na memória principal que servem para armazenar dados. As variáveis são acessadas

Leia mais

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

Aula 11 Introdução ao Pseudocódigo. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu. Aula 11 Introdução ao Pseudocódigo Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu.br/~brunogomes Agenda da Aula Representação de Algoritmos em Pseudocódigo: Sintaxe;

Leia mais

ICC Introdução para JavaScript

ICC Introdução para JavaScript ICC Introdução para JavaScript Arquitetura Genérica de um Computador Máquina de Von Neumann Diagrama conhecido como Máquina de Von Neumann (grande nome da informática) A finalidade de um computador é receber,

Leia mais

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

Introdução à Lógica de Programação Sistemas Operacionais e Introdução à Programação Introdução à Lógica de Programação 1 Estruturas de dados Representação computacional das informações do problema ser resolvido Informações podem ser de

Leia mais

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Linguagem e Técnicas de Programação I Operadores, expressões e funções Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Operadores básicos Toda linguagem de programação, existem

Leia mais

Algoritmos. Cláudio Barbosa contato@claudiobarbosa.pro.br

Algoritmos. Cláudio Barbosa contato@claudiobarbosa.pro.br Algoritmos Partes básicas de um sistema computacional: Hardware, Software e Peopleware Hardware - Componentes físicos de um sistema de computação, incluindo o processador, memória, dispositivos de entrada,

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Dados X O computador nada mais é do que uma máquina de processar dados eletronicamente, com alta velocidade de processamento. Por meio de entrada de dados, ele executa instruções,

Leia mais

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

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva Algoritmos Estruturas Seqüenciais José Gustavo de Souza Paiva 1 Introdução Objetivo básico da computação auxiliar os seres humanos em trabalhos repetitivos e braçais, diminuindo i i d esforços e economizando

Leia mais

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

Processamento da Informação Teoria. Algoritmos e Tipos de dados Processamento da Informação Teoria Algoritmos e Tipos de dados Semana 01 Prof. Jesús P. Mena-Chalco 24/04/2013 (*) Slides adaptados das aulas do Prof. Harlen Costa Batagelo Algumas definições de algoritmo

Leia mais

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

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP Algoritmos e Programação Ricardo Argenton Ramos Baseado nos slides do professor Jadsonlee da Silva Sá Ementa Conceito de algoritmo. Lógica de programação e programação estruturada. Linguagem de definição

Leia mais

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

COMPUTADOR SIMPLIFICADO E COMPUTADOR DIGITAL. Algoritmos e Programação APG0001 COMPUTADOR SIMPLIFICADO E COMPUTADOR DIGITAL Algoritmos e Programação APG0001 Objetivos da aula Entender o princípio de funcionamento dos computadores; Entender o conceito de programa e sua dinâmica de

Leia mais

Introdução à Linguagem

Introdução à Linguagem Introdução à Linguagem Curso de Nivelamento do PPGMNE Janeiro / 2011 Juliano J. Scremin jjscremin@jjscremin.t5.com.br Um pouco de história Um pouco de história: Nascimento do Python Um pouco de história:

Leia mais

Componentes do Computador e. aula 3. Profa. Débora Matos

Componentes do Computador e. aula 3. Profa. Débora Matos Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e

Leia mais

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Resumo da Introdução de Prática de Programação com C. A Linguagem C Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

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

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

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

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Objetivos Entender a necessidade de se utilizar uma linguagem formal para construir algoritmos a serem interpretados

Leia mais

1 Lógica de Programação

1 Lógica de Programação 1 Lógica de Programação Técnicas de programação Programação Sequencial Programação Estruturada Programação Orientada a Eventos e Objectos 1.1 Lógica A lógica de programação é necessária para pessoas que

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) 2013/2. Introdução à Programação de Computadores. Aula - Tópico 1

Algoritmos e Estruturas de Dados I (DCC/003) 2013/2. Introdução à Programação de Computadores. Aula - Tópico 1 Algoritmos e Estruturas de Dados I (DCC/003) 2013/2 Introdução à Programação de Computadores Aula - Tópico 1 1 Por que usar um computador? Como conversar com um computador? 0101001001010100101011 0010100110101011111010

Leia mais

EVOLUÇÃO DOS COMPUTADORES

EVOLUÇÃO DOS COMPUTADORES EVOLUÇÃO DOS COMPUTADORES 1951/1959 - Computadores de primeira geração Circuitos eletrônicos e válvulas Uso restrito Precisava ser reprogramado a cada tarefa Grande consumo de energia Problemas devido

Leia mais

Laboratório de Programação I

Laboratório de Programação I Laboratório de Programação I Introdução à Programação em Visual Basic Fabricio Breve Objetivos Ser capaz de escrever programas simples em Visual Basic Ser capaz de usar os comandos de entrada e saída Familiarizar-se

Leia mais

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

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi Apostila de Fundamentos de Programação I Prof: André Luiz Montevecchi Introdução O mundo atual é dependente da tecnologia O uso intenso de diversos aparatos tecnológicos é parte integrante do nosso dia-a-dia

Leia mais

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

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Programação de Computadores I BCC 701. Introdução

Programação de Computadores I BCC 701. Introdução Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Programação de Computadores I BCC 701 Introdução 2012-01 PROF. MARCELO LUIZ SILVA

Leia mais

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características:

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características: Cerne Tecnologia www.cerne-tec.com.br Conhecendo o NSBASIC para Palm Vitor Amadeu Vitor@cerne-tec.com.br 1. Introdução Iremos neste artigo abordar a programação em BASIC para o Palm OS. Para isso, precisaremos

Leia mais

Italo Valcy

Italo Valcy <italo@dcc.ufba.br> Programação C Módulo 01 Introdução à linguagem C Italo Valcy www.ieee.org/ufba Italo Valcy Programação em C Licença de uso e distribuição Todo o material aqui disponível pode, posteriormente,

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:

Leia mais

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

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura UFPI CCN DIE Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura O projeto Desenvolver um compilador de um subconjunto básico da linguagem PORTUGOL.

Leia mais

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Programas e Linguagens Para executar uma tarefa

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores SUMÁRIO Arquitetura e organização de computadores Hardware Software SUMÁRIO Arquitetura e organização de computadores Terminologia básica Hardware Software Arquitetura e organização

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7 CURSO BÁSICO DE PROGRAMAÇÃO AULA 7 Revisão para prova: Comandos de Entrada e Saída Estruturas de Decisão (Se, caso (escolha)) Laços de Repetição (Enquanto, Repita, Para) Relembrando Trabalho 1 Prazo de

Leia mais

CalcForce. Guia do Usuário. Versão 1.0. Revisão 0

CalcForce. Guia do Usuário. Versão 1.0. Revisão 0 CalcForce Guia do Usuário Versão 1.0 Revisão 0 Copyright 2012 Datatific. Todos os direitos reservados. As informações contidas neste documento estão sujeitas a alterações sem aviso prévio. Índice analítico

Leia mais

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos

Leia mais

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Sumário Unidade Lógica Aritmetrica Registradores Unidade Lógica Operações da ULA Unidade de Ponto Flutuante Representação

Leia mais

Métodos de Programação I 2. 1 Ana Maria de Almeida CAPÍTULO 2 CONTEÚDO

Métodos de Programação I 2. 1 Ana Maria de Almeida CAPÍTULO 2 CONTEÚDO Métodos de Programação I 2. 1 CAPÍTULO 2 CONTEÚDO 2.1 Programação: Conceitos Fundamentais 2.1.1 Fases de construção de um programa executável 2.2.2 Metodologia da programação 2.2 A Linguagem Pascal 2.2.1

Leia mais

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação Lógica de Programação 3. INTRODUÇÃO À LINGUAGEM C Caro Aluno Vamos iniciar o terceiro capítulo da nossa disciplina. Agora vamos começar a aplicar os conceitos vistos nos capítulos anteriores em uma linguagem

Leia mais

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Representação da Informação Um dispositivo eletrônico, armazena e movimenta as informações internamente

Leia mais

- Aula 1 - ARQUITETURA DE COMPUTADORES

- Aula 1 - ARQUITETURA DE COMPUTADORES - Aula 1 - ARQUITETURA DE COMPUTADORES Em arquitetura de computadores serão estudados aspectos da estrutura e do funcionamento dos computadores. O objetivo é apresentar de forma clara e abrangente a natureza

Leia mais

Algoritmos e Fluxogramas

Algoritmos e Fluxogramas Algoritmos e Fluxogramas Lógica de Programação Teoria Introdução Este curso tem o objetivo de desenvolver o que chamamos de lógica de programação em pessoas que queiram ingressar neste mundo ou profissionais

Leia mais

Disciplina: Organização de computadores

Disciplina: Organização de computadores Disciplina: Organização de computadores Professora: Carolina D. G. dos Santos E-mail: profcarolinadgs@gmail.com Página: profcarolinadgs.webnode.com.br Unip / Prof. a Carolina 1 à Computador Conceitos Básicos

Leia mais

Introdução aos cálculos de datas

Introdução aos cálculos de datas Page 1 of 7 Windows SharePoint Services Introdução aos cálculos de datas Aplica-se a: Microsoft Office SharePoint Server 2007 Ocultar tudo Você pode usar fórmulas e funções em listas ou bibliotecas para

Leia mais

Unidade Central de Processamento

Unidade Central de Processamento Unidade Central de Processamento heloar.alves@gmail.com Site: heloina.com.br 1 CPU A Unidade Central de Processamento (UCP) ou CPU (Central Processing Unit), também conhecida como processador, é responsável

Leia mais

Exemplo de Subtração Binária

Exemplo de Subtração Binária Exemplo de Subtração Binária Exercícios Converta para binário e efetue as seguintes operações: a) 37 10 30 10 b) 83 10 82 10 c) 63 8 34 8 d) 77 8 11 8 e) BB 16 AA 16 f) C43 16 195 16 3.5.3 Divisão binária:

Leia mais

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos Vetores Nos capítulos anteriores estudamos as opções disponíveis na linguagem C para representar: Números inteiros em diversos intervalos. Números fracionários com várias alternativas de precisão e magnitude.

Leia mais

2. ENTRADA DE DADOS 2.1. TEXTOS

2. ENTRADA DE DADOS 2.1. TEXTOS 2. ENTRADA DE DADOS Os dados digitados em uma célula são divididos em duas categorias principais: constantes ou fórmulas. Um valor constante é um dado digitado diretamente na célula e que não é alterado.

Leia mais

Tutorial do Iniciante. Excel Básico 2010

Tutorial do Iniciante. Excel Básico 2010 Tutorial do Iniciante Excel Básico 2010 O QUE HÁ DE NOVO O Microsoft Excel 2010 é um programa de edição de planilhas eletrônicas muito usado no mercado de trabalho para realizar diversas funções como;

Leia mais