Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Walmor Cardoso Godoi, M.Sc. Página 1 Introdução à Programação TECNÓLOGO EM MECATRÔNICA/ELETRÔNICA PARTE 1 Elaborado por: Walmor Cardoso Godoi, M.Sc. Revisado por: Walmor Cardoso Godoi, M.Sc. REV.03 Prof. Walmor Cardoso Godoi, M.Sc. Página 2 Índice 1 Introdução aos Algoritmos de Programação ......................................................... 3 1.1 Lógica – “arte de pensar” ............................................................................. 3 1.2 Nomenclatura ................................................................................................ 3 1.3 Simbologia Básica ......................................................................................... 4 1.4 Introdução aos Algoritmos ........................................................................... 5 1.5 Abstração ....................................................................................................... 5 1.6 Exemplos ........................................................................................................ 5 2 Resolução de Problemas por meio dos Computadores .......................................... 7 2.1 Introdução ..................................................................................................... 7 2.2 Programação ................................................................................................. 7 2.3 Diretrizes para elaboração de algoritmos ................................................... 8 2.4 Português Estruturado ................................................................................. 9 2.5 Instruções Básicas ....................................................................................... 14 3. Tipos de Dados e Instruções Primitivas ............................................................. 15 3.1 Tipos de Informação: Dados e Instruções Primitivas .............................. 15 3.2 O uso de variáveis e constantes .................................................................. 15 3.3 Operadores Aritméticos .............................................................................. 16 3.4 Exercício de Aprendizagem ........................................................................ 16 3.5 Exercícios de Fixação .................................................................................. 17 4 Estruturas de Controle ......................................................................................... 19 4.1 Desvio condicional simples ......................................................................... 19 4.2 Operadores relacionais ............................................................................... 19 4.3 Desvio condicional composto ...................................................................... 20 Prof. Walmor Cardoso Godoi, M.Sc. Página 3 1 Introdução aos Algoritmos de Programação 1.1 Lógica – “arte de pensar” MANZANO afirma que para usar a lógica, é necessário ter domínio sobre o pensamento, bem como saber pensar, ou seja, possuir a “Arte de Pensar”. No contexto da Tecnologia da Informação (TI), a lógica trata-se de um esquema sistemático que define as interações de sinais no computador com o critério e princípio formais de raciocínio e pensamento. A técnica mais importante no projeto da lógica de programas é chamada programação estruturada, objetivando: • Agilizar a codificação da escrita da programação; • Facilitar a depuração da sua leitura; • Permitir a verificação de possíveis falhas; • Facilitar as alterações e atualizações; Deve ser composta de quatro passos fundamentais: 1. Escrever as instruções em seqüências ligadas entre si; 2. Escrever as instruções em grupos pequenos e combiná-las; 3. Distribuição dos módulos do programa entre os diferentes programadores de um projeto 4. Revisão do trabalho executado em reuniões com programadores de mesmo nível 1.2 Nomenclatura Fluxograma é uma ferramenta usada e desenvolvida pelos profissionais de análise de sistemas de informação. Tem como finalidade descrever o fluxo, manual ou mecânico, especificando os suportes usados para os dados e as informações. Utiliza-se de símbolos convencionais (norma ISO 5807:1985), os quais indicarão símbolos de entrada de dados, do processamento de dados e da saída de dados. Figura 1: Exemplo de um fluxograma. Diagrama de blocos (ou diagrama de fluxo, não confundir com fluxograma) tem como objetivo descrever o método e a seqüência do processo dos planos num computador. Pode ser Prof. Walmor Cardoso Godoi, M.Sc. Página 4 desenvolvido em qualquer nível de detalhe que seja necessário pelo programador. Utiliza diversos símbolos geométricos (norma ISO 5807:1985(E)) que ditarão as seqüências de operações a serem efetuadas em um processamento computacional. Algoritmos Algumas definições podem ser encontradas para o que é um algoritmo. Veremos na próxima seção um detalhamento maior sobre o assunto. “É a descrição, de forma lógica, de um conjunto finito de passos a serem executados no cumprimento de determinada tarefa”. ou “É um processo de cálculo matemático ou de resolução de um grupo de problemas semelhantes”. ou “Do ponto de vista matemático, são regras formais para obtenção de um resultado ou da resolução de um problema, englobando fórmulas de expressões aritméticas” (MANZANO). ou ainda, “É uma receita de bolo.” 1.3 Simbologia Básica Abaixo seguem alguns símbolos utilizados na área de Tecnologia da Informação (TI). Claro que existe um número bem maior deles. Prof. Walmor Cardoso Godoi, M.Sc. Página 5 1.4 Introdução aos Algoritmos O algoritmo pode ser usado como uma ferramenta genérica para representar a solução de tarefas independente do desejo de automatizá-las, mas em geral está associado ao processamento eletrônico de dados, onde representa o rascunho para programas (softwares). Serve como modelo para programas, pois sua linguagem é intermediária à linguagem humana e às linguagens de programação, sendo então, uma boa ferramenta na validação da lógica de tarefas a serem automatizadas. Um algoritmo é uma receita para um processo computacional e consiste de uma série de operações primitivas, interconectadas devidamente, sobre um conjunto de objetos. Os objetos manipulados por essas receitas são as variáveis. Um Algoritmo é uma seqüência de instruções ordenadas, e sem ambigüidades de forma lógica para a resolução de uma determinada tarefa ou problema. 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 muitos. O aprendizado de algoritmos não se consegue a não ser através de muitos exercícios, ou seja, a melhor maneira de aprender algoritmos é fazendo. 1.5 Abstração Como qualquer modelo, um algoritmo é uma abstração da realidade. A abstração é o processo de identificar as propriedades relevantes do fenômeno que esta sendo modelado. Usando o modelo abstrato, podemos nos centrar unicamente nas propriedades relevantes para nós, dependendo da finalidade da abstração, e ignorar as irrelevantes. O processo de abstração consiste em compreender um sistema, concreto (como uma corrida de Fórmula 1) ou não (um sistema de conta corrente, por exemplo), e criar um modelo documentado e padronizado que reflita seu comportamento. 1.6 Exemplos Exemplo 1: Elaborar um algoritmo bastante familiar de substituição de uma lâmpada queimada do Teto. 1. Remova a lâmpada queimada.2. Coloque a lâmpada nova. Exemplo 2: Ensinar um robô a trocar lâmpada numa sala em que existe uma escada. O algoritmo tem agora 7 passos: 1. Posicione a escada debaixo da lâmpada queimada. 2. Suba na escada até que a lâmpada possa ser alcançada. 3. Gire a lâmpada queimada no sentido anti-horário até que se solte. 4. Escolha uma lâmpada nova de mesma potência da queimada. 5. Posicione a nova lâmpada no soquete. 6. Gire no sentido horário até que ela se firme. 7. Desça a escada. Prof. Walmor Cardoso Godoi, M.Sc. Página 6 Exemplo 3: No nosso dia a dia nos deparamos com diversos problemas que normalmente são resolvidos por meio do uso de algoritmos. Até coisas mais simples podem ser descritas através de algoritmo, por exemplo: “Fritar um ovo”. Passo 1 : Pegar a frigideira, o ovo, o óleo e o sal Passo 2: Colocar o óleo na frigideira Passo 3 : Acender o fogo Passo 4 : Colocar a frigideira no fogo Passo 5 : Esperar o óleo aquecer Passo 6 : Abrir o ovo na frigideira Passo 7 : Retirar quando pronto Exercício: Torres de Hanói. Considere o seguinte problema. Temos três hastes. Uma das hastes serve de suporte para três discos de tamanhos diferentes. Os discos menores são sempre colocados sobre os discos maiores. A figura abaixo mostra uma possível situação inicial das hastes e discos. Desejamos mover todos discos para a haste do meio, porém só podemos movimentar um disco de cada vez e um disco maior nunca pode ser colocado sobre um disco de menor tamanho. Nomeamos as hastes como 1, 2 e 3 e os discos como p, m e g. Considera-se que inicialmente os discos estão na haste 1. Os passos são: ANOTAÇÕES: _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ ___________________________________________________________________________________________ Prof. Walmor Cardoso Godoi, M.Sc. Página 7 2 Resolução de Problemas por meio dos Computadores 2.1 Introdução Os computadores podem ser usados de forma eficiente na solução de certos tipos de problemas. Os problemas que suportam tratamento por computador, em geral, envolvem grandes quantidades de dados ou são problemas de natureza complexa, exigindo a execução de um grande número de passos para alcançar a solução. Basicamente são problemas na área de processamento de dados e na área científica. O computador é uma ferramenta que permite a realização do processamento automático (ou eletrônico) de dados. As etapas na solução de problemas são: i) Entendimento do problema; ii) Criação de uma seqüência de operações (ou ações) que, quando executadas, produzem a solução para o problema; iii) Execução desta seqüência de operações. iv) Verificação da adequação da solução. 2.2 Programação Programação é a seqüência de planejamento, projeto, escrita e testes de instruções desempenhadas pelo computador. É uma arte e uma ciência. Arte porque existem muitas maneiras de se realizar o trabalho de programação. Existe espaço para uma considerável dose de criatividade. É também uma ciência, porque existem algumas regras que devem ser seguidas, porque é necessário o uso de lógica e porque existem alguns métodos rigorosos de programação que asseguram a eficiência, economia e a utilidade dos programas gerados. O trabalho de programação pode se tornar mais fácil se o dividirmos sistematicamente em partes menos complexas (esta técnica denomina-se “dividir para conquistar”). O maior problema na construção de programas é a complexidade; esta complexidade representa a quantidade de situações diferentes que um problema pode apresentar e que devem ser previstas na solução do mesmo. Portanto, ao se construir um programa, o objetivo principal é vencer a complexidade do problema a ser solucionado. A fim de lidar com esta complexidade, podemos dividir a programação em duas fases distintas conforme ilustra o esquema abaixo: Prof. Walmor Cardoso Godoi, M.Sc. Página 8 2.3 Diretrizes para elaboração de algoritmos 1. Identificação do problema: determinar o que se quer resolver ou qual objetivo a ser atingido. 2. Identificação das “entradas de dados”: informações fornecidas, a partir das quais se desenvolverão os cálculos. 3. Identificação das “saídas de dados”: as informações a serem geradas como resultado. 4. Identificação das regras e limitações do problema ou das limitações do agente executante (ex: se o agente fosse uma calculadora não-científica, iriam existir limitações no cálculo de funções, por exemplo). 5. Determinação do que deve ser feito para transformar as “entradas” em “saídas”. Neste ponto deve ser determinada a seqüência de ações que leve à solução do problema. 6. Construção do Algoritmo utilizando uma das formas de representação de algoritmos. 7. Teste da solução - execução de todas as ações do algoritmo, seguindo o fluxo estabelecido para verificar se ele está realmente gerando os resultados esperados ou detectar possíveis erros em sua descrição. Exemplo 1: Imagine o seguinte problema: Calcular a média final dos alunos da 6ª Série. Os alunos realizarão quatro provas: P1, P2, P3 e P4. A Média Final é calculada por: (P1 + P2 + P3 + P4) / 4. Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? R: Os dados de entrada são P1, P2, P3 e P4 b) Qual será o processamento a ser utilizado? Prof. Walmor Cardoso Godoi, M.Sc. Página 9 R: O procedimento será somar todos os dados de entrada e dividi-los por 4 (quatro) (P1 + P2 + P3 + P4)/4 c) Quais serão os dados de saída? R: O dado de saída será a média final. Assim, o algoritmo ficaria: 2.4 Português Estruturado Como foi visto anteriormente, o algoritmo e o diagrama de blocos são formas de modelar a solução para um problema ou projeto, que posteriormente será implementado numa linguagem de programação (C++, Pascal, Visual Basic, etc). Mas existe outra ferramenta, muito importante também, que pode ser considerada como a ultima etapa da modelagem. É um recurso técnico denominado Português Estruturado ou Portugol (de uma forma geral, é conhecida como pseudocódigo). O Português Estruturado é uma técnica de “algoritmização” baseada em uma PDL – Program Design Language ( ou Linguagem de Projeto de Programação). A forma original de uma PDL é em inglês, e sua notação sintática é utilizada em diversas linguagens de programação. A PDL (que aqui será denominado Português Estruturado) tem como finalidade mostrar uma notação para elaboração de algoritmos textuais que serão utilizados na definição, criação e desenvolvimento de programas a serem facilmente convertidos em uma linguagem formal de porgramação, seja ela, PASCAL, C++, C, BASIC, etc. Prof. Walmor Cardoso Godoi, M.Sc. Página 10 Forma Geral de um Programa em Português Estruturadoprograma Nome_do_Seu_Programa início //indica o início do programa var declarar todas as variáveis utilizadas aqui. instruções... instruções... ... (...) fim //indica o fim do programa Exemplo 2: Abaixo um algoritmo que irá retornar a soma de dois valores inteiros introduzidos pelo usuário (MANZANO). 1. programa SomaDeDoisValores 2. início 3. var 4. A,B, SOMA inteiro 5. ler A, B 6. SOMA ← A + B 7. escreva SOMA 8. fim A diferença entre uma linguagem de programação e uma PDL é que esta (seja escrita em português, inglês ou qualquer outro idioma) não poderia ser compilada em um computador. Porém, hoje já existem interpretadores de português estruturado. Por exemplo, o visuAlg. 2.4.1 O VisuAlg A linguagem que o VisuAlg interpreta é bem simples: é uma versão portuguesa dos pseudocódigos largamente utilizados nos livros de introdução à programação, conhecida como "Portugol". Tomei a liberdade de acrescentar-lhe alguns comandos novos, com o intuito de criar facilidades específicas para o ensino de técnicas de elaboração de algoritmos. Inicialmente, pensava em criar uma sintaxe muito simples e "liberal", para que o usuário se preocupasse apenas com a lógica da resolução dos problemas e não com as palavras-chave, pontos e vírgulas, etc. No entanto, cheguei depois à conclusão de que alguma formalidade seria não só necessária como útil, para criar um sentido de disciplina na elaboração do "código-fonte". A linguagem do VisuAlg permite apenas um comando por linha: desse modo, não há necessidade de tokens separadores de estruturas, como o ponto e vírgula em Pascal. Também não existe o conceito de blocos de comandos (que correspondem ao begin e end do Pascal e ao { e } do C), nem comandos de desvio incondicional como o goto. Na versão atual do VisuAlg, com exceção das rotinas de entrada e saída, não há nenhum subprograma embutido, tal como Inc(), Sqr(), Ord(), Chr(), Pos(), Copy() ou outro. Prof. Walmor Cardoso Godoi, M.Sc. Página 11 Importante: para facilitar a digitação e evitar confusões, todas as palavras-chave do VisuAlg foram implementadas sem acentos, cedilha, etc. Portanto, o tipo de dados lógico é definido como logico, o comando se..então..senão é definido como se..entao..senao, e assim por diante. O VisuAlg também não distingue maiúsculas e minúsculas no reconhecimento de palavras-chave e nomes de variáveis. Formato Básico do Pseudocódigo e Inclusão de Comentários O formato básico do nosso pseudocódigo é o seguinte: algoritmo "semnome" // Função : // Autor : // Data : // Seção de Declarações inicio // Seção de Comandos fimalgoritmo A primeira linha é composta pela palavra-chave algoritmo seguida do seu nome delimitado por aspas duplas. Este nome será usado como título nas janelas de leitura de dados (nas futuras versões do VisuAlg, talvez utilizemos este dado de outras formas). A seção que se segue é a de declaração de variáveis, que termina com a linha que contém a palavra-chave inicio. Deste ponto em diante está a seção de comandos, que continua até a linha em que se encontre a palavra-chave fimalgoritmo. Esta última linha marca o final do pseudocódigo: todo texto existente a partir dela é ignorado pelo interpretador. O VisuAlg permite a inclusão de comentários: qualquer texto precedido de "//" é ignorado, até se atingir o final da sua linha. Por este motivo, os comentários não se estendem por mais de uma linha: quando se deseja escrever comentários mais longos, que ocupem várias linhas, cada uma delas deverá começar por "//". Tipos de Dados O VisuAlg prevê quatro tipos de dados: inteiro, real, cadeia de caracteres e lógico (ou booleano). As palavras-chave que os definem são as seguintes (observe que elas não têm acentuação): • inteiro: define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais. • real: define variáveis numéricas do tipo real, ou seja, com casas decimais. • caractere: define variáveis do tipo string, ou seja, cadeia de caracteres. • logico: define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO. O VisuAlg permite também a declaração de variáveis estruturadas através da palavra-chave vetor, como será explicado a seguir. Nomes de Variáveis e sua Declaração Prof. Walmor Cardoso Godoi, M.Sc. Página 12 Os nomes das variáveis devem começar por uma letra e depois conter letras, números ou underline, até um limite de 30 caracteres. As variáveis podem ser simples ou estruturadas (na versão atual, os vetores podem ser de uma ou duas dimensões). Não pode haver duas variáveis com o mesmo nome, com a natural exceção dos elementos de um mesmo vetor. A seção de declaração de variáveis começa com a palavra-chave var, e continua com as seguintes sintaxes: <lista-de-variáveis> : <tipo-de-dado> <lista-de-variáveis> : vetor "["<lista-de-intervalos>"]" de <tipo-de- dado> Na <lista-de-variáveis>, os nomes das variáveis estão separados por vírgulas. Na <lista-de-intervalos>, os <intervalo> são separados por vírgulas, e têm a seguinte sintaxe: <intervalo>: <valor-inicial> .. <valor-final> Na versão atual do VisuAlg, tanto <valor-inicial> como <valor-final> devem ser inteiros. Além disso, exige-se evidentemente que <valor-final> seja maior do que <valor-inicial>. Exemplos: var a: inteiro Valor1, Valor2: real vet: vetor [1..10] de real matriz: vetor [0..4,8..10] de inteiro nome_do_aluno: caractere sinalizador: logico Note que não há a necessidade de ponto e vírgula após cada declaração: basta pular linha. A declaração de vetores é análoga à linguagem Pascal: a variável vet acima tem 10 elementos, com os índices de [1] a [10], enquanto matriz corresponde a 15 elementos com índices [0,8], [0,9], [0,10], [1,8], [1,9], [1,10], ... até [4,10]. O número total de variáveis suportado pelo VisuAlg é 500 (cada elemento de um vetor é contado individualmente). Constantes e Comando de Atribuição O VisuAlg tem três tipos de constantes: • Numéricos: são valores numéricos escritos na forma usual das linguagens de programação. Podem ser inteiros ou reais. Neste último caso, o separador de decimais é o ponto e não a vírgula, independente da configuração regional do computador onde o VisuAlg está sendo executado. O VisuAlg também não suporta separadores de milhares. • Caracteres: qualquer cadeia de caracteres delimitada por aspas duplas ("). • Lógicos: admite os valores VERDADEIRO ou FALSO. A atribuição de valores a variáveis é feita com o operador <-. Do seu lado esquerdo fica a variável à qual está sendo atribuído o valor, e à sua direita pode-se colocar qualquer expressão (constantes, variáveis, expressões numéricas), desde que seu resultado tenha tipo igual ao da variável. Prof. Walmor Cardoso Godoi, M.Sc. Página 13 Alguns exemplos de atribuições, usando as variáveis declaradas acima: a <- 3 Valor1 <- 1.5 Valor2 <- Valor1 + a vet[1] <- vet[1] + (a * 3) matriz[3,9] <- a/4 - 5 nome_do_aluno <- "José da Silva" sinalizador <- FALSO Exemplo 3: O exemplo 2 em VisuAlg ficaria algoritmo "semnome" // Função :Somar dois Valores // Autor : // Data : 15/02/2009 // Seção de Declarações var A,B, SOMA:inteiro inicio // Seção de Comandos escreval(”digite um numero ”) leia(A) escreval(”digite um numero ”) leia(B) SOMA<-A+B escreval(”o valor da soma será ”) escreval(SOMA) fimalgoritmo Exemplo 4: Somar dois valores // Algoritmo : MEDIA ARITMETICA (O famoso...) // Função : Demonstração para o programa VisuAlg // Autor : Cláudio M. de Souza // Data : 08/09/2002 algoritmo "mediaarit" // Seção de Declarações var V1, V2, Media : real inicio // Seção de Comandos // Se quiser usar valores fracionários, use , ou . para separar as casas// decimais de acordo com a configuração de seu computador. escreva("Qual o primeiro valor? ") leia(V1) escreva("Qual o segundo valor? ") leia(V2) Media <- (V1+V2) / 2 escreval("A média aritmetica é : ", Media : 10:3) fimalgoritmo Prof. Walmor Cardoso Godoi, M.Sc. Página 14 2.5 Instruções Básicas As instruções em programação são representadas pelo conjunto de palavras-chave (vocabulário) de uma determinada linguagem de programação, que tem por finalidade comandar em um computador o seu funcionamento e a forma como os dados armazenados serão tratados. As instruções a seguir devem ser colocadas de forma lógica e estratégica, formando os blocos do comando: início, fim, var, programa, enquanto, fim_enquanto, se, então, senão, fim_se, para, fim_para, escreva, leia, faça, repita, até_que, conjunto, inteiro, real, caractere, lógico, tipo, registro, fim_registro, procedimento, função, caso, fim_caso, além de operadores aritméticos (adição, subtração, multiplicação, divisão, exponenciação e atribuição), operadores relacionais (igual a, maior que, menor que, maior ou igual a e menor ou igual a)e operadores lógicos (.e., .ou. e .não.) Prof. Walmor Cardoso Godoi, M.Sc. Página 15 3. Tipos de Dados e Instruções Primitivas 3.1 Tipos de Informação: Dados e Instruções Primitivas O computador é uma ferramenta utilizada para solucionar problemas que envolvam a manipulação de informações. As informações para trabalho em um computador podem ser divididas em dois tipos básicos: dados e instruções. Os dados são representados pelas informações a serem tratadas (processadas) por um computador. Essas informações estão caracterizadas por três tipos de dados: dados numéricos (inteiros ou reais), caracteres e lógicos. Tipos inteiros: São caracterizados por seu sinal (positivo ou negativo), excluindo-se números fracionários. Exemplo: 35, -2, 1, 0, -36000, +201, etc. Tipos reais: São caracterizados como dados numéricos positivos, negativos e fracionários. Exemplo: 35, -2, 0, 1.2, 3.009, -200.73 Tipos caracteres ou literais: São as seqüências contendo letras, números e símbolos especiais. Uma seqüência de dados tipo caractere deve ser indicada sempre entre “aspas”. Este tipo de dado também é conhecido como alfanumérico, string, literal ou cadeia. Exemplos: “A21”, “PROGRAMAÇÂO”, “Rua Alfa, 32”, “Fone:”, etc. Tipos lógicos: São dados com valores verdadeiro ou falso, apresentando somente um destes. Também é conhecido como booleano. Os dados lógicos devem sempre ser apresentados e delimitados pelo caractere ponto (.). Exemplos:.Verdadeiro., .F., .V., 3.2 O uso de variáveis e constantes Variável é tudo aquilo que é sujeito a variações. Todo dado a ser armazenado na memória de um computador deve ser previamente identificado, ou seja, é preciso saber qual o seu tipo para depois fazer o seu armazenamento adequado. Assim, o dado pode ser utilizado e manipulado a qualquer momento. O nome de uma variável é utilizado para sua identificação e posterior uso dentro de um programa. Sendo assim, algumas regras devem ser seguidas: o Nomes de uma variável poderão ser atribuídos com um ou mais caracteres; o O primeiro caractere do nome de uma variável não poderá ser, em hipótese alguma, um número; sempre deverá ser uma letra; o O nome de uma variável não poderá possuir espaços em branco; o Não se podem utilizar palavras reservadas para o nome de uma variável; o Não poderão ser utilizados outros caracteres a não ser letras e números. o Cuidado com linguagens de programação que são CASE SENSITIVE, ou seja, reconhecem caracteres maiúsculos e minúsculos de forma diferente. Exemplos de nomes válidos: NOMEUSUARIO, FONE1, X, media, delata 25, escreva_soma, Variavel. Exemplos de nomes inválidos: Nome Usuário, 1X 00Zé, Fone#, ESCREVA (caso for uma palavra reservada), LEIA(caso for uma palavra reservada) Prof. Walmor Cardoso Godoi, M.Sc. Página 16 Constante é tudo aquilo que é fixo ou estável. Exemplo: O valor da fórmula RESULTADO = ENTRADA*2.26 retorna uma constante. 3.3 Operadores Aritméticos Os operadores aritméticos são classificados em duas categorias: binários e unários. São binários quando atuam em operações de exponenciação, multiplicação, divisão, adição e subtração. São unários quando atuam na inversão de um valor, atribuindo a este o sinal positivo ou negativo. Tabela 1: Operadores Aritméticos ← Atribuição + Adição - Subtração * Multiplicação / Divisão ↑ Exponenciação ↑(1/n) Raiz de índice n Além dos operadores citados anteriormente, podemos complementar nossa lista com o símbolo E que representa potência de 10 em computadores e calculadoras. Exemplo: o valor 3,00×108 pode ser escrito como 3,00E8 usando o símbolo E. As Expressões Aritméticas ou Fórmulas Matemáticas Será comum trabalharmos com expressões aritméticas ou fórmulas matemáticas. Estas expressões são definidas com o relacionamento existentes entre as variáveis e constantes. As expressões em computação são escritas de uma forma um pouco diferente da forma conhecida em matemática. Exemplos: 1) A expressão x={43.[55 : (30+2)]} será escrita da forma x←(43*(55/(30+2))). 2) O cálculo da área de um círculo de raio R será AREA←3.141592*RAIO*RAIO 3) Ou ainda, o cálculo da área de um círculo de raio R será AREA←3.141592*RAIO↑2 Lembre-se: Para criar um programa que seja executável dentro de um computador, é preciso ter em mente três etapas de trabalho: a entrada de dados, o processamento e a saída dos dados. 3.4 Exercício de Aprendizagem Problema: Desenvolver um programa que calcule a área de uma circunferência, e apresentar a medida da área calculada (Mostre o Algoritmo, o Diagrama de Bloco e o Português Estruturado). Solução: Prof. Walmor Cardoso Godoi, M.Sc. Página 17 3.5 Exercícios de Fixação 1) São dados do tipo inteiro. ( ) 45, 1002, 20.5, 12 ( ) 12, 45, 1001, 10 ( ) “10”, 2, 3, 0 ( ) .F, .10, 0, dez 2) São dados do tipo real. ( ) -45, 1002, 20.5, “doze” ( ) 12, 45, 1001, 10 ( ) “10”, 2, -3, 0 ( ) .F, .10, 0, dez 3) São dados do tipo literal. ( ) 45, 1002, 20.5, 12 ( ) “12”, “dez”, “\n”, “.F” ( ) “10”, 2, -3, 0 ( ) .F., 10, 0, dez 4) São nomes válidos para uma variável. ( ) ENDEREÇO ( ) #ENDEREÇO ( ) 10ENDERCO ( ) LEIA ENDERECO 5) Resolva o problema da Torre de Hanói para 4 quatro discos. 7) Numa determinada noite, acontece uma queda de energia. Você sabia que poderia encontrar uma vela na gaveta da cozinha, um lampião embaixo da cama, fusíveis de reserva no armário da sala e fósforos na estante da cozinha. Descreva a seqüência de passos que poderia ser utilizada para diagnosticar e resolver o problema, o que pode ser previsto em duas possibilidades: a) o fusível queimou; b) a queda é na estação da companhia elétrica. Utilize diagrama de bloco. 6) Escreva um programa em algoritmo descritivo, diagrama de bloco e Português Estruturado, para calcular a soma de dois números quaisquer e apresente o resultado somente se o valor somado for maior que 1000. 7) Considere o seguinte problema: Queremos calcular a média final dos alunos da 6a série. 40 alunos realizaram três provas. A primeira prova teve peso 2.0, a segunda teve peso 4.0 e a terceira, peso 4.0. Apresente a solução em Português Estruturado. 8) Faça um algoritmo para ler a base e a altura de um triângulo (formula abaixo). Em seguida, escreva a área do mesmo. Utilize Português Estruturado para apresentar a resposta. Prof. Walmor Cardoso Godoi, M.Sc. Página 18 Área <- ( Base * Altura ) / 2 9) O preço de um automóvel é calculado pela soma do preço de fábricacom o preço dos impostos (45% do preço de fábrica) e a percentagem do revendedor (28% do preço de fábrica). Faça um algoritmo que leia o nome do automóvel e o preço de fábrica e imprima o nome do automóvel e o preço final. Utilize Português Estruturado para apresentar a resposta. 10) Um sensor obtém uma temperatura em graus Fahrenheit e queremos apresentá-la convertida em graus Celsius. A fórmula de conversão é: C = (F-32)*(5/9), onde F é a temperatura em Fahrenheit e C é a temperatura em Celsius. Utilize Português Estruturado para apresentar a resposta. 11) Calcular e apresentar o valor do volume de uma lata de óleo, utilizando a fórmula: VOLUME = 3.141592*(R^2)*ALTURA. Utilize Português Estruturado para apresentar a resposta. 12) Ler dois valores para as variáveis A e B, efetuar a troca dos valores de forma que a variável A passe a possuir o valor da variável B e que a variável B passe a possuir o valor da variável A. O programa deverá mostrar os valores trocados. Utilize Diagrama de Bloco e Português Estruturado para apresentar a resposta. 13) Crie um programa em que dado a tensão U e a resistência R, calcule a corrente num circuito. Dica: Use a lei de Ohm (U=R*I). Utilize Português Estruturado para apresentar a resposta. ANOTAÇÕES: _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ Prof. Walmor Cardoso Godoi, M.Sc. Página 19 4 Estruturas de Controle 4.1 Desvio condicional simples A tomada de decisão simples utiliza a instrução se...então...fim_se . Nesta instrução, se a condição estabelecida for verdadeira, serão executadas todas as instruções definidas entre se...então e fim_se, depois serão executadas todas as instruções existentes após fim_se. Se a condição estabelecida for falsa, se a condição estabelecida for falsa, serão executadas as instruções que estiverem definidas após a instrução fim_se. Diagrama de bloco Português Estruturado se (<condição>) então <instruções se a condição for verdadeira> fim_se < instruções se a condição for falsa ou após ser verdadeira> Exemplo 1: Ler dois valores numéricos, efetuar a adição e apresentar o resultado caso o valor somado seja maior que 10. 4.2 Operadores relacionais Ao usar a instrução de tomada de decisão é necessário definir para ela uma condição. OS operadores relacionais realizam esta tarefa. == igual a > maior que < menor que >= maior ou igual a <= menor ou igual a <> ou =! diferente Prof. Walmor Cardoso Godoi, M.Sc. Página 20 4.3 Desvio condicional composto Diagrama de bloco Português Estruturado se (<condição>) então <instruções para condição verdadeira> senão <instruções para condição falsa> fim_se Exemplo 2: Ler dois valores numéricos e efetuar a adição. Caso o valor somado seja maior ou igual a 10, deve ser apresentado somando a ele 5; caso o valor somado não seja maior ou igual a 10, deve ser apresentado subtraído dele 7. Exemplo 3: Programa para calcular a média de alunos utilizando o desvio condicional composto: programa MÉDIA var RESULTADO: caractere N1, N2, N3, N4: real SOMA, MEDIA: real início leia N1, N2, N3, N4 SOMA ← N1+N2+N3+N4 MÉDIA ←SOMA/4 se (MEDIA>=7) então RESULTADO ← “APROVADO” senão RESULTADO ← “REPROVADO” fim_se escreva “Nota 1”, N1 escreva “Nota 2”, N2 escreva “Nota 3”, N3 escreva “Nota 4”, N4 escreva “Soma”, SOMA escreva “Média”, MEDIA escreva “Resultado”, RESULTADO fim
Compartilhar