Prof. Carlos Almeida 1ª Versão

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

Download "2000 - Prof. Carlos Almeida 1ª Versão"

Transcrição

1 ESCOLA SECUNDÁRIA DE EMÍDIO NAVARRO TÉCNICAS DE LINGUAGENS DE PROGRAMAÇÃO 10º ANO Prof. Carlos Almeida 1ª Versão ANO LECTIVO 2000/2001

2 Notas do Professor Nota Introdutória O objectivo destes apontamentos não é substituir as aulas, como tal, a exposição de qualquer matéria não é realizada de modo detalhado. Será necessário consultar entre outra bibliografia a bibliografia geral da disciplina e alguns manuais de aplicação. O aluno também deve procurar uma actualização permanente, criando o hábito de consultar publicações técnicas, investigar novos conceitos e discutir sobre eles. A disciplina Técnicas de Linguagens de Programação insere-se no curriculum do Curso Tecnológico de Informática no 10º e 11º anos, com a carga horária de 4 tempos lectivos, distribuídos, por duas aulas de 2 tempos cada. A disciplina Técnicas de Linguagens de Programação do 10º Ano pretende desenvolver no aluno um raciocínio lógico, que lhe possibilite a escrita de programas informáticos estruturados, documentados, modulares e eficientes. O aluno não deve ficar limitado pelas características ou potencialidades de uma linguagem de programação. Facto pelo qual se enfatiza, numa primeira fase, a resolução de problemas baseado na escrita de algoritmos com passos rigorosos e sistemáticos. A aprendizagem da linguagem de programação Pascal, vem completar esta formação, pelo que se deve executar programas de processamento variado, dando assim a possibilidade a que os alunos, nos anos posteriores, estejam aptos a resolver situações complexas que exigem maior abstracção e para as quais se estabelecem exigências de qualidade total. É fundamental, a aprendizagem correcta da construção de algoritmos e o domínio da técnica TOP-DOWN, em detrimento dos fluxogramas, como ferramenta de análise de um enunciado e sua conversão em forma de algoritmos. Pretende-se que o fluxograma não seja usado como forma de raciocínio, mas como documentação do programa ou algoritmo, sendo, portanto, uma explicação complementar da solução encontrada. Prof. Carlos Almeida ii

3 Notas do Professor Sistema de Avaliação A avaliação da disciplina é contínua. Para cada Unidade Temática indicam-se critérios e técnicas de avaliação concretas, e que variam entre a realização de testes escritos, trabalhos de grupo e provas práticas individuais realizadas no computador. O professor da disciplina de Técnicas de Linguagens de Programação do 10º Ano, Carlos Almeida, estabeleceu os seguintes critérios de avaliação para o ano lectivo de 2000/2001: COMPONENTE PRÁTICA 30% COMPONENTE TEÓRICA 40% ATITUDES DO ALUNO 30% Trabalhos de grupo Provas práticas Individuais realizadas no computador Testes escritos Fichas de trabalho Destreza com o equipamento Capacidade de organização e metodologia de trabalho Concentração e qualidade no trabalho Relacionamento em grupo Assiduidade e pontualidade 20% 10% 30% 10% 5% 5% 5% 10% 5% Prof. Carlos Almeida iii

4 Notas do Professor Elenco Temático Nesta disciplina deve ser dada uma grande ênfase à construção de algoritmos, usando as metodologias top-down, pseudocódigo e fluxogramas. A linguagem de programação Pascal é, a indicada para se usar na iniciação à programação. O Pascal deve manter-se como ponto de partida no estudo de algoritmia. Pretende-se desenvolver no aluno um raciocínio lógico, que lhe possibilite a escrita de programas estruturados. U NIDADE 1 U NIDADE 2 U NIDADE 3. U NIDADE 4. Lógica de Programação 1.1. Análise e desenho de um algoritmo Tipos de dados Operações elementares Prioridade de operadores Variáveis e expressões Traçagem de algoritmos Fluxogramas Pseudocódigo. Estrutura de decisão 1.1. Estrutura Sequencial Estrutura Condicional Estrutura de Repetição Algoritmos de aplicação. Estrutura de Dados 1.1. Vectores Matrizes Cadeia de caracteres Ficheiros Algoritmos de aplicação. Subalgoritmos 1.1. Estruturação de programas Funções Procedimentos. Prof. Carlos Almeida iv

5 Notas do Professor U NIDADE 5. Programação em Pascal 1.4. Ambiente de trabalho Características da linguagem Pascal Estrutura do programa e comentários Compilação para a memória e disco Estruturas de controlo Estruturas de dados Funções e Procedimentos Debugger Características gráficas Uso de ficheiros em Pascal Programas de aplicação Programas em memória residente. Prof. Carlos Almeida v

6 Bibliografia Bibliografia Apontamentos do professor. AZUL, Artur Augusto (1998) - Técnicas e Linguagens de Programação 10º Ano, Porto Editora (Livro adoptado pela disciplina). LIMA, Jorge Reis (1991) - Programação de Computadores, Porto Editora. LOPES, Jorge (1989) - Técnicas da Programação, Editorial O Livro Manual fornecido com o software (PASCAL). O'BRIEN, Stephen K. - Turbo Pascal 6: The Complete Reference, Borland, Osborne/McGraw-Hill. Pascal, Técnicas de Programação, Lidel. TREMBLAY, Jean-Paul; BUNT, Richard B. (1981) - Ciência dos computadores uma abordagem algorítmica, McGraw-Hill. Turbo Pascal 5.0/5.5, Lidel. Prof. Carlos Almeida vi

7 Agradecimentos Apoios e agradecimentos Paulo Sérgio de Moraes (2000) Osmar de Oliveira Braz Júnior (1998) Alexandre Alcobia (1998) Prof. Carlos Almeida vii

8 Índice Índice NOTA INTRODUTÓRIA SISTEMA DE AVALIAÇÃO ELENCO TEMÁTICO BIBLIOGRAFIA APOIOS E AGRADECIMENTOS ÍNDICE II III IV VI VII VIII LÓGICA DE PROGRAMAÇÃO 1 1. LÓGICA 1 2. SEQUÊNCIA LÓGICA 1 3. INSTRUÇÕES 1 4. ALGORITMO 2 REGRAS PARA CONSTRUÇÃO DO ALGORITMO 3 FASES DE UM ALGORITMO 4 TESTE DO ALGORITMO 5 5. PROGRAMAS 5 EXERCÍCIOS 7 6. ABORDAGEM ESTRUTURADA E CONCEPÇÃO TOP-DOWN 8 ABORDAGEM ESTRUTURADA 8 CONCEPÇÃO TOP-DOWN 8 7. PSEUDOCÓDIGO 8 ATRIBUIÇÃO 10 LEITURA E ESCRITA DE DADOS 10 CABEÇALHO 11 DECLARAÇÕES 11 CORPO DO ALGORITMO 11 COMENTÁRIOS FLUXOGRAMAS 12 SIMBOLOGIA 12 Prof. Carlos Almeida viii

9 Notas do Professor 9. CONSTANTES, VARIÁVEIS E TIPOS DE DADOS 14 IDENTIFICADORES 15 CONSTANTES 16 VARIÁVEIS 16 TIPOS DE DADOS 17 EXERCÍCIOS OPERADORES 21 OPERADORES ARITMÉTICOS 21 HIERARQUIA DAS OPERAÇÕES ARITMÉTICAS 22 OPERADORES DE COMPARAÇÃO OU RELACIONAIS 22 OPERADORES LÓGICOS INSTRUÇÕES SIMPLES 24 INSTRUÇÕES DE ESCRITA 24 INSTRUÇÕES DE LEITURA 25 INSTRUÇÕES DE ATRIBUIÇÃO 25 EXERCÍCIOS 26 ESTRUTURAS DE DECISÃO ESTRUTURAS FUNDAMENTAIS DE PROGRAMAÇÃO ESTRUTURA DE DECISÃO CONDICIONAL - "SE" 28 EXEMPLO PRÁTICO 31 EXERCÍCIOS ESTRUTURA DE DECISÃO DE ESCOLHA MÚLTIPLA - "CASO" 33 EXEMPLO PRÁTICO 34 EXERCÍCIOS ESTRUTURAS DE REPETIÇÃO OU CICLOS ESTRUTURA DE REPETIÇÃO - "PARA... FAZER" ESTRUTURA DE REPETIÇÃO - "ENQUANTO... FAZER" 38 EXERCÍCIOS ESTRUTURA DE REPETIÇÃO - "REPETIR... ATÉ" EXEMPLO PRÁTICO NÚMERO PRIMO 41 ANÁLISE DO ALGORITMO 42 Prof. Carlos Almeida ix

10 Notas do Professor MELHORIA DO ALGORITMO EXERCÍCIOS 48 ESTRUTURA DE DADOS ESTRUTURA DE DADOS VECTORES 51 EXERCÍCIOS SOBRE VECTORES ORDENAÇÃO DE UM VECTOR MATRIZES 55 EXERCÍCIOS SOBRE MATRIZES REGISTOS 57 EXERCÍCIOS SOBRES REGISTOS FICHEIROS 60 FICHEIROS DO TIPO TEXTO 61 FICHEIROS DO TIPO BINÁRIO 61 SUPORTES FÍSICOS DE FICHEIROS 62 OPERAÇÕES COM FICHEIROS MANIPULAÇÃO DE FICHEIROS EM PASCAL 63 FICHEIROS FILE 64 TRATAMENTO DE FICHEIROS FILE 65 FICHEIROS TEXT 72 TRATAMENTO DE FICHEIROS TEXT 72 EXERCÍCIOS SOBRE FICHEIROS 77 Prof. Carlos Almeida x

11 1 LÓGICA DE PROGRAMAÇÃO Objectivos Iniciar o aluno nos conceitos da programação estruturada. Decompor um problema nas suas partes elementares através da técnica TOP-DOWN. Traduzir expressões matemáticas para computação e vice-versa. Realizar algoritmos simples. Verificar a eficiência dos algoritmos através da técnica de traçagem. 1. Lógica A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a sequência lógica para o desenvolvimento. Lógica de programação é a técnica de encadear pensamentos para atingir determinado objectivo. 2. Sequência Lógica Estes pensamentos, podem ser descritos como uma sequência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa. Sequência Lógica são passos executados até atingir um objectivo ou solução de um problema. 3. Instruções Na linguagem comum, entende-se por instruções um conjunto de regras ou normas definidas para a realização ou emprego de algo. Em informática, porém, instrução é a informação que indica a um computador uma acção elementar a executar. Prof. Carlos Almeida 1

12 Lógica de Programação Convém ressaltar que uma ordem isolada não permite realizar o processo completo, para isso é necessário um conjunto de instruções colocadas em ordem sequencial lógica. Por exemplo, se quisermos fazer uma omelete de batatas, precisaremos colocar em prática uma série de instruções: descascar as batatas, bater os ovos, fritar as batatas, etc. É evidente que essas instruções tem que ser executadas em uma ordem adequada não se pode descascar as batatas depois de fritá-las. Dessa maneira, uma instrução tomada em separado não tem muito sentido; para obtermos o resultado, precisamos colocar em prática o conjunto de todas as instruções, na ordem correcta. Instruções são um conjunto de regras ou normas definidas para a realização ou emprego de algo. Em informática, é o que indica a um computador uma acção elementar a executar. 4. Algoritmo Antes de utilizarmos uma linguagem de computador, é necessário organizar as acções a serem tomadas pela máquina de forma organizada e lógica, sem nos atermos as regras rígidas da sintaxe de uma linguagem. Para isto utilizaremos uma forma de escrever tais acções, conhecida como algoritmo. Algoritmo consiste em um conjunto lógico e finito de acções (instruções) que resolvem um determinado problema. Algoritmo é uma sequência lógica de instruções que podem ser executadas. Um algoritmo é formalmente uma sequência finita de instruções que levam a execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma sequência de instruções que dão cabo de uma meta específica. Estas tarefas não podem ser redundantes nem subjectivas na sua definição, devem ser claras e precisas. Como exemplos de algoritmos podemos citar os algoritmos das operações básicas (adição, multiplicação, divisão e subtracção) de números reais decimais. Prof. Carlos Almeida 2

13 Lógica de Programação Outros exemplos seriam os manuais de aparelhos electrónicos, como um vídeo, que explicam passo-a-passo como, por exemplo, gravar um filme. Até mesmo as coisas mais simples, podem ser descritas por sequências lógicas. Por exemplo: Chupar um rebuçado : 1. Pegar no rebuçado 2. Retirar o papel 3. Chupar o rebuçado 4. Deitar o papel no lixo Somar dois números : 1. Escrever o primeiro número 2. Escrever o segundo número 3. Somar o primeiro número com o segundo número 4. Devolver o resultado Se analisarmos os diversos algoritmos, verificamos que contêm características comuns. São elas: descrição sequencial (ordenada), cada passo corresponde a uma acção elementar clara, não devendo ocasionar ambiguidade na sua interpretação; tem um número finito de passos. Algoritmo não é a solução de um problema, pois, se assim fosse, cada problema teria um único algoritmo. Algoritmo é um caminho para a solução de um problema, e em geral, os caminhos que levam a uma solução são muitas. Aprender algoritmos não se consegue a não ser através de muitos exercícios. Algoritmos não se aprende: Copiando Algoritmos Estudando Algoritmos Algoritmos só se aprendem: Construindo Algoritmos Testando Algoritmos Regras para construção do Algoritmo Para escrever um algoritmo precisamos descrever a sequência de instruções, de maneira simples e objectiva. Para isso utilizaremos algumas técnicas: usar somente um verbo por frase; Prof. Carlos Almeida 3

14 Lógica de Programação imaginar que se está a desenvolver um algoritmo para pessoas que não trabalham com informática; usar frases curtas e simples; ser objectivo; procurar usar palavras que não tenham sentido duvidoso. Fases de um Algoritmo É importante ressaltar que qualquer tarefa que siga determinado padrão pode ser descrita por um algoritmo, como por exemplo como fazer arroz doce ou então calcular o saldo financeiro de um stock. Entretanto ao construir um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais: ENTRADA: São os dados de entrada do algoritmo. PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final. SAÍDA: São os dados já processados. ENTRADA PROCESSAMENTO SAÍDA Imagine o seguinte problema: Calcular a média final dos alunos. Os alunos realizarão 3 provas: P1, P2 e P3. Onde: MédiaFinal = P1 + P2 + P3 3 Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? R: Os dados de entrada são P1, P2 e P3 b) Qual será o processamento a ser utilizado? R: O procedimento será somar todos os dados de entrada e dividi-los por 3: (P1+P2+P3)/3 c) Quais serão os dados de saída? R: O dado de saída será a média final Prof. Carlos Almeida 4

15 Lógica de Programação O algoritmo seria: Algoritmo Calcular Média do aluno 1. Receber a nota da prova1 2. Receber a nota de prova2 3. Receber a nota de prova3 4. Somar todas as notas e dividir o resultado por 3 5. Mostrar o resultado da divisão Teste do Algoritmo Após desenvolver um algoritmo ele deverá sempre ser testado. Deve-se seguir as instruções do algoritmo de maneira precisa para verificar se o procedimento utilizado está correcto ou não. No exemplo do algoritmo anterior, para calcular a média final do aluno, podia-se utilizar a seguinte tabela para o teste: P1 P2 P3 MédiaFinal Explique o que entende por algoritmo. 5. Programas Programar consiste em elaborar um conjunto finito de instruções, reconhecidas pela máquina, de forma que o computador execute estas instruções. Estas instruções possuem regras e uma sintaxe própria, como uma linguagem tipo português ou inglês, sendo isto chamadas de linguagem de programação. No mundo computacional existe uma grande variedade de linguagens: Pascal, C, C++, Visual Basic, Cobol, Fortran, etc. Nós iremos enfocar uma delas, o Pascal. Os programas de computadores nada mais são do que algoritmos escritos numa linguagem de programação (Pascal, C, Cobol, Fortran, Visual Basic entre outras) e que são interpretados e executados por uma máquina, no caso um computador. Notem que dada esta interpretação rigorosa, um programa é por natureza muito específico e rígido em relação aos algoritmos da vida real. Prof. Carlos Almeida 5

16 Lógica de Programação Para fazer um programa devemos ter claro o algoritmo do nosso problema. Portanto, primeiro há que estudar o problema e elaborar o seu algoritmo. Uma vez estabelecido o seu algoritmo podemos, então, passar para a sua implementação numa linguagem de programação e assim testar o programa no computador. Concluindo, a construção de um programa comporta duas fases fundamentais: fase de resolução do problema - consiste na formulação do algoritmo eficaz para a resolução do problema posto; fase de implementação - consiste na tradução do algoritmo para a linguagem de programação escolhida. Como exemplo, é apresentado o algoritmo e sua tradução em linguagem Pascal, do cálculo do múltiplo de um número. Algoritmo do cálculo dos múltiplos de um número: 1. Anotar o limite dos múltiplos (limite) 2. Anotar o número do qual se quer saber os múltiplos (número) 3. O primeiro múltiplo é o próprio número (múltiplo = número) 4. Enquanto o múltiplo for menor que o limite indicado fazer: 4.1. Anotar o múltiplo 4.2. O novo múltiplo será igual ao múltiplo anterior mais o número (múltiplo = múltiplo + número) 5. Fim do algoritmo. program Multiplos (input, output); {Este programa está escrito na linguagem PASCAL}; uses Crt; var Limite : integer; Numero : integer; Multiplo : integer; begin clrscr; write ( Qual o valor de que se quer achar os múltiplos? ); readln (Numero); write ( Qual é o limite da sequência? ); readln (Limite); writeln ( Os múltiplos de,numero, são: ); Multiplo := Numero; Prof. Carlos Almeida 6

17 Lógica de Programação while Multiplo < Limite do begin writeln (Multiplo); Multiplo := Multiplo + Numero; end; end. Exercícios Construa o algoritmo para calcular a área de um rectângulo. Algoritmo área do rectângulo 1. Entrar pelo teclado o valor do lado1 2. Entrar pelo teclado o valor do lado2 3. Calcular a área A = lado1 x lado2 4. Apresentar no ecrã o valor da área Faça um algoritmo para somar dois números e multiplicar o resultado pelo primeiro número. Crie uma sequência lógica para tomar banho. Descreva com detalhes a sequência lógica para trocar um pneu de um carro. Faça um algoritmo detalhado para trocar uma lâmpada. Algoritmo do calculo da hipotenusa de um triângulo rectângulo. Temos que saber a fórmula: hipot = cateto1 cateto2 Além da fórmula, temos que dar ao computador os valores dos catetos do triângulo. Construa um algoritmo que transforme os valores da temperatura em graus Fahrenheit para graus Célsius. Tente resolver este problema, sabendo que a fórmula a aplicar será: 5 celsius = fahr 9 ( 32) Prof. Carlos Almeida 7

18 Lógica de Programação Identifique os dados de entrada, processamento e saída no algoritmo seguinte: 1. Receber código da peça 2. Receber valor da peça 3. Receber Quantidade de peças 4. Calcular o valor total da peça (Quantidade * Valor da peça) 5. Mostrar o código da peça e seu valor total Faça um algoritmo para Calcular o stock médio de uma peça, sabendo que STOCK_MÉDIO = (QUANTIDADE_MÍNIMA + QUANTIDADE_MÁXIMA) /2 Teste o algoritmo anterior com dados à sua escolha. 6. Abordagem Estruturada e Concepção Top-Down Abordagem Estruturada Numa linguagem estruturada como por ex. o Pascal distingue-se a parte onde são declarados os dados e o corpo com as instruções do programa parte declarativa e parte operativa. Abordagem estruturada é uma abordagem sistemática da construção de software que usa princípios como a separação das definições de dados e de programa, concepção descendente (designado por abordagem top-down) e refinamento progressivo. Concepção Top-Down A abordagem top-down procura identificar os pontos essenciais da questão; parte-se dos pontos mais gerais para os seus componentes mais particulares, em níveis sucessivos mais concretos, até ao nível de pormenor desejado. 7. Pseudocódigo Por pseudocódigo entende-se um código de escrita em que se utilizam representações simbólicas para indicar as instruções do algoritmo. Essas Prof. Carlos Almeida 8

19 Lógica de Programação representações simbólicas são, usualmente, um misto de palavras da nossa linguagem natural com termos e notações típicas de uma linguagem de programação. O uso da escrita em pseudocódigo presta-se a uma aproximação sucessiva à versão do algoritmo na linguagem utilizada, ou seja, pode-se ir progredindo por fases, revendo o pseudocódigo e substituindo-o progressivamente por terminologia própria da linguagem de programação. Não é demais relembrar que, depois de efectuar o algoritmo, deve-se verificar se está escrito sem falhas do ponto de vista dos objectivos que se pretendiam alcançar, por imprecisões, deficiente formulação algorítmica, vícios de raciocínio, etc. O pseudocódigo pode ser visto como a tentativa de fundir a expressividade da linguagem natural e o rigor lógico de esquemas como o fluxograma. O pseudocódigo permite a descrição do algoritmo de uma forma linear, fácil de ler e fácil de compreender. Os algoritmos terão a seguinte estrutura: Algoritmo <Nome do algoritmo> <Definições/Declarações de Variáveis e Constantes> Início <Instruções> Fim Por curiosidade, em Pascal ficaria da seguinte forma: PROGRAM <Nome do programa>; <Definições/Declarações de Variáveis e Constantes>; BEGIN <Instruções>; END. O algoritmo, em pseudocódigo, deve estar enquadrado entre dois indicadores que possibilitem determinar onde o algoritmo começa e acaba. Assim, aparecem as instruções Início e Fim. Prof. Carlos Almeida 9

20 Lógica de Programação Atribuição Esta operação tem por objectivo atribuir um valor a uma variável. A variável funciona como um recipiente em que vão ser colocados dados. Temos de criar tantas variáveis (recipientes) quantas as forem necessárias para o correcto funcionamento do algoritmo. A operação de atribuição coloca o dado na variável. Exemplo: X B/A (na variável X é colocado o valor de B/A) Leitura e Escrita de Dados A instrução Escrever é utilizada para apresentar os dados ao utilizador. Exemplo: Escrever( O valor da área é:, área) A instrução Ler é utilizada para introduzir dados no computador através do operador. Estes dados são afectados a variáveis. Exemplo: Ler(A, B) Vejamos um exemplo em pseudocódigo do algoritmo da circunferência e vamos descrever a sua apresentação: Algoritmo circunferência [Este algoritmo dá as características de uma circunferência] Dados RAIO: Inteiro ÁREA, PERÍMETRO: Reais PI 3,14159 Início Ler (RAIO) ÁREA PI x RAIO 2 PERÍMETRO 2 x PI x RAIO Escrever (ÁREA, PERÍMETRO) Fim Num algoritmo, podemos definir três secções: Cabeçalho Declarações Corpo do algoritmo Prof. Carlos Almeida 10

21 Lógica de Programação Cabeçalho O cabeçalho é a secção onde é dado o nome ao algoritmo. Começa com a palavra Algoritmo. Declarações Nesta, é apresentada a descrição das variáveis e constantes usadas. Corpo do algoritmo Esta secção contém a sequência das instruções (acções) do algoritmo. Inicia-se com a palavra Início e termina com a palavra Fim. Comentários Existe um tipo de objecto de grande importância na clarificação de um algoritmo. São os comentários que ajudam muito à sua compreensão. Cada passo do algoritmo pode iniciar com um comentário entre dois parênteses rectos. Estes comentários dão uma breve descrição da instrução ou de um conjunto de instruções seguintes. Os comentários são uma parte importante do algoritmo. Eles servem para tornar a leitura, do algoritmo, mais fácil e clara. Prof. Carlos Almeida 11

22 Lógica de Programação 8. Fluxogramas O fluxograma é uma forma padronizada e eficaz para representar as instruções lógicas de um determinado processamento. Com o fluxograma podemos definir uma sequência de símbolos, com significado bem definido, portanto, sua principal função é a de facilitar a visualização dos passos de um processamento. Actualmente, a sua utilização restringe-se a um apoio complementar na documentação do algoritmo, valendo pela vantagem gráfica da apresentação das interligações. Simbologia Existem diversos símbolos num fluxograma. Vamos apresentar os mais utilizados. Vejamos de seguida alguns dos símbolos que iremos utilizar: Processamento em geral (ex. soma de dois números) Leitura/Escrita de dados (ex. escrever a nota da prova escrita) Início/Fim de processamento (ex. inicio do algoritmo) Conector de fluxos (ex. Ligação entre partes do fluxograma) Decisão condicional Escolha múltipla Subprograma Linha de fluxo Dentro de cada símbolo terá sempre algo escrito, pois caso contrário não nos dizem nada. Vejamos o seguinte exemplo, na linguagem pseudocódigo e respectivo fluxograma, que faz a comparação de dois números: Prof. Carlos Almeida 12

23 Lógica de Programação Pseudocódigo Inicio Fluxograma Algoritmo Comparar Dados VALOR1, VALOR2: Inteiros FRASE: Caracteres Início Ler (VALOR1, VALOR2) Se VALOR1 > VALOR2 então FRASE Valor1 é maior Senão Se VALOR1 < VALOR2 então FRASE Valor2 é maior Senão FRASE Valores iguais Fim se Fim se Escrever (FRASE) Chamar Rotina Adeus Fim Ler valor1 Ler valor2 Valor1>Valor2 Não Valor2>Valor2 Não Sim Sim Escrever "Valor1 é maior" Escrever "Valor2 é maior" Escrever "Valores iguais" Rotina Adeus Fim Prof. Carlos Almeida 13

24 Lógica de Programação 9. Constantes, Variáveis e Tipos de Dados Considere a fórmula simples de matemática do calculo do volume de uma esfera: V 4 π R 3 = 2. Nesta formula pode-se encontrar: 1. Valores que podem ser classificados como: a. valores constantes, invariantes em todas as aplicações da fórmula, no caso dos valores 4, 3 e π; b. valores a serem substituídos na fórmula, em cada aplicação; a representação destes valores, usualmente é feita através de letras, que recebem o nome de variáveis e tornam a fórmula genérica, possível de ser aplicada para resolver uma certa classe de problemas e não apenas um problema específico. 2. Operações a serem feitas sobre determinados operandos (valores), para a obtenção da solução do problema. O computador possui uma área de armazenamento conhecida como memória. Todas as informações existentes no computador estão ou na memória primária (memória RAM), ou na memória secundária (disco duro, disquete, CD-ROM etc.). A memória do computador pode ser entendida como uma sequência finita de caixas ou gavetas de um armário, que num dado momento, guardam algum tipo de informação, como número, uma letra, uma palavra, uma frase etc.. O computador, para poder trabalhar como alguma destas informações, precisa saber onde, na memória, a informação está localizada. Fisicamente, cada caixa, ou cada posição de memória, possui um endereço, ou seja, um número, que indica onde cada informação está localizada. este número é representado através da notação hexadecimal, tendo o tamanho de quatro, ou mais bytes. Variáveis e constantes são os elementos básicos que um programa manipula. Muitos dos dados com que se opera num algoritmo são variáveis. Uma variável é um espaço reservado na memória do computador para armazenar um tipo de dado determinado. Prof. Carlos Almeida 14

25 Lógica de Programação Identificadores As variáveis e constantes num algoritmo são designadas por meio de identificadores. Um identificador é um nome normalmente atribuído a um elemento com que se pretende trabalhar dentro de um algoritmo. Um identificador é formado por uma letra ou então por uma letra seguida de letras ou dígitos. Não é permitido o uso de espaços em branco ou de qualquer outro caracter, que não seja letra ou dígito. Se utilizar mais do que uma palavra para compor o nome da variável utilize o _ underline para separar as palavras. Por convenção, vamos escrever o nome dos identificadores em letras maiúsculas, para maior legibilidade do algoritmo. A formação do identificador deve ser um nome significativo, para que se possa ter ideia do seu conteúdo. Exemplos, apresentados numa tabela com possíveis entidades e os correspondentes identificadores das variáveis: ENTIDADES Nome do cliente Morada dos clientes Data em que foi feita a encomenda IDENTIFICADORES NOME_CLIENTE MORADA DATA Quando se trata de variáveis, um identificador vai traduzir-se em termos de compilação, num endereço de memória, o qual corresponde a um determinado espaço nessa mesma memória, onde se vai armazenar um dado - o valor que a dita variável assume em cada momento. Isto leva-nos a considerar, em programação, que um identificador é um endereço simbólico, pois que se preferimos, um candidato a endereço de memória. Um identificador é um nome normalmente atribuído pelo algoritmo ou utilizador a um elemento com que se pretende trabalhar dentro de um algoritmo. Em programação, um identificador é um endereço simbólico, um candidato a endereço de memória. Prof. Carlos Almeida 15

26 Lógica de Programação Constantes Constante é um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa. Conforme o seu tipo, a constante é classificada como sendo numérica, lógica e alfanuméricas. Constante é um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa. Exemplo de declarações de constantes, em pseudocódigo: Constantes PI 3,14 MAXIMO 30 POR_DEFEITO Sem nome Variáveis Variável é a representação simbólica dos elementos de um certo conjunto. Cada variável corresponde a uma posição de memória, cujo conteúdo pode se alterado ao longo do tempo durante a execução de um programa. As variáveis podem assumir: um carácter global, quando são declaradas para uso em todo o algoritmo; um carácter local, quando são declaradas apenas para uso dentro do subalgoritmo. Embora uma variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante. As variáveis só podem armazenar valores de um mesmo tipo, de maneira que também são classificadas como sendo numéricas, lógicas e alfanuméricas. Uma variável é uma posição de memória, representada por um Identificador, a qual contém, num dado instante, uma informação. Exemplos de declarações de variáveis em pseudocódigo: Prof. Carlos Almeida 16

27 Lógica de Programação Variáveis MAXIMO, NUM: Inteiro NOME: Caracteres SAIR: Lógico Outros exemplos: Variáveis TOTAL PRODUTO * QUANTIDADE NOME Carlos Almeida TOTAL 30 Variável Conteúdo da Variável Tipos de Dados As variáveis e as constantes podem ser basicamente de três tipos: Numéricas (Inteiro ou real), alfanuméricas (caracter ou cadeia de caracteres) ou lógicas. Numéricas: Específicas para armazenamento de números, que posteriormente poderão ser utilizados para cálculos. Podem ser ainda classificadas como Inteiras ou Reais. As variáveis do tipo inteiro são para armazenamento de números inteiros e as Reais são para o armazenamento de números que podem ter partes decimais. Alfanuméricas: Existem actualmente vários códigos susceptíveis de ser utilizados pelos computadores digitais. Alguns desses códigos permitem representar, não apenas grandezas numéricas, mas também caracteres literais e sinais de pontuação. É exemplo o código ASCII ("American Standard Code for Information Interchange" - leia-se "ásqui"), usado na transferência de informação entre um computador e os seus dispositivos periféricos. Trata-se de um código que utiliza combinações de oito bits (2 8 = 256) para representar os dez algarismos decimais (0, 1, 2,..., 9), os caracteres do alfabeto (a, b,..., z, A, B,..., Z), sinais de pontuação, parêntesis, sinais das operações aritméticas e de igualdade, e mais uma série de caracteres de controlo, entre outros símbolos, num total de 256 símbolos. Prof. Carlos Almeida 17

28 Lógica de Programação Os códigos que se destinam a traduzir, não só informação numérica, mas também caracteres do alfabeto e sinais convencionais são denominados códigos alfanuméricos. O código ASCII, referido acima, representa o código alfanumérico universalmente aceite. Os dados do tipo caracter (Char em Pascal) correspondem a caracteres individuais. Os caracteres disponíveis são geralmente os caracteres da Tabela ASCII. Este tipo de dado pode assumir qualquer caracter da referida Tabela ASCII, mas apenas um de cada vez. Por curiosidade, existe rotinas para converter um dado número inteiro para o correspondente caracter na Tabela ASCII. Por exemplo, a função CHR, em Pascal. Por sua vez, existe rotinas que dá o ordinal de um dado caracter, por exemplo a função ORD em Pascal. Para facilitar a manipulação de palavras ou mensagens, dentro de um programa, existe outro tipo de dados: Cadeia de caracteres (também deignado por: Cadeia Alfanumérica, texto, ou simplesmente caracteres). Estes tipos de dados são mais adequados ao manuseamento de texto, nas instruções de leitura, escrita e atribuição. Em Pascal este tipo de dados é representado pelo tipo de variável: String. Numa atribuição de um valor a uma variável do tipo CHAR (Caracter) ou STRING (Cadeia de caracteres), temos que ter o cuidado de colocar o valor (dado) entre aspas ( ), pois esta é a forma de informar que a informação é caracter ou cadeia de caracteres. Lógicas: Os dados do tipo lógico, são dados que podem assumir apenas dois valores possíveis: verdadeiro e falso. A sua utilidade reside, fundamentalmente, ao nível do seu emprego em estruturas de controlo. As variáveis do tipo inteiro são para armazenamento de números inteiros e as Reais são para o armazenamento de números que podem ter partes decimais. Os dados do tipo caracter correspondem a caracteres individuais. Os caracteres disponíveis são geralmente os caracteres da Tabela ASCII. Existe tipos de dados mais adequados ao manuseamento de texto, nas instruções de leitura, escrita e atribuição. Este tipo de dados é representado pelo tipo de variável: Caracteres. Os dados do tipo lógico, são dados que podem assumir apenas dois valores possíveis: verdadeiro e falso. Prof. Carlos Almeida 18

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

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

Leia mais

1 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

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

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

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

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

Leia mais

Algoritmos 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

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

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

Leia mais

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

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

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

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

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

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

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

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

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

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

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

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

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

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

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

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

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de Escola Secundária c/3º CEB José Macedo Fragateiro Curso Profissional de Nível Secundário Componente Técnica Disciplina de Sistemas Digitais e Arquitectura de Computadores 29/21 Módulo 1: Sistemas de Numeração

Leia mais

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior Armazenamento de Dados Prof. Antonio Almeida de Barros Junior 1 Armazenamento de Dados Todos os dados que utilizamos até o momento, ficavam armazenados apenas na memória. Ao final da execução dos programas,

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

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

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 2. ALGORITMOS Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 2 - Algoritmo 2.1: Introdução Antes de se utilizar uma linguagem de computador,

Leia mais

Informática II Cap. 3

Informática II Cap. 3 Cap. 3 1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens:

Leia mais

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

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

Leia mais

Linguagem algorítmica: Portugol

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

Leia mais

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

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia 1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens: Programas

Leia mais

Aplicações de Escritório Electrónico

Aplicações de Escritório Electrónico Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho

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

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

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

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

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos Lógica Aula 2 Técnicas de Programação Criando algoritmos Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos Criando

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

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

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

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

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores Trabalhos Práticos Programação II Curso: Engª Electrotécnica - Electrónica e Computadores 1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório 3.2 Avaliação 4. Propostas Na disciplina de Programação

Leia mais

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS Ciência da Computação Sistemas de Numeração e Conversões Prof. Sergio Ribeiro Material adaptado das aulas do Prof. José Maria da UFPI Conteúdo Conversões de binário para decimal. Conversões de decimal

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

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

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

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

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

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

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

A4 Projeto Integrador e Lista de Jogos

A4 Projeto Integrador e Lista de Jogos A4 Projeto Integrador e Lista de Jogos 1ª ETAPA PROJETO INTEGRADOR (2 pontos na A4) Como discutido em sala de aula, a disciplina de algoritmos I também fará parte do projeto integrador, para cada grupo

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

Programação 1. Rafael Vargas Mesquita. http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/mesquita/

Programação 1. Rafael Vargas Mesquita. http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/mesquita/ Programação 1 Rafael Vargas Mesquita http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/mesquita/ Definições Básicas Lógica de programação é a técnica de desenvolver algoritmos (sequências

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

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

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

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

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

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

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

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

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

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado.

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado. Conceitos relativos à Informação 1. Informação O que á a informação? Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado. 2. Dados Em informática designa-se

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e de Computadores 1º ano 2º semestre Trabalho Final Reservas de viagens

Leia mais

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal 2015. Copyright 2010 All rights reserved.

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal 2015. Copyright 2010 All rights reserved. Programação Folha Prática 3 Lab. 3 Departamento de Informática Universidade da Beira Interior Portugal 2015 Copyright 2010 All rights reserved. LAB. 3 3ª semana EXPRESSÕES E INSTRUÇÕES 1. Revisão de conceitos

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

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

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

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

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

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

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

Leia mais

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

Aula 2 Modelo Simplificado de Computador

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

Leia mais

ALGORITMOS E FLUXOGRAMAS

ALGORITMOS E FLUXOGRAMAS ALGORITMOS E FLUXOGRAMAS Prof. André Backes INTRODUÇÃO Computadores = cérebros eletrônicos? Computadores são máquinas e, por si sós, não podem ser inteligentes. Alguém as projetou e deu a ela todas as

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

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

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

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

Informática no Ensino de Matemática Prof. José Carlos de Souza Junior

Informática no Ensino de Matemática Prof. José Carlos de Souza Junior Informática no Ensino de Matemática Prof. José Carlos de Souza Junior http://www.unifal-mg.edu.br/matematica/?q=disc jc Aula 02 ATIVIDADE 01 Para poupar esforço de digitação, você pode usar o tradicional

Leia mais

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

Cap.2.5: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código Cap.2.5: Design de Algoritmos e Programação Estruturada Algoritmos, fluxogramas e pseudo-código 1 Sumário Problemas e algoritmos Desenho de algoritmos/programas Passos na construção de algoritmos Método

Leia mais

Introdução à Lógica de Programação (cont.)

Introdução à Lógica de Programação (cont.) Operadores Introdução à Programação (cont.) Luis Otavio Alvares Adaptado de slides das profas. Vania Bogorny, Patrícia Jaques e Mônica Py Usados para incrementar, decrementar, comparar e avaliar dados,

Leia mais

Estrutura de Dados. Introdução a Ponteiros. Prof. Gerson Borges Estrutura de Dados I 1

Estrutura de Dados. Introdução a Ponteiros. Prof. Gerson Borges Estrutura de Dados I 1 Estrutura de Dados Introdução a Ponteiros Prof. Gerson Borges Estrutura de Dados I 1 Sumário è Explicação da importância do planejamento de ensino; è Métodos e técnicas que iremos trabalhar durante o semestre;

Leia mais

Computadores XXI: Busca e execução Final

Computadores XXI: Busca e execução Final Computadores XXI: Busca e execução Final A6 Texto 6 http://www.bpiropo.com.br/fpc20060123.htm Sítio Fórum PCs /Colunas Coluna: B. Piropo Publicada em 23/01/2006 Autor: B.Piropo Na coluna anterior, < http://www.forumpcs.com.br/viewtopic.php?t=146019

Leia mais

PROGRAMAÇÃO II 4. ÁRVORE

PROGRAMAÇÃO II 4. ÁRVORE 4. ÁRVORE PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma árvore impõe uma estrutura hierárquica em uma coleção de itens. Um exemplo familiar é a árvore genealógica. Árvores despontam de forma natural em

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

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);

Leia mais

Programação WEB I Estruturas de controle e repetição

Programação WEB I Estruturas de controle e repetição Programação WEB I Estruturas de controle e repetição Operadores de Incremento Operadores de incremento servem como expressões de atalho para realizar incrementos em variáveis Operadores de Incremento Vamos

Leia mais

Sistemas Numéricos e a Representação Interna dos Dados no Computador

Sistemas Numéricos e a Representação Interna dos Dados no Computador Capítulo 2 Sistemas Numéricos e a Representação Interna dos Dados no Computador 2.0 Índice 2.0 Índice... 1 2.1 Sistemas Numéricos... 2 2.1.1 Sistema Binário... 2 2.1.2 Sistema Octal... 3 2.1.3 Sistema

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

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. Cláudio Barbosa contato@claudiobarbosa.pro.br

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

Leia mais

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

Representação de Algoritmos - Linguagens de Programação

Representação de Algoritmos - Linguagens de Programação Representação de Algoritmos - Linguagens de Programação A representação de algoritmos em uma pseudo-linguagem mais próxima às pessoas é bastante útil principalmente quando o problema a ser tratado envolve

Leia mais

Prof. Dr. Abel Gomes (agomes@di.ubi.pt) Cap.4: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código

Prof. Dr. Abel Gomes (agomes@di.ubi.pt) Cap.4: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código Prof. Dr. Abel Gomes (agomes@di.ubi.pt) Cap.4: Design de Algoritmos e Programação Estruturada Algoritmos, fluxogramas e pseudo-código 1 Sumário Problemas e algoritmos Desenho de algoritmos/programas Passos

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