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

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

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

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

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

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

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

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

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

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

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

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

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

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

EXERCÍCIOS e Respostas de Lógica de Programação - ALGORITMOS -

EXERCÍCIOS e Respostas de Lógica de Programação - ALGORITMOS - FIT - Faculdade de Informática de Taquara Curso de Sistemas de Informação EXERCÍCIOS e Respostas de Lógica de Programação - ALGORITMOS - Profa. Flávia Pereira de Carvalho Março de 2007 Profa. Flávia Pereira

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

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

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

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

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

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

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

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

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

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo COMPILADORES Toda linguagem de programação

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

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

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

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

Guia da Linguagem de Programação do VisuAlg*

Guia da Linguagem de Programação do VisuAlg* Guia da Linguagem de Programação do VisuAlg* * Este guia foi integralmente copiado da opção A Linguagem do VisuAlg a partir do menu Ajuda. Pode-se obter ajuda específica de um determinado comando escolhendo

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

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

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

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

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

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

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

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo: Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

4 Criação de macros e introdução à linguagem VBA

4 Criação de macros e introdução à linguagem VBA 4 Criação de macros e introdução à linguagem VBA Vinicius A. de Souza va.vinicius@gmail.com São José dos Campos, 2011. 1 Sumário Tópicos em Microsoft Excel 2007 Introdução à criação de macros...3 Gravação

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

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

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

Introdução ao Scilab

Introdução ao Scilab Programação de Computadores 1 Capítulo 1 Introdução ao Scilab José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2014.2 1/35 1 MATLAB e Scilab 2 O ambiente Scilab 2/35

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C Universidade Federal de Uberlândia Faculdade de Computação A Linguagem C Prof. Renato Pimentel 1 Programação Quando queremos criar ou desenvolver um software para realizar determinado tipo de processamento

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

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

Introdução a C Tipos de Dados Variáveis Operadores

Introdução a C Tipos de Dados Variáveis Operadores Introdução a C Tipos de Dados Variáveis Operadores INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 introdução a C tópicos ciclo de desenvolvimento sistemas numéricos tipos de

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

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

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Criar a classe Aula.java com o seguinte código: Compilar e Executar Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Criar a classe Aula.java com o seguinte código: public class Aula { public static void

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

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

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

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

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

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

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

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

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

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

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

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

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

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

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

APOSTILA PHP PARTE 1

APOSTILA PHP PARTE 1 APOSTILA PHP PARTE 1 1. Introdução O que é PHP? PHP significa: PHP Hypertext Preprocessor. Realmente, o produto foi originalmente chamado de Personal Home Page Tools ; mas como se expandiu em escopo, um

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

Programas simples em C

Programas simples em C Programas simples em C Problema 1. Escreve um programa em C que dados dois inteiros indique se são iguais ou qual o maior. Utilizar a construção em 5 etapas... quais? 1. Perceber o problema 2. Ideia da

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

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

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

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C Belo Horizonte 2010 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4 3.1 Strings

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

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 declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA. Representação de Dados Tipos de dados: Caracteres (letras, números n e símbolos). s Lógicos. Inteiros. Ponto flutuante: Notações decimais: BCD. A declaração de uma variável vel define o seu tipo. O tipo

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

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

2. Sistemas de Numeração, Operações e Códigos. 2. Sistemas de Numeração, Operações e Códigos 1. Números Decimais. Objetivos.

2. Sistemas de Numeração, Operações e Códigos. 2. Sistemas de Numeração, Operações e Códigos 1. Números Decimais. Objetivos. Objetivos 2. Sistemas de Numeração, Operações e Códigos Revisar o sistema de numeração decimal Contar no sistema de numeração binário Converter de decimal para binário e vice-versa Aplicar operações aritméticas

Leia mais

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 APROG Algoritmia e Programação Linguagem JAVA Básico Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Linguagem Java Estrutura de um Programa Geral Básica Estruturas de Dados Variáveis Constantes Tipos de Dados

Leia mais

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream> Aula 1 C é uma linguagem de programação estruturada desenvolvida por Dennis Ritchie nos laboratórios Bell entre 1969 e 1972; Algumas características: É case-sensitive, ou seja, o compilador difere letras

Leia mais

Algoritmos e Estrutura de Dados I

Algoritmos e Estrutura de Dados I UNIVERSIDADE REGIONAL INTEGRADA DO ALTO URUGUAI E DAS MISSÕES CAMPUS FREDERICO WESTPHALEN DEPARTAMENTO DE ENGENHARIAS E CIÊNCIA DA COMPUTAÇÃO Algoritmos e Estrutura de Dados I Informática I Prof. Evandro

Leia mais

Apostila Básica de Lógica e Programação para Game Maker por Giosepe Luiz 1

Apostila Básica de Lógica e Programação para Game Maker por Giosepe Luiz 1 Apostila Básica de Lógica e Programação para Game Maker por Giosepe Luiz 1 Sumário 1. Introdução a Lógica... 03 2. Verdadeiro e Falso... 03 3. Conectivo E e OU... 03 4. Negação... 04 5. Introdução a Programação...

Leia mais

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu. Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações

Leia mais

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções)

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções) Aulas anteriores... Formulação adequada do problema Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução Definição do algoritmo Método de decomposição hierárquica utilizando

Leia mais

Universidade Federal de Minas Gerais Instituto de Ciências Agrárias

Universidade Federal de Minas Gerais Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Instituto de Ciências Agrárias Professor: Renato Dourado Maia Disciplina: Programação de Computadores Curso: Engenharia de Alimentos Turma: Terceiro Período 1 Introdução

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 5 Instruções de controle: Parte 2 Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 5.1 Introdução Instrução de repetição for Instrução de repetição do while Instrução de seleção

Leia mais

Sintaxe Básica de Java Parte 1

Sintaxe Básica de Java Parte 1 Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa

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

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Sistema de Numeração Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Sistemas Numéricos Principais sistemas numéricos: Decimal 0,

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

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação Linguagem C: variáveis, operadores, entrada/saída Prof. Críston Algoritmos e Programação Linguagem C Linguagem de uso geral (qualquer tipo de aplicação) Uma das linguagens mais utilizadas Foi utilizada

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

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

2 A Programação Básica

2 A Programação Básica 2 A Programação Básica 2.1 A Entrada de Dados Para um computador poder cumprir as ordens que um programador criou, ele precisa conhecer algumas informações iniciais. Assim como o ensinamento de uma criança

Leia mais