Lógica de Programação. Algoritmos e implementação

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

Download "Lógica de Programação. Algoritmos e implementação"

Transcrição

1 Lógica de Programação Algoritmos e implementação Este material aborda os conceitos básicos de lógica de programação, com o intuito de auxiliar o aluno nos seus primeiros passos na programação de computadores. Versão: 1.03 Me. Marcos Roberto de Moraes - Maromo 01/08/2013

2 Lista de Figuras Figura 1 - Planilha Eletrônica... 5 Figura 2 - Trecho do programa Chrome em Binário (Fonte: K19)... 6 Figura 3 - Trecho de programa na Linguagem C#... 7 Figura 4 Compilação... 7 Figura 5 - Ilustração do Funcionamento de uma Máquina Virtual (Fonte: K19)... 8 Figura 9 Fila de Pessoas... 9 Figura 10 - Receita (Fonte: obadenbaden.com.br) Figura 11 - Principais formas usadas em fluxogramas (símbolos mais usados) Figura 12 - Fluxograma para soma de dois valores Figura 13 - Zebra (imagem construída em ASCII) Figura 14 - Exemplo de Tipos de dados na Linguagem C Figura 15 - Exemplo de declaração em C# Figura 16 - Exemplo de declaração em Java Figura 17 - Exemplo de inicialização em C# Figura 18 - Exemplo de inicialização em Java Figura 19 - Exemplo de nomes de variáveis válidos utilizando caracteres especiais em outros idiomas Figura 20 - Operadores Matemáticos Figura 21 - Exemplo de uso de operador de verificação de igualdade em C# Figura 22 - Exemplo de uso do operador && em C# Figura 23 - Exemplo de Tabela da Verdade Figura 24 Fluxograma: média de duas notas Figura 25 - Exemplo If/then/else Figura 26 - Fluxograma com cadeia de ifs Figura 27 - Cadeia de Ifs em C# Figura 28 - Código Fatorial em C# (Condição pré-testada ) Figura 29 - Código Fatorial em C# (Condição pós-testada ) Figura 30 - Código Fatorial em C# (Comando for) Figura 31 - Exemplo de um algoritmo para o cálculo da média de 4 notas Figura 32 - Programa Visualg

3 Sumário 1 Introdução Programação Programa Linguagem de Máquina Linguagem de Programação Compilador Máquinas Virtuais Exercícios de Fixação Lógica de Programação Lógica Algoritmos e Implementação Representação dos Algoritmos Linguagem Natural Fluxogramas Pseudocódigo Exercício de Fixação Tipos de Dados Constantes Constantes Inteiras Variáveis Declaração Inicialização Tipos de variáveis Tipos primitivos em C Tipos primitivos em C# Tipos primitivos em Java Convenção para a nomenclatura Regras para a nomenclatura Exercício de Fixação Operadores Tabela Verdade Exercícios de Fixação Controle de Fluxo - Decisão Estrutura SE ENTÃO SENÃO / IF... THEN... ELSE Comandos de Fluxo - Estruturas de Repetição

4 7.1 Tipos ou modelos de repetição Repetição pré-testada Repetição pós-testada Repetição com variável de controle Iteração de coleção Exemplo em três formas: Exercícios de Fixação Linguagem de Projeto de Programação Linguagem PDL Tipos de Dados Nomes de Variáveis e sua Declaração Constantes e Comando de Atribuição Exercícios de Fixação Bibliografia

5 1 Introdução Com base nas experiências que tive com os meus alunos nos últimos 15 anos, ao elaborar esta apostila resolvi usar uma abordagem um pouco diferente em relação ao que é apresentado na maioria dos livros sobre o assunto. Aqui se pretende embasar a teoria por meio da prática em linguagem de programação C e Pascal. A cada capítulo, serão apresentados diversos problemas que servirão de base para o aprendizado sobre algoritmos e lógica de programação. Os exercícios servem como complementação do aprendizado, por essa razão são chamados de exercícios de fixação. Bom aprendizado. Professor Me. Marcos Roberto de Moraes Mestre em Educação, Especialista em Administração de Sistemas de Informação, Tecnólogo em Processamento de Dados, Professor do Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas e Mecânica de Precisão da Fatec de Mogi Mirim-SP 4

6 2 Programação Neste capítulo serão apresentados alguns conceitos importantes antes de iniciarmos o estudo da lógica de programação. Afinal o que são programas? O que é uma linguagem de máquina? Para que servem as diferentes linguagens de programação, o que é um Compilador? O que é o processo de compilação? E por fim, o que são Máquinas Virtuais? 2.1 Programa O que é um programa de computador? Figura 1 - Planilha Eletrônica Um programa ou programa de computador é um conjunto de instruções que são interpretadas pelo computador com a finalidade de se executar uma determinada tarefa. Essas instruções estão armazenadas em um arquivo que comumente é chamado de executável e, dentro deste arquivo, as instruções aparecem no formato binário que é extremamente difícil de ser lido por um ser humano. É uma coleção de instruções que descrevem uma tarefa a ser realizada por um computador. O termo pode ser uma referência ao código fonte, escrito em alguma linguagem de programação, ou ao arquivo que contém a forma executável deste código fonte. No momento em que um programa é gerado, é dito a ele em qual sistema operacional e em qual arquitetura de processador ele será executado. Ou seja, nele estarão contidas instruções específicas para um determinado tipo de processador, além de instruções específicas para um determinado sistema operacional. (K19, 2011) 5

7 2.2 Linguagem de Máquina Todo computador possui um conjunto de instruções que seu processador é capaz de executar. Essas instruções são chamadas de código de máquina, são representadas por sequências de bits, normalmente limitadas pelo número de bits do registrador principal da CPU. Esse código é chamado de código binário. São formados por 0 e 1. Na Linguagem de Máquina o código é escrito como uma sequência de números que representam as instruções a serem executadas pelo processador. É uma linguagem praticamente impossível de se trabalhar dado à dificuldade de se ler o código e de mantê-lo. (K19, 2011). Podemos verificar essa complexidade na figura abaixo: Figura 2 - Trecho do programa Chrome em Binário (Fonte: K19) 2.3 Linguagem de Programação 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. 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 sobre várias circunstâncias. Outra definição dada por Said (2007) é que linguagens de programação são conjuntos de padrões e comandos com sintaxes predefinidas que o programador utiliza para traduzir os algoritmos escritos, o que permite dar ordens ao processador e à memória de um computador. Escrever um programa em Linguagem de Máquina é totalmente inviável. As Linguagens de Programação que tentam se aproximar das linguagens humanas. Veja um trecho de código na Linguagem C#. 6

8 Figura 3 - Trecho de programa na Linguagem C# 2.4 Compilador Se o processador entende apenas Linguagem de Máquina, como ele irá interpretar o código escrito em uma Linguagem de Programação? Um compilador é um programa de computador ou um conjunto de programas que, a partir de um código fonte escrito em uma linguagem de programação, cria um programa semanticamente equivalente, porém escrito em outra linguagem, objeto. Ou seja, o papel do compilador é, basicamente, traduzir um código em Linguagem de Programação para um código em Linguagem de Máquina. Figura 4 Compilação 2.5 Máquinas Virtuais A empresa que desejar ter a sua aplicação disponível para diversos sistemas operacionais (Windows, Linux, Mac OS X, etc), e arquiteturas de processadores (Intel, ARM, PowerPC, etc), terá que escrever versões diferentes do código fonte para cada plataforma (sistema operacional + arquitetura de processador). Isso pode ser traduzido, do ponto de vista dos administradores de uma empresa, como um investimento muito alto em desenvolvimento e manutenção de um sistema. (K19, 2011) 7

9 Para solucionar esse problema, ou seja, a tarefa custosa de gerenciar diversas versões do código, alguns softwares compilar os programas para uma máquina virtual. De acordo com os autores da K19, Uma máquina virtual funciona como uma camada a mais entre o código compilado e a plataforma. Portanto, quando compilamos um código fonte, estamos criando um executável que a máquina virtual saberá interpretar e ela é quem deverá traduzir as instruções do seu programa para a plataforma. (K19, 2011) Figura 5 - Ilustração do Funcionamento de uma Máquina Virtual (Fonte: K19) 2.6 Exercícios de Fixação 1. O que são algoritmos? E qual sua importância? 2. Pesquise informações na internet sobre a história das linguagens de programação. Crie uma linha do tempo identificando os principais acontecimentos sobre o assunto nos últimos 40 anos. 8

10 3 Lógica de Programação Neste capítulo são apresentados os conceitos de lógica, algoritmos e implementação. 3.1 Lógica Existem muitas definições para a palavra lógica, porém no caso do nosso estudo não é relevante um aprofundamento nesse ponto, é suficiente apenas discutir alguns pontos de vista sobre o assunto. Lógica é uma parte da filosofia que estuda o fundamento, a estrutura e as expressões humanas do conhecimento. A lógica foi criada por Aristóteles no século IV a.c. para estudar o pensamento humano e distinguir interferências e argumentos certos e errados. (CABRAL, 2012) A lógica estuda a correção do raciocínio, ou seja a ordem da razão. Isso dá para entender que a nossa razão pode funcionar desordenadamente. Por isso, a lógica estuda maneiras de colocar ordem no pensamento. (SAID, 2007) Considere o problema de descobrir a idade da pessoa mais velha de um grupo de pessoas. Suponha que estas pessoas estão em uma fila qualquer (banco, cinema, etc.), e que esta fila não está vazia. Figura 6 Fila de Pessoas Vamos elaborar uma estratégia para resolver este problema. Uma solução bem simples seria fazer o seguinte (Veja a seção a seguir Algoritmos e Implementação). 9

11 3.2 Algoritmos e Implementação Um algoritmo é uma sequência de passos que resolve algum problema ou alcança algum objetivo, como a sequência de passos para resolver o problema de descobrir a idade mais velha de uma pessoa. É importante salientar que um algoritmo simplesmente diz o que deve ser feito. Como uma receita de bolo. Dizemos que um algoritmo é um sequencia finita de passos, descritos em uma ordem lógica, que visam atingir um objetivo bem definido. Figura 7 - Receita (Fonte: obadenbaden.com.br) Para resolver um problema, como em uma receita qualquer, devemos definir como executar os passos do algoritmo. Por exemplo, para o problema anterior (Seção 3.1- Lógica) de encontrar a maior idade do grupo de pessoas na fila, deveríamos definir como colher as informações sobre as idades das pessoas (perguntar para a própria pessoa, ver a data de nascimento em algum cadastro que a pessoa tenha feito) e como manter as informações sobre as idades (anotar em um papel ou guardar em uma variável no computador). A definição de como os passos de um algoritmo serão executados é uma implementação do algoritmo. Resumindo, algoritmo é o que deve ser feito e implementação é o como deve ser feito. (CAELUM, 2011) Uma solução simples para o nosso problema: 1) Pegue a idade da primeira pessoa. A única informação que você tem é que esta idade é a maior até o momento. Então, guarde em algum lugar esta informação. 2) Percorra cada uma das próximas pessoas e faça o seguinte: a) Pegue a idade da pessoa, esta é a idade atual. b) Compare a idade atual com a maior até o momento. Esta comparação pode resultar em três possibilidades: a idade atual é menor, é igual ou é maior. c) Se a altura atual for maior, então faça o valor da maior idade ser igual a atual. Um algoritmo deve ter uma sequencia de passos finitos e que garanta a sua repetição, ou seja, toda vez que for executado deve chegar ao resultado desejado. 10

12 3.3 Representação dos Algoritmos Há diversas formas de representar os algoritmos, as formas mais utilizadas de representação: Fluxograma e Pseudocódigo. Há ainda a linguagem natural, que será apresentada apenas como forma introdutória neste material, já que não se recomenda solucionar um problema computacional com o seu uso Linguagem Natural Suponha que você tenha um colega que é o mais novo cliente do seu banco, e ele quer aprender a sacar dinheiro no caixa eletrônico. Você já tem uma solução para o problema dele, então resolve ensiná-lo a sacar dinheiro. Para tanto, você escreve no papel as seguintes instruções: 1. Passe o cartão do banco no leitor. 2. Digite a senha da conta-corrente. 3. No menu que aparecer, escolha a opção SAQUE. 4. Digite o valor desejado e tecle ENTRA. 5. Confirme o valor do saque e aperte ENTRA. 6. Aguarde na frente do caixa até sair o dinheiro. 7. Pegue o dinheiro. Com esse algoritmo para sacar dinheiro, de forma ordenada, se seu amigo seguir os passos conseguirá ter as notas em suas mãos. Mas, Seu amigo já recebeu o cartão? Tem dinheiro na máquina? Tem saldo na conta? Muitas vezes, terão diferentes versões, ou diferentes fluxos de uma mesma versão de um algoritmo, para se resolver um problema, como esse que foi exemplificado Fluxogramas Fluxograma é um tipo de diagrama, às vezes conhecidos como diagrama de blocos, e pode ser entendido como uma representação esquemática de um processo, muitas vezes feito através de gráficos que ilustram de forma descomplicada a transição de informações entre os elementos que o compõem. É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações distintas (instruções e comandos). Facilita o entendimento das ideias contidas nos algoritmos. 11

13 Forma Significado Terminador: Início e Fim do Fluxograma. Processo Entrada de Dados Saída de Dados Decisão Conector Sentido do fluxo Figura 8 - Principais formas usadas em fluxogramas (símbolos mais usados) 12

14 Exemplo: Vamos supor que precisemos criar um algoritmo para somar dois valores (dados pelo usuário) e exibir o seu resultado. Início A, B SOMA A + B SOMA Fim Figura 9 - Fluxograma para soma de dois valores Pseudocódigo Esta forma de representação de algoritmos é rica em detalhes, como a definição dos tipos das variáveis usadas no algoritmo. Por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação. Na verdade, esta representação é suficientemente geral para permitir a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta. (UFRN, 2004) A forma geral da representação de um algoritmo na forma de pseudocódigo é a seguinte: 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 distingui-los 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. 13

15 <subalgoritmos> consiste de uma porção opcional do pseudocódigo onde são definidos os subalgoritmos. Exemplo: A soma de dois valores, agora representados em pseudocódigo. A representação em pseudocódigo é bem simples e na maioria dos casos é o suficiente para se explicar um algoritmo. Existem alguns interpretadores de portugol como o VisuAlg e, no caso da língua inglesa, temos algumas linguagens como Pascal e BASIC cuja sintaxe se assemelha muito com a sintaxe de um pseudocódigo em inglês. (K19, 2011) 3.4 Exercício de Fixação 1. Pesquise sobre as formas de representar algoritmos. O que é dito sobre descrição narrativa? É interessante ou não utilizar essa forma para a elaboração de algoritmos? 2. Baixe o aplicativo VISUALG e tente executar o algoritmo acima. Veja instruções no capítulo 8 - Linguagem de Projeto de Programação. 14

16 4 Tipos de Dados Neste capítulo são apresentados os conceitos de tipos de dados, constantes e variáveis. Declaração e inicialização de variáveis nas linguagens C# e Java. Apresenta-se também as regras de declaração e as convenções utilizadas. Figura 10 - Zebra (imagem construída em ASCII) Nota sobre ASCII: ASCII (acrônimo para American Standard Code for Information Interchange, que em português significa "Código Padrão Americano para o Intercâmbio de Informação") é uma codificação de caracteres de oito bits baseada no alfabeto inglês. Os códigos ASCII representam texto em computadores, equipamentos de comunicação, entre outros dispositivos que trabalham com texto. Desenvolvida a partir de 1960, grande parte das codificações de caracteres modernas a herdaram como base. Os dados representam as informações processadas pelo computador. Alguns tipos de dados: numéricos (inteiros e reais), dados caracteres ou literais, lógicos, datas, entre outros. Os tipos numéricos inteiros são dados numéricos positivos, negativos e não fracionários. Ex: 50, 12, 0, -14. Já os tipos reais são aqueles também numéricos positivos e negativos, mas, nesse caso, fracionário. Exemplo: 50.34, 12.14, Os tipos caracteres são sequencias de letras, números e símbolos especiais, também é conhecido por cadeia de string, literal ou alfanumérico. São representados entre aspas. Exemplo: bola, Programa, , etc. Os tipos lógicos, chamados de booleanos, são dados que representam apenas dois valores: verdadeiro e falso. Nas linguagens de alto nível como Pascal, C/C++, PHP, é reconhecido pelos termos em inglês, ou seja, true ou false. Nota: Algumas linguagens tratam datas como tipos especiais. Nos exemplos deste material, quando usarmos datas, utilizaremos entre aspas como se fosse um tipo string. 15

17 Figura 11 - Exemplo de Tipos de dados na Linguagem C 4.1 Constantes Constantes são usadas em expressões para representar vários tipos de valores. Em C# existem regras rígidas para determinar como devem ser escritos estes valores. A seguir iremos mostrar as regras para escrever constantes Constantes Inteiras São valores numéricos sem ponto decimal, precedidos ou não por um sinal. Não é possível separar o sinal do valor numérico. Constantes válidas são, por exemplo: Alguns exemplos de erros na escrita de constantes inteiras são: 1.3 (Não é possível usar ponto decimal) (Não é possível colocar um espaço entre o sinal e o valor numérico). 2 3 (Não é possível usar notação de expoentes) 4.2 Variáveis varx 189 Em computação uma variável representa um endereço da memória RAM. Nela somos capazes de armazenar informações de vários tipos: numéricos, strings (texto), booleanos (verdadeiro ou falso), objetos e etc. Quando declaramos uma variável estamos atribuindo um nome simbólico à um endereço da memória RAM. Dentro de nosso programa utilizaremos esse nome 16

18 para manipular a informação contida no endereço da memória relacionado à variável. (K19, 2011) O computador, para poder trabalhar com algumas destas informações precisa saber onde, na memória, o dado está localizado. Fisicamente, cada posição de memória, possui um endereço, ou seja, um número, normalmente em hexadecimal, que indica onde cada informação está localizada. Como utilizamos as variáveis? Para utilizarmos as variáveis na linguagem Java ou C# (duas das mais utilizadas atualmente) precisamos passar pelas seguintes etapas: declaração e inicialização Declaração Tanto em Java como em C# declaramos uma variável informando o seu tipo e o seu nome (identificador). Figura 12 - Exemplo de declaração em C# Figura 13 - Exemplo de declaração em Java Inicialização Após declararmos uma variável, antes de utilizá-la, devemos inicializá-la para evitarmos um erro de compilação. Figura 14 - Exemplo de inicialização em C# 17

19 Figura 15 - Exemplo de inicialização em Java 4.3 Tipos de variáveis Pelo fato das variáveis possuírem um tipo nas linguagens C, Java e C#, normalmente dizemos apenas qual o tipo da variável? quando queremos saber qual o tipo de dado associado àquela variável em questão. Existem diversos tipos de dados, sendo os mais básicos os tipos primitivos que são pré-definidos pelas duas linguagens. (K19, 2011) Tipos primitivos em C Tipo Tamanho em Bytes Faixa Mínima char a 127 unsigned char 1 0 a 255 signed char a 127 int a unsigned int 4 0 a signed int a short int a unsigned short int 2 0 a signed short int a long int a signed long int a unsigned long int 4 0 a float 4 Seis digitos de precisão double 8 Dez digitos de precisão long double 10 Dez digitos de precisão Tipos primitivos em C# Tipo C# Tipo.NET Descrição Faixa de dados Bool System.Boolean Booleano true ou false Byte System.Byte Inteiro de 8-bit com sina -127 a 128 Char System.Char Caracter Unicode de 16-bit U+0000 a U+ffff Decimal System.Decimal Inteiro de 96-bit com sinal 1, a 7, com dígitos significativos Double System.Double Flutuante IEEE 64-bit com 15- ±5, a ±1, dígitos significativos Float System.Single Flutuante IEEE 32-bit com 7 ±1, a ±3,

20 dígitos significativos Int System.Int32 Inteiro de 32-bit com sinal a Long System.Int64 Inteiro de 64-bit com sinal 9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 Object System.Object Classe base Sbyte System.Sbyte Inteiro de 8-bit sem sinal 0 a 255 Short System.Int16 Inteiro de 16-bit com sinal -32,768 a 32,767 String System.String String de caracteres Unicode Uint System.UInt32 Inteiro de 32-bit sem sinal 0 a 4,294,967,295 Ulong System.UInt64 Inteiro de 64-bit sem sinal 0 a 18,446,744,073,709,551,615 Ushort System.UInt16 Inteiro de 16-bit sem sinal 0 a 65, Tipos primitivos em Java Java possui 8 tipos primitivos. Quatro deles são usados para representar inteiros. São eles: byte, short, int, long. A diferença entre eles é o tamanho em bytes. Todos representam números inteiros positivos e negativos. Outros dois tipos primitivos são usados para representar números reais (ponto flutuante). São eles: float e double. A diferença entre eles é a quantidade de bytes utilizados para sua representação. Tanto float quanto o double seguem a norma IEE754 1 para formação de números de ponto flutuantes. Os dois últimos tipos são char e boolean. O primeiro é utilizado para representar caracteres ou números positivos. O segundo aceita dois valores lógicos true ou false. Tipo Faixa de dados byte (8bits) -128 a 127 short (16bits) a int (32bits) a long (64bits) a float (32 bits) single-precision 32-bit IEEE 754 floating point double (64 bits) double-precision 64-bit IEEE 754 floating point char (16 bits) '\u0000' (ou 0) a '\uffff' (or inclusive) Boolean Assume true ou false (tamanho não defnido) 4.4 Convenção para a nomenclatura Tanto em Java como em C# existe uma convenção para a escrita dos nomes das variáveis. Ambas as linguagens utilizam o padrão Camel Case, que consiste em escrever o nome da variável com a primeira letra de cada palavra em maiúscula exceto a primeira. Também devemos nos lembrar de que as três linguagens são Case Sensitive, ou seja, numerodaconta e NumeroDaConta são consideradas duas variáveis diferentes pelo fato do nome da primeira começar com letra minúscula e a da segunda maiúscula. 1 A Norma IEEE define os formatos adequados para representar números em ponto flutuante de precisão simples (32 bits) e de precisão dupla (64 bits) 19

21 4.5 Regras para a nomenclatura As linguagens C, Java e C# possuem regras muito parecidas. O nome de uma variável: 1. Não deve começar com um dígito; 2. Não pode ser igual a uma palavra reservada; 3. Não pode conter espaço(s); 4. Pode ser uma palavra de qualquer tamanho; 5. Pode conter letras, dígitos e _ (underscore). Em Java, pode conter também o caractere $. As linguagens Java e C# nos permite escrever os nomes das variáveis em qualquer idioma, pois elas aceitam qualquer caractere Unicode. Portanto são válidas as variáveis escritas com as acentuações do português, assim como as variáveis escritas em japonês, por exemplo. int númerodaconta; int アカウント 番 号 ; Figura 16 - Exemplo de nomes de variáveis válidos utilizando caracteres especiais em outros idiomas. Apesar de ser possível o uso de caracteres em outros idiomas, assim como o uso dos caracteres $ (cifrão) e _ (underscore), não é recomendável utilizá-los. Não utilizar tais caracteres é uma das boas práticas de programação. 4.6 Exercício de Fixação 1. Indique os nomes de variáveis que são válidos. Justifique os nomes inválidos. a) tempo b) nota_final c) us$ d) char e) 2dias f) teste 1 g) raio.do.circulo 2. Indique quais dos números abaixo são constantes inteiras (longas ou não) válidas. Justifique suas respostas. a) 100 b) c) 3.0 d) -35 e) f) 0L g) 2l 20

22 5 Operadores Nas diferentes linguagens de programação utilizamos os operadores para manipularmos as variáveis de nossa aplicação. As linguagens C, Java e C# possuem diversos operadores que são categorizados da seguinte forma: Aritmético (+, -, *, /, %) Atribuição (=, +=, -=, *=, /=, %=) Relacional (==,!=, <, <=, >, >=) Lógico (&&, ) Veja a seguir uma lista de operadores matemáticos básicos, listados em ordem de precedência. Use parênteses para outra ordem. Operador Objetivo *, /, % Multiplicação, Divisão, Módulo +, - Adição, subtração Exemplo Figura 17 - Operadores Matemáticos Lista de operadores de atribuição e Incremento: Operador Objetivo = Atribuir valor v++ Incremento variável v por 1. v+=n Incremento variável v por n. v*=n Multiplique variável v por n. v-=n Subtrair n da variável v. Veja lista de operadores relacionais: Operador Objetivo == Verifica a igualdade.!= Verifica a desigualdade. 21

23 > Mais de. < Menor que. >= Maior que ou igual a. <= Menor ou igual a. Figura 18 - Exemplo de uso de operador de verificação de igualdade em C# Veja a lista dos operadores lógicos: Operador Objetivo && And condicional. OR condicional.! NOT condicional. Figura 19 - Exemplo de uso do operador && em C# 5.1 Tabela Verdade Os autores da K19 (K19, 2011) apresentam a tabela verdade com uma tabela matemática muito utilizada na Álgebra Booleana e faremos o uso dela para compreendermos melhor os operadores lógicos. Sendo A e B duas variáveis booleanas, confira como ficaria a tabela verdade para os operadores lógicos E (&&) e OU ( ): Figura 20 - Exemplo de Tabela da Verdade 22

24 Rapidamente notamos que a operação E devolve true apenas quando A e B são true. Também notamos que a operação OU devolve false apenas quando A e B são false. Vamos utilizar os exemplos de operadores lógicos dados anteriormente para ilustrarmos melhor como funciona a tabela verdade. Exemplo 1: Seja A=5, B=3, C=2. Calcule o resultado da expressão lógica: 1) A + 7 > B * C Sendo A = 5 Então = 12 E 3 * 2 = 6 Então a expressão é 12 > 6, ou seja, o resultado é.verdadeiro. (Verdadeiro) Exemplo 2: Suponha que temos três variáveis A = 5, B = 8 e C =1, os resultados das expressões seriam: Operações Lógicas são utilizadas quando se torna necessário tomar decisões em um fluxograma ou diagrama de bloco. Num fluxograma, toda decisão terá sempre como resposta o resultado.verdeiro. ou.falso. (true ou false) Uma estrutura de decisão ou desvio faz parte das técnicas de programação que conduzem a estruturas de programas que não são totalmente sequenciais. Com as instruções de SALTO ou DESVIO pode-se fazer com que o programa proceda de uma ou outra maneira, de acordo com as decisões lógicas tomadas em função dos dados ou resultados anteriores Exercícios de Fixação 1. Crie um fluxograma para calcular o estoque médio de uma peça, sendo que: ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /2. 23

25 2. Crie um fluxograma para calcular a idade aproximada em anos de uma pessoa, Sendo que IDADE = ANOATUAL ANONASC. 3. Crie um fluxograma para calcular a seguinte expressão: X:= X ^ Onde X é informado como entrada pelo usuário. 4. Crie um fluxograma para calcular a seguinte expressão: A:= A + B * C. Os valores devem ser lidos do teclado. 5. Crie um fluxograma para calcular a média ponderada de duas notas de um aluno. A nota 1 tem peso 3 e a nota 2 tem peso Indique com um I os tipos inteiros, R os tipos reais, B os tipos booleanos e L os tipos literais para os dados abaixo: ( ) 100 ( ) ( ) ( ) 0 ( ) -34 ( ) -9 ( ) 10/11/09 ( ) Maria ( ) 0 ( ).verdadeiro. ( ).falso. ( ) ( ) 34 ( ) ( ) Construa um fluxograma que: Leia a cotação do dólar Leia um valor em dólares Converta esse valor para Real Mostre o resultado 8. Construa um fluxograma que: Leia 4(quatro) números Calcule o quadrado para cada um Somem todos e Mostre o resultado 9. Construa um algoritmo para pagamento de comissão de vendedores de peças, levando-se em consideração que sua comissão será de 5% do total da venda e que você tem os seguintes dados: Identificação do vendedor Código da peça Preço unitário da peça Quantidade vendida 10. Construa um algoritmo que receba como entrada os seguintes dados: Peso de uma pessoa; Sua altura em centímetros; E em seguida calcule o Índice de Massa Corpórea (IMC) através da seguinte fórmula: PESO / ALT ^ 2 24

26 11. Construa um algoritmo que leia três valores e mostre o produto dos mesmos. 12. Construa um algoritmo para calcular o volume de uma garrafa de água, utilizando a fórmula: VOLUME:= * R ^ 2 * H, onde R é o valor do Raio, e H é a altura. 13. Construa um algoritmo para efetuar as operações básicas de adição, multiplicação e divisão de dois valores dados pelo usuário A e B, apresentando ao final todos os resultados. 14. Uma loja de animais precisa de um programa para calcular o custo da criação de determinada ave. O custo é calculado com a fórmula CUSTO:= (NRAVES * 0.30) / Construa um algoritmo para efetuar o presente cálculo e apresentar ao final o custo de criação do número de aves informado pelo usuário (Valor lido). Até agora entendemos o que é um programa, como ele funciona, de que maneira armazenamos os dados na memória do computador através das variáveis e como realizamos operações de diversos tipos por meio dos operadores que as linguagens disponibilizam. Nos dois próximos capítulos serão estudadas instruções para o controle de fluxo: instruções de decisão e de repetição. 25

27 6 Controle de Fluxo - Decisão Por meio do fluxograma que calcula a média de duas notas de um aluno e mostra como resultado se o mesmo foi aprovado ou não, de acordo com a seguinte condição: para ser aprovado o aluno deverá ter média superior ou igual a sete. Início N1, N2 Soma N1 + N2 Media (N1 + N2) / 2 Media, Reprovado Não Media>=7 Sim Media, Aprovado Fim Figura 21 Fluxograma: média de duas notas 6.1 Estrutura SE ENTÃO SENÃO / IF... THEN... ELSE A estrutura de decisão SE/IF normalmente vem acompanhada de um comando, ou seja, se determinada condição for satisfeita pelo comando SE/IF então execute determinado comando. Imagine um algoritmo que determinado aluno somente estará aprovado se sua média for maior ou igual a 7.0, como visto no fluxograma da Figura 24 Fluxograma: média de duas notas. SE MEDIA >= 7.0 ENTÃO ALUNO APROVADO SENÃO ALUNO REPROVADO Veja o código na linguagem C#. 26

28 Figura 22 - Exemplo If/then/else Podemos também, dentro de uma mesma condição testar outras condições. Supondo que agora tenhamos uma nova condição, a de RECUPERAÇÃO. Dessa forma, se a Média for Menor ou igual a 3.5 o aluno está REPROVADO, com Média superior a 3.5 e menor que 7 o aluno está de RECUPERAÇÃO, caso seja maior ou igual a 7.0 sua situação será aprovado. 27

29 Início N1, N2 Soma N1 + N2 Media (N1 + N2) / 2 N Media<=3.5 S Media, Reprovado Media>3.5 && Media<7.0 S Media, Recuperação N Media, Aprovado Fim Figura 23 - Fluxograma com cadeia de ifs 28

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

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

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

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

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

Programando em C# Orientado a Objetos. By: Maromo

Programando em C# Orientado a Objetos. By: Maromo Programando em C# Orientado a Objetos By: Maromo Agenda Módulo 1 Plataforma.Net. Linguagem de Programação C#. Tipos primitivos, comandos de controle. Exercícios de Fixação. Introdução O modelo de programação

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

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

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

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

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 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

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

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

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

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

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

Introdução a Algoritmos Parte 04

Introdução a Algoritmos Parte 04 Universidade Federal do Vale do São Francisco Curso de Engenharia de Computação Introdução a Algoritmos Parte 04 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

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

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

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem

Leia mais

Aluísio Eustáquio da Silva

Aluísio Eustáquio da Silva 1 Aluísio Eustáquio da Silva SciLab Programável Material didático usado em aulas de Programação de Computadores, Algoritmos e Lógica de Programação Betim Maio de 2012 2 PROGRAMAÇÃO O SciLab permite que

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

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 Introdução a linguagem C Estruturas de decisão Introdução à Linguagem C Linguagem compilada. Desenvolvida sobre os paradigmas de programação procedural. Uma das linguagens

Leia mais

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

MC102 Algoritmos e programação de computadores Aula 3: Variáveis MC102 Algoritmos e programação de computadores Aula 3: Variáveis Variáveis Variáveis são locais onde armazenamos valores na memória. Toda variável é caracterizada por um nome, que a identifica em um programa,

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

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

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

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

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

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

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

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

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos 1. INTRODUÇÃO A ALGORITMOS O uso de algoritmos é quase tão antigo quanto a matemática. Com o passar do tempo, entretanto, ele foi bastante esquecido pela matemática. Com o advento das máquinas de calcular

Leia mais

ESTRUTURA CONDICIONAL

ESTRUTURA CONDICIONAL AULA 6 ESTRUTURA CONDICIONAL 130 Tem como objetivo executar um conjunto de comandos caso uma condição lógica seja atendida. Quando a resposta lógica for falsa, nada será executado. Sintaxe Se CONDIÇÃO

Leia mais

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos LÓGICA DE PROGRAMAÇÃO Vitor Valerio de Souza Campos Exemplos de algoritmos Faça um algoritmo para mostrar o resultado da multiplicação de dois números. Algoritmo em descrição narrativa Passo 1 Receber

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

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I 01/2013 Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo Problema 1 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em

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

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 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

PROGRAMADOR JAVA. Aula 0 20 semanas. Instrutor : Léo Billi Email : leo.billi@gmail.com

PROGRAMADOR JAVA. Aula 0 20 semanas. Instrutor : Léo Billi Email : leo.billi@gmail.com Aula 0 20 semanas Instrutor : Léo Billi Email : leo.billi@gmail.com Bem-vindos Para que não sabe, quer dizer iniciantes. Noobs Informática A arte de processar dados A História A História A arte de processar

Leia mais

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO Pseudocódigo Pseudocódigo é uma forma genérica de escrever um algoritmo, utilizando uma linguagem simples (nativa a quem o escreve,

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

20 Caracteres - Tipo char

20 Caracteres - Tipo char 0 Caracteres - Tipo char Ronaldo F. Hashimoto e Carlos H. Morimoto Até agora vimos como o computador pode ser utilizado para processar informação que pode ser quantificada de forma numérica. No entanto,

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

Lista de Exercícios. Vetores

Lista de Exercícios. Vetores Lista de Exercícios Vetores LINGUAGEM DE PROGRAMAÇÃO PROF. EDUARDO SILVESTRI. WWW.EDUARDOSILVESTRI.COM.BR ATUALIZADO EM: 13/03/2007 Página 1/1 1. Faça um programa que crie um vetor de inteiros de 50 posições

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

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

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Objetivos Compreender os conceitos de lógica de programação e de algoritmos. Conhecer

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

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

VisuALG Estruturas de Repetição. Professores: Vilson Heck Junior vilson.junior@ifsc.edu.br Felipe Schneider Costa felipe.costa@ifsc.edu.

VisuALG Estruturas de Repetição. Professores: Vilson Heck Junior vilson.junior@ifsc.edu.br Felipe Schneider Costa felipe.costa@ifsc.edu. VisuALG Estruturas de Repetição Professores: Vilson Heck Junior vilson.junior@ifsc.edu.br Felipe Schneider Costa felipe.costa@ifsc.edu.br O Problema. Estruturas de Repetição: Introdução; Repita ate; Exemplo;

Leia mais

PROGRAMANDO EM C# ORIENTADO A OBJETOS

PROGRAMANDO EM C# ORIENTADO A OBJETOS PROGRAMANDO EM C# ORIENTADO A OBJETOS AGENDA MÓDULO 2 Domínio e Aplicação Objetos, Atributos e Métodos Classes em C# Criando Objetos em C# Referências em C# Manipulando Atributos Valores Padrão Exercícios

Leia mais

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

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Primeiro Programa em Java public class OlaPessoal

Leia mais

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

Algoritmos e Programação Parte Teórica

Algoritmos e Programação Parte Teórica Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte Teórica Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

e à Linguagem de Programação Python

e à Linguagem de Programação Python Introdução a Algoritmos, Computação Algébrica e à Linguagem de Programação Python Curso de Números Inteiros e Criptografia Prof. Luis Menasché Schechter Departamento de Ciência da Computação UFRJ Agosto

Leia mais

OPERADORES E ESTRUTURAS DE CONTROLE

OPERADORES E ESTRUTURAS DE CONTROLE OPERADORES E ESTRUTURAS DE CONTROLE 3.1 Operadores Os operadores indicam o tipo de operação matemática que será executada gerando novos valores a partir de um ou mais operadores. São muito utilizados em

Leia mais

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle Disciplina: TCC-00.7 Prog. de Computadores III Professor: Leandro Augusto Frata Fernandes Turma: A- Data: / / Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle. Construa um algoritmo

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

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação FaculdadedeCiências UniversidadeAgostinhoNeto DepartamentodeMatemáticaeEngenhariaGeográfica CiênciasdaComputação ProgramaçãoII SegundaParte Adaptado de um original dos docentes de ISCTE Objectivos Os alunos

Leia mais

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01 IFTO LÓGICA DE PROGRAMAÇÃO AULA 01 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://manoelcampos.com mcampos at ifto.edu.br Versão

Leia mais

13 Números Reais - Tipo float

13 Números Reais - Tipo float 13 Números Reais - Tipo float Ronaldo F. Hashimoto e Carlos H. Morimoto Até omomentonoslimitamosaouso do tipo inteiro para variáveis e expressões aritméticas. Vamos introduzir agora o tipo real. Ao final

Leia mais

Aula 2 Variáveis. Precisamos armazenar os tipos de dados da aula anterior (inteiros, reais, literais e lógicos) em memória. Como fazer?

Aula 2 Variáveis. Precisamos armazenar os tipos de dados da aula anterior (inteiros, reais, literais e lógicos) em memória. Como fazer? Aula 2 Variáveis 1. Introdução Computadores precisam manipular informações. Por conseguinte, precisam armazená-las em sua memória. Para isso, usamos a abstração de variáveis. 2. Sistemas de numeração Explicar

Leia mais

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 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

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

Leia mais

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição 1 Estrutura de seleção Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição - Necessário quando mais de uma ação deve ser tomada se uma condição for satisfeita

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

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

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

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

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

Excel Planilhas Eletrônicas

Excel Planilhas Eletrônicas Excel Planilhas Eletrônicas Capitulo 1 O Excel é um programa de cálculos muito utilizado em empresas para controle administrativo, será utilizado também por pessoas que gostam de organizar suas contas

Leia mais

I Lista de Exercícios

I Lista de Exercícios MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DIRETORIA DE ENSINO DE GRADUAÇÃO LÓGICA DE PROGRAMAÇÃO ESTRUTURADA I Lista de Exercícios 1. Faça um algoritmo que receba o salário-base de

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

AMBIENTE DE PROGRAMAÇÃO PYTHON

AMBIENTE DE PROGRAMAÇÃO PYTHON Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2003/2004 FICHA 1 AMBIENTE DE PROGRAMAÇÃO PYTHON 1.1. Objectivos

Leia mais

Aula 3 - Sistemas de Numeração

Aula 3 - Sistemas de Numeração UEM Universidade Estadual de Maringá DIN - Departamento de Informática Disciplina: Fundamentos da Computação Profª Thelma Elita Colanzi Lopes thelma@din.uem.br Aula 3 - Sistemas de Numeração O ser humano,

Leia mais

Roteiro 1: Dados, variáveis, operadores e precedência

Roteiro 1: Dados, variáveis, operadores e precedência 1. Introdução Universidade Federal do ABC Disciplina: Processamento da Informação (BC-0505) Assunto: Dados, variáveis, operadores e precedência Roteiro 1: Dados, variáveis, operadores e precedência Nesta

Leia mais

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados)

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados) 1 UNIVERSIDADE DO CONTESTADO / UnC CAMPUS CONCÓRDIA/SC CURSO DE SISTEMAS DE INFORMAÇÃO Fundamentos em Informática (Sistemas de Numeração e Representação de Dados) (Apostila da disciplina elaborada pelo

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho O que é um Programa? Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais

Leia mais

Organização de programas em Java. Vanessa Braganholo vanessa@ic.uff.br

Organização de programas em Java. Vanessa Braganholo vanessa@ic.uff.br Organização de programas em Java Vanessa Braganholo vanessa@ic.uff.br Vamos programar em Java! Mas... } Como um programa é organizado? } Quais são os tipos de dados disponíveis? } Como variáveis podem

Leia mais

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00 Fundamentos da Programação 32 A. Conceito Variáveis contém dados: VIII. VARIÁVEIS de entrada que o computador precisa manipular; de saída que o computador precisa imprimir; e temporários, utilizados de

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

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS Compilação dos erros mais comuns cometidos por estudantes de Introdução a Algoritmos Marcos Portnoi Edição 19.4.2007 Universidade Salvador UNIFACS

Leia mais

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte III) Prof.a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br

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

Sistemas de Numeração

Sistemas de Numeração Sistemas de Numeração Um numeral é um símbolo ou grupo de símbolos que representa um número em um determinado instante da evolução do homem. Tem-se que, numa determinada escrita ou época, os numerais diferenciaram-se

Leia mais

Sistemas de Numerações.

Sistemas de Numerações. Matemática Profº: Carlos Roberto da Silva; Lourival Pereira Martins. Sistema de numeração: Binário, Octal, Decimal, Hexadecimal; Sistema de numeração: Conversões; Sistemas de Numerações. Nosso sistema

Leia mais

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO Problemas & Algoritmos Para resolver um problema através dum computador é necessário encontrar em primeiro lugar uma maneira de descrevê-lo

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Linguagem e Técnicas de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

Organização de programas em Python. Vanessa Braganholo vanessa@ic.uff.br

Organização de programas em Python. Vanessa Braganholo vanessa@ic.uff.br Organização de programas em Python Vanessa Braganholo vanessa@ic.uff.br Vamos programar em Python! Mas... } Como um programa é organizado? } Quais são os tipos de dados disponíveis? } Como variáveis podem

Leia mais

Lição 1 - Criação de campos calculados em consultas

Lição 1 - Criação de campos calculados em consultas 1 de 5 21-08-2011 22:15 Lição 1 - Criação de campos calculados em consultas Adição de Colunas com Valores Calculados: Vamos, inicialmente, relembrar, rapidamente alguns conceitos básicos sobre Consultas

Leia mais

Python Condicionais e Loops. Introdução à Programação SI1

Python Condicionais e Loops. Introdução à Programação SI1 Python Condicionais e Loops Introdução à Programação SI1 Conteúdo Comando de Decisão Comandos de Repetição Exercícios 13/06/2013 2 Condicional Controle de fluxo É muito comum em um programa que certos

Leia mais