Lógica de Programação

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

Download "Lógica de Programação"

Transcrição

1 Lógica de Programação Professor FRANCISCO VERÍSSIMO LUCIANO Prof. Me. Francisco Veríssimo Luciano /76

2 Curso Programador de Sistemas CURSO: Programador de Sistemas DISCIPLINA: Lógica de Programação EMENTA Capacitar o aluno à resolução de problemas algorítmicos, documentando a solução em ferramentas de representação de algoritmos mais usuais portugol (pseudocódigo; português estruturado) e diagrama de blocos. OBJETIVOS Desenvolver a capacidade de desenvolvimento de algoritmos necessários para a programação estruturada de computadores independente da linguagem. Através de exercícios de desenvolvimento de algoritmos solucionados em portugol e diagrama de blocos, capacitar o aluno a propor soluções algorítmicas enfocando a validação do mesmo com o uso do teste de mesa. CONTEÚDO PROGRAMÁTICO Definição de algoritmo. Etapas da criação de um programa. Importância do Teste de Mesa para o processo de elaboração do algoritmo. Formas de representação de algoritmos: portugol, diagrama de blocos e diagrama de Chapin. Definição de variáveis, tipos de dados, expressões aritméticas e lógicas. Comando de entrada e saída (E/S). Estrutura condicional: simples, composta, encadeada. Estrutura de seleção múltipla. Estrutura de repetição.. Modularização de algoritmos. BIBLIOGRAFIA BÁSICA GUIMARÃES, Ângelo de Moura e LAGES, Alberto de Castilho. Algoritmos e Estruturas de Dados. 1a ed, Rio de Janeiro: LTC, FARRER, Harry et al. Algoritmos Estruturados. 3 ed, Rio de Janeiro: LTC, MIZHARI, Victorine Viviane. Treinamento em linguagem C Módulo 1. 1a ed, São Paulo: Makron Books, BIBLIOGRAFIA COMPLEMENTAR FORBELLONE, André Luiz Villar e EBERSPACHER, Henri Frederico. Lógica de Programação - A Construção de Algoritmos e Estrutura de Dados. 1a ed, São Paulo: Makron Books, MANZANO, Jose Augusto N. G. e OLIVEIRA, Jayr F. Algoritmos Lógica para Desenvolvimento de Programação de Computadores. 16ª Ed, São Paulo: Erica, WIRTH, Niklaus. Algoritmos e estruturas de dados. Rio de Janeiro: Prentice Hall do Brasil, SCHILDT, Herbert. C, completo e total. 3 ed, São Paulo: Makron Books, Softwares sugeridos para desenvolvimento dos Diagramas de Blocos: MS-Visio Dia Prof. Me. Francisco Veríssimo Luciano /76

3 Noções Preliminares de Lógica e Construção de Algoritmos Lógica: - Relacionada à capacidade de raciocinar - Vinculada à capacidade de pensar - Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo. Algoritmo: - Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Um pequeno exemplo: Torre de Hanoi Descreva detalhadamente os procedimentos necessários para passar os 3 discos do Pino 1 para um dos outros Pinos, obedecendo às seguintes regras: o Mover somente um disco por vez; o Nunca poderá ficar um disco maior sobre um menor; Disco 3 Disco 2 Disco 1 Pino 1 Pino 2 Pino 3 Canibais e Jesuítas Descreva passo a passo os procedimentos necessários para passar os 3 canibais e os 3 jesuítas da margem A para a margem B do rio, obedecendo às seguintes regras: o No barco só cabem duas pessoas; o Sempre terá que voltar alguém para buscar os demais; o O número de canibais nunca poderá ser superior ao de jesuítas em qualquer uma das margens (considerando-se quem está no barco também). MARGEM A MARGEM B Prof. Me. Francisco Veríssimo Luciano /76

4 Algoritmos Curso Programador de Sistemas Conceituando: Algoritmo consiste em um conjunto lógico e finito de ações ( instruções ) que objetivam resolver um determinado problema. Um algoritmo desenvolvido não é a única solução possível de um problema, pois, se assim fosse, cada problema teria um único algoritmo. Algoritmo é um dos caminhos 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 só é conseguido através de muitos exercícios. Não se aprende Algoritmos: - Copiando Algoritmos - Estudando Algoritmos Só se aprende Algoritmos: - Construindo Algoritmos - Testando Algoritmos Fases de um Algoritmo Quando temos um problema e vamos utilizar um computador para resolvê-lo, inevitavelmente temos que passar pelas seguintes etapas: a) Definir o problema; b) Realizar um estudo de qual(is) a(s) forma(s) de resolver o problema; c) Terminada a fase de estudo, elaborar um algoritmo contendo os passos lógicos a serem seguidos para a solução do problema; d) Codificar os passos do algoritmo na linguagem de programação mais adequada; e) Analisar junto aos usuários se o problema foi resolvido. Se a solução não foi encontrada, dever-ser-á retornar à fase de estudos a fim de localizar-se a falha. Estas são, de forma bem geral, as etapas que um analista passa, desde a apresentação do problema até a sua efetiva solução. Iremos, neste curso, nos ater à etapa de estudo, também chamada de análise, e à etapa de programação. Mas, antes, vamos definir o seguinte conceito: programar um computador consiste em elaborar um conjunto finito de instruções, reconhecidas pelo mesmo, de forma que consiga executá-las. Estas instruções possuem regras e uma sintaxe próprias, como o português ou o inglês - sendo chamadas de linguagem de programação. No mundo computacional existe uma grande variedade de linguagens: Pascal, C, C++, C#, Cobol, Fortran, Delphi, Visual Basic, Java, ASP, PHP, Phyton, Perl, etc. Prof. Me. Francisco Veríssimo Luciano /76

5 Curso Programador de Sistemas Estrutura de Algoritmos Antes de utilizarmos uma linguagem de computador, é necessário definir as ações a serem tomadas pela máquina de forma organizada e lógica, sem nos atermos às regras rígidas da sintaxe de uma linguagem. Para isso utilizaremos uma das formas de escrever tais algoritmos, conhecida como Fluxograma ou Diagrama de Blocos. Formas de representação de um Algoritmo: -Fluxograma (Diagrama de Blocos). -Portugol (Português Estruturado ou Pseudocódigo); -Diagrama de Chapin; Exemplos: Portugol, Português Estruturado ou Pseudocódigo; Fluxograma ou Diagrama de Blocos; algoritmo teste início A, B: inteiro A 1 B 2 se A > B então A 5 senão A 10 fim se fim. Início A 1 B 2 F A>B V A 5 A 10 Fim Prof. Me. Francisco Veríssimo Luciano /76

6 Diagrama de Chapin A 1 B 2 A > B F V A 10 A 5 Exemplificando o algoritmo acima em uma linguagem de programação, como em Pascal, a solução apresentada pelos algoritmos acima ficaria da seguinte forma: Program Teste; Var A, B : Integer ; Begin A := 1 ; B := 2 ; if ( A > B ) then A := 5 else A := 10 ; End. Prof. Me. Francisco Veríssimo Luciano /76

7 Variáveis Curso Programador de Sistemas 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 Random Access Memory - memória de acesso aleatório) ou na memória secundária (discos, fitas, CD-ROM, etc). Nós iremos trabalhar, neste curso, somente com a memória primária, especificamente com as informações armazenadas na RAM. A memória do computador pode ser entendida como uma seqüência finita de caixas, que num dado momento, guardam algum tipo de informação, como um número, uma letra, uma palavra, uma frase, etc. Não importa ao usuário conhecer todas as informações contidas, basta apenas saber que lá sempre existe alguma informação. O computador, para poder trabalhar como algumas destas informações, precisa saber onde, na memória, o dado está localizado. 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. Abaixo seguem alguns exemplos: Endereço Físico Informação 3000 : B712 João 2000 : 12EC : 0004 H Como pode ser observado, o endereçamento das posições de memória através de números hexadecimais é perfeitamente compreendido pela máquina, mas para nós humanos torna-se uma tarefa complicada. Pensando nisto, as linguagens de programação de computadores facilitaram o manuseio das posições de memória da máquina, permitindo que, ao invés de trabalhar diretamente com os números hexadecimais, fosse possível dar nomes diferentes a cada posição de memória. Os nomes são de livre escolha do usuário. Com este recurso, os usuários ficaram livres dos endereços físicos (números hexadecimais) e passaram a trabalhar com endereços lógicos (nomes dados pelos próprios usuários). Desta forma, o exemplo acima poderia ser alterado para ter o seguinte aspecto: Endereço Físico Informação Nome João Número Letra H Prof. Me. Francisco Veríssimo Luciano 7/76

8 Curso Programador de Sistemas Como tínhamos falado, os endereços lógicos são como caixas, que num dado instante guardam algum tipo de informação. Mas é importante saber que o conteúdo desta caixa não é algo fixo ou permanente. Na verdade, uma caixa pode conter diversas informações, ou seja, como no exemplo acima, a caixa (Endereço Lógico) rotulada de Nome num dado momento contém a informação João, mas em um outro momento poderá conter uma outra informação, por exemplo Pedro. Com isto queremos dizer que o conteúdo destas caixas ( endereços lógicos ) podem variar, isto é, podem sofrer alterações em seu conteúdo. Tendo este conceito em mente, a partir de agora iremos chamar de forma genérica, as caixas ou endereços lógicos, de variáveis. Posição de Memória Memória Conceituando: Desta forma, é possível afirmar que uma variável é uma posição de memória, representada por um nome simbólico (atribuído pelo usuário), a qual contém, num dado instante, uma informação. Prof. Me. Francisco Veríssimo Luciano 8/76

9 Nomes de Variáveis O nome de uma variável é formado por uma letra ou por uma letra seguida de letras ou números (quaisquer números); Não é permitido o uso de espaços em branco ou de qualquer outro caractere, que não seja letra ou número; Se utilizar mais de uma palavra para compor o nome da variável utilize o _ (underline) para separar as palavras. Exemplo: data_nasc ; Não pode iniciar com um número. Conteúdo de uma Variável As variáveis podem armazenar: Valores numéricos; Textos (letras, palavras) ou até frases. Identificadores: Variáveis e Constantes Considere a fórmula matemática do cálculo do volume de uma esfera: V 4 R 3 3 onde são encontrados valores que podem ser classificados como: a) valores constantes, invariantes em todas as aplicações da fórmula, como são os casos dos valores 4, 3 e denominam-se CONSTANTES; b) valores a serem substituídos na fórmula, em cada aplicação; a representação desses 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; c) operações a serem feitas sobre determinados operandos (valores), para a obtenção da solução do problema. Prof. Me. Francisco Veríssimo Luciano 9/76

10 Tipos de Dados As Linguagens de Programação exigem que no momento que formos trabalhar com variáveis, indiquemos o tipo de dado que a mesma poderá conter, isto é, se uma dada posição de memória armazenará um número ou uma letra, etc. A linguagem Pascal, por exemplo, possui a definição de alguns tipos que deverão ser usados para se trabalhar com variáveis. Esses tipos são: Principais tipos de variáveis e dados que armazenam (relembrando...): Algoritmo (Portugol) Pascal a) Inteiro a) INTEGER b) Real b) REAL e) Caracter e) CHAR d) Cadeia f) STRING g) Lógica g) BOOLEAN Dados que podem armazenar Representa números entre até Ocupa 2 bytes na memória. Representa os números entre 2,9 x até 1,7 x Ocupa 6 bytes na memória. Representa um dos caracteres, da tabela ASCII. Ocupa 1 byte na memória. Conjunto de caracteres ( CHAR ). Ocupa de 1 a 255 bytes na memória. Valor lógico. Assume somente dois valores: TRUE(Verdadeiro) ou FALSE(Falso). Ocupa 1 byte na memória. Outros tipos de Variáveis Pascal Dados que podem armazenar h) WORD Números de 0 até Ocupa 2 bytes na memória. i) BYTE Números de 0 até 255. Ocupa 1 byte na memória. j) ShortInt Representa os números entre -128 até 128. Ocupa 1 bytes na memória. l) LongInt m) Single n) Double Representa os números entre até Ocupa 4 bytes na memória. Representa os números entre 1,5 x até 3,4 x Ocupa 4 bytes na memória. Representa os números entre 5 x até 1,7 x Ocupa 8 bytes na memória. Prof. Me. Francisco Veríssimo Luciano 10/76

11 Iremos gradativamente trabalhar com alguns destes tipos e mostrar as suas características. Declaração de Variáveis É necessário informar, logo no início do programa, quais as variáveis que serão utilizadas e que tipo de dados cada uma armazenará. Para declarar uma ou mais variáveis, devemos utilizar, em Pascal, a palavra VAR. Nos algoritmos feitos em Portugol pode-se utilizar a mesma nomenclatura. Nos algoritmos construídos com Fluxograma (Diagrama de Blocos) não é necessário declarar as variáveis. Apenas indicamos a atribuição de valores às variáveis necessárias (Fig. 1) ou a leitura dos dados para as mesmas( Fig. 2). Inicio Inicio A 10 Leia A <Comandos> <Comandos> Fim Fim Figura 1 Figura 2 Prof. Me. Francisco Veríssimo Luciano 11/76

12 Abaixo seguem exemplos de algumas declarações de variáveis em Pascal: a) PROGRAM Teste ; b) PROGRAM Teste ; VAR VAR A : INTEGER ; Num : REAL ; BEGIN BEGIN <comandos> ; <comandos> ; END. END. c) PROGRAM Teste ; d) PROGRAM Teste ; VAR VAR X, Palavra : STRING ; B, Letra : CHAR ; BEGIN BEGIN <comandos> ; <comandos> ; END. END. e) PROGRAM Teste ; f) PROGRAM Teste ; VAR VAR Y : REAL ; Letra, Caractere : CHAR ; N : INTEGER ; Número : INTEGER ; BEGIN BEGIN <comandos> ; <comandos> ; END. END. Obs: Os nomes dados às variáveis não podem ser os mesmos nomes de palavras reservadas do Pascal, tais como PROGRAM, BEGIN, END, VAR, etc Prof. Me. Francisco Veríssimo Luciano 12/76

13 Curso Programador de Sistemas Comandos de Atribuição Quando definimos uma variável, é natural atribuirmos a ela uma informação. Uma das formas de colocar um valor dentro de uma variável, conseqüentemente colocando este dado na memória do computador, é através da atribuição direta do valor desejado à variável. Para isso são utilizados os símbolos : = (dois pontos igual) no Pascal e (seta para esquerda) em Algoritmos, que significam: atribuir, ou seja, a posição de memória que uma variável representa receberá uma informação, que será armazenada no interior desta variável. Exemplos: Algoritmo Pascal PROGRAM Teste; VAR X : INTEGER; BEGIN X : = 10; END. X 10 O Exemplo anterior nos informa que: a) Foi definida uma variável, a qual demos o Nome de X, e informamos que esta variável, ou posição de memória, só poderá aceitar dados que sejam numéricos e que estejam entre a ( tipo INTEGER ); b) Atribuímos à variável X o valor 10. A memória se comportaria da seguinte forma, de acordo com os itens acima: Logo após a declaração da variável e antes da atribuição de valor: Variável Conteúdo X Indefinido Após a atribuição de valor: Variável X Conteúdo 10 Variáveis do tipo CHAR (Caractere) e STRING (Cadeia) As definições de variáveis como sendo do tipo CHAR e STRING, possuem algumas curiosidades que merecem um cuidado especial por parte do usuário. Prof. Me. Francisco Veríssimo Luciano 13/76

14 Curso Programador de Sistemas Uso do apóstrofro ( ) Quando estivermos fazendo a atribuição de um valor para uma variável do tipo CHAR (Caractere) ou STRING (Cadeia), temos que ter o cuidado de colocar o valor (dado) entre apóstrofos ( ) - chamados por alguns de aspas simples - pois esta é a forma de dizer que a informação é caractere. Exemplos: Algoritmo Inicio Letra A Nome João Fim Pascal PROGRAM AtribuiString; VAR Letra : CHAR ; Nome : STRING ; BEGIN Letra := A ; Nome := João ; END. Manipulação de caracteres individuais em STRING s (Cadeias) Muitas vezes é necessário manipular caracteres individuais em uma STRING (Cadeia). O Pascal possui uma forma toda especial de permitir tal operação, através do uso de colchetes( [ ] ) logo após o Nome da variável do tipo STRING (Cadeia), e o número do caractere que se deseja manipular entre os colchetes. Formas de representação de algoritmos: Diagrama de Chapin (pronuncia-se Chapã ) Diagrama de Blocos ou Fluxograma: representação gráfica do algoritmo Portugol, pseudocódigo ou português estruturado: descrição narrativa do algoritmo Prof. Me. Francisco Veríssimo Luciano 14/76

15 Diagrama de Blocos ou Fluxograma É um dos métodos utilizados para o desenvolvimento de algoritmos. Com esta técnica definimos os passos lógicos, a serem seguidos para a solução de um problema, com o auxílio de figuras geométricas. Posteriormente, codificarmos esses passos em uma linguagem de programação em um computador. Há muitas figuras para construção de Diagramas de Blocos/Fluxogramas. As principais que utilizaremos, são: Terminal - para indicar Início ou Fim do programa; Processamento - para cálculos, classificações, atribuições de valor, etc.; Entrada e Saída de Dados - é utilizado sempre em conjunto com os verbos Leia, para indicar a leitura de valores para variáveis, ou Escreva, para indicar a exibição de mensagens e/ou conteúdo de variáveis; Entrada de Dados via teclado Saída ou Exibição de Dados em Vídeo - para indicar a exibição dos valores contidos nas variáveis e mensagens (textos) contidas nos programas; Saída de Dados Impressos; Decisão - para efetuar um desvio condicional, uma pergunta, para definir se o programa deve seguir numa direção ou em outra; Estrutura de controle: repetição (laço para) Conector - para ligar as seqüências de solução do problema vindas de diferentes pontos do Fluxograma; 3 Conector de Página - para ligar pontos do Fluxograma na mesma página ou em páginas diferentes; normalmente utiliza-se um número junto, para indicar de que ponto vem e para qual ponto deve seguir o fluxo; Setas de Orientação do Fluxo - para indicar o sentido a ser seguido. Prof. Me. Francisco Veríssimo Luciano 15/76

16 Operadores Aritméticos + (Adição) Tipo de operandos permitidos: inteiros, reais, cadeias de caracteres. Operação executada: no caso de inteiros e reais o operando à esquerda do + é somado ao operando a sua direita, sendo o tipo do resultado dessa operação dependente de seus operandos: Se os dois operandos são inteiros, o resultado da soma é um valor inteiro; Se os dois operandos são reais, o resultado da soma é um valor real; Se um dos operandos é real e o outro é inteiro, o resultado da soma é um valor real; No caso dos operandos serem ambos cadeias de caracteres o resultado da operação é dado pela cadeia obtida pela concatenação da cadeia dada pelo primeiro operando com a cadeia dada pelo segundo operando. - (Subtração) Tipo de operandos permitidos: inteiros, reais. Operação executada: o operando à esquerda do - é subtraído do operando a sua direita, sendo o tipo do resultado dessa operação dependente de seus operandos: Se os dois operandos são inteiros, o resultado da operação é inteiro; Se os dois operandos são reais, o resultado da operação é real; Se um dos operandos é real e o outro é inteiro, o resultado da operação é real. * (Multiplicação) Tipo de operandos permitidos: inteiros, reais. Operação executada: o operando à esquerda do * é multiplicado pelo operando a sua direita, sendo o tipo do resultado dessa operação dependente de seus operandos: Se os dois operandos são inteiros, o resultado da operação é um valor inteiro; Se os dois operandos são reais, o resultado da operação é um valor real; Se um dos operandos é real e o outro é inteiro, o resultado da operação é um valor real. / (Divisão) Tipo de operandos permitidos: inteiros, reais. Operação executada: o operando à esquerda do / é dividido pelo operando a sua direita, sendo o resultado dessa operação real. Prof. Me. Francisco Veríssimo Luciano 16/76

17 DIV MOD Tipo de operandos permitidos: ambos do tipo inteiro. Operação executada: o operando à esquerda do DIV é dividido pelo operando à sua direita, sendo o resultado desta operação um valor inteiro resultante da divisão. Exemplo: 7 DIV 3 resulta 2 (vide abaixo). Tipo de operandos permitidos: ambos do tipo inteiro. Operação executada: o operando à esquerda do MOD é dividido pelo operando à sua direita, sendo o resultado desta operação o resto inteiro da divisão. Exemplo: 7 MOD 3 resulta 1 (vide abaixo). Dividendo 7 3 Divisor MOD 1 2 DIV Prof. Me. Francisco Veríssimo Luciano 17/76

18 Programas Seqüenciais São programas onde são executadas as linhas de instruções uma após a outra, seqüencialmente, sem desvios. 1)Faça um algoritmo para ler dois números inteiros, efetuar e mostrar a SOMA dos mesmos. Inicio Declaração de variáveis do algoritmo X, A, B Escreva Digite o1º numero: Leia A Escreva Digite o2º numero: Leia B X A + B Escreva A Soma é, X Fim Prof. Me. Francisco Veríssimo Luciano 18/76

19 Programa SOMA_INTEIROS Var X, A, B : Inteiro Inicio Escreva Digite o 1º número: Leia A Escreva Digite o 2º número: Leia B X A + B Escreva A soma é, X Fim. Outro exercício: 2)Faça um algoritmo que leia 2 números reais, efetue e mostre a SOMA e a MÉDIA: Prof. Me. Francisco Veríssimo Luciano 19/76

20 Prof. Me. Francisco Veríssimo Luciano 20/76

21 Programa SOMA_MEDIA_REAIS Var X, A, B, MED : real Inicio Escreva Digite o 1º número: Leia A Escreva Digite o 2º número: Leia B X A + B Escreva A soma é, X MED X/2 Escreva A Média é, MED Fim. 3) Faça um algoritmo que receba dois números inteiros, calcule e mostre o dobro do primeiro e o triplo do segundo. INICIO A NUM1, NUM2, DOBRO, TRIPLO "O DOBRO DE", NUM1, "E IGUAL A", DOBRO LEIA NUM1 LEIA NUM2 DOBRO <-- NUM1 * 2 "O TRIPLO DE", NUM2, "E IGUAL A", TRIPLO FIM Programa Dobro_triplo NUM1, NUM2, DOBRO, TRIPLO: Inteiro Início Leia NUM1 Leia NUM2 DOBRO NUM1 * 2 TRIPLO NUM2 * 3 Escreva O DOBRO DE, NUM1, E IGUAL A, DOBRO Escreva O TRIPLO DE, NUM2, E IGUAL A, TRIPLO Fim. TRIPLO <-- NUM2 * 3 A Prof. Me. Francisco Veríssimo Luciano 21/76

22 Nota-se no diagrama acima que foi usada uma representação para declarar as variáveis do algoritmo. Essa prática é recomendada para dar mais clareza ao algoritmo. Veja a seguir a figura (retângulo): Mais um exercício 4) Faça um algoritmo que receba pelo teclado as notas de duas provas, dois trabalhos e uma lista de exercícios. Calcule e mostre a média, sabendo que as provas têm peso 6, os trabalhos, peso 3 e a lista, peso 1. Prof. Me. Francisco Veríssimo Luciano 22/76

23 INICIO A P1, P2, T1, T2, EX, MED MED <-- ((P1*6) + (P2 * 6) + (T1 *3) + (T2*3) + (EX *1))/19 "PROVA 1: " "MÉDIA = ", MED P1 "PROVA 2: " P2 "TRAB 1:" T1 "TRAB 2:" T2 FIM Programa Media_Ponderada P1, P2, T1, T2, EX, MED: Real Início Escreva PROVA 1: Leia P1 Escreva PROVA 2: Leia P2 Escreva TRAB 1: Leia T1 Escreva TRAB 2: Leia T2 Escreva EXERC: Leia EX MED ((P1*6) + (P2*6)+(T1*3)+(T2*3)+(EX*1))/10 Escreva MEDIA =, MED Fim. "EXERC.:" EX A Prof. Me. Francisco Veríssimo Luciano 23/76

24 Exercícios - Programas Seqüenciais 1. Fazer o algoritmo que leia dois números inteiros, calcule e exiba a subtração do primeiro pelo segundo. 2. Fazer o algoritmo que leia dois números inteiros, calcule e exiba a subtração do segundo pelo primeiro. 3. Fazer o algoritmo que leia dois números inteiros, calcule e exiba a multiplicação dos dois números. Reais 4. Fazer o algoritmo que receba duas notas de um aluno e seus respectivos pesos, calcule e exiba a média ponderada dessas notas. MP = (N1 * P1 + N2 * P2) / (P1 + P2) 5. Fazer o algoritmo que leia o valor de um depósito e o valor da taxa de juros. Calcule e exiba o valor do rendimento e o valor total (depósito + rendimento). 6. Fazer o algoritmo que leia um número inteiro, calcule e exiba: a) a raiz quadrada desse número; b) esse número elevado ao quadrado. 7. Fazer o algoritmo que leia o valor do salário de um funcionário e o valor do salário mínimo. Calcule e exiba quantos salário mínimos ganha esse funcionário. 8. Fazer o algoritmo e o programa Pascal que calcule e exiba a área de um triângulo. 9. Fazer o algoritmo que calcule e exiba a área de um quadrado. 10. Fazer o algoritmo que calcule e exiba a área de um círculo. 11. Fazer o algoritmo que calcule e exiba a área de um trapézio. 12. Fazer o algoritmo que calcule e exiba a área de um retângulo. 13. Fazer o algoritmo que calcule e exiba a área de um losango. 14. Fazer o algoritmo que leia o salário de um funcionário, calcule e exiba o valor do imposto de renda a ser pago, sabendo-se que o imposto equivale a 5% do salário. 15. Fazer o algoritmo que leia o salário de um funcionário, calcule e exiba o novo salário, sabendo-se que este sofreu um aumento de 25%. 16. Sabe-se que o quilowatt de energia custa um quinto do salário mínimo. Fazer o algoritmo que leia o valor do salário mínimo e a quantidade de quilowatts gasta por residência. Calcule e exiba: Prof. Me. Francisco Veríssimo Luciano 24/76

25 a) valor, em reais, de cada quilowatt; b) valor, em reais, a ser pago por essa residência; c) novo valor a ser pago por essa residência, a partir de um desconto de 15%. 17. Fazer o algoritmo que leia o peso de uma pessoa em quilograma, um valor inteiro, calcule e exiba: a) peso dessa pessoa em gramas; b) se essa pessoa engordar 15%, qual será seu novo peso em gramas. 18. Fazer o algoritmo que leia a quantidade de litros de uma represa, um valor inteiro, calcule e exiba; a) a quantidade total em litros se ocorrer um aumento de 34% na sua capacidade, após um período de chuvas; b) a quantidade total em mililitros se ocorrer uma redução de 40% na sua capacidade, após um período de seca. 19. Construa o algoritmo que leia dois nºs inteiros, calcule a soma e mostre o resultado. 20. Construa o algoritmo que leia três nºs inteiros, calcule a soma e mostre o resultado. 21. Construa o algoritmo que leia dois números reais, calcule a média aritmética entre eles e mostre o resultado. 22. Construa o algoritmo que leia três nºs reais, calcule a média aritmética entre eles e mostre o resultado. 23. Construa o algoritmo que leia o preço unitário e a quantidade vendida de um produto. Calcule e mostre o valor total vendido. 24. Construa o algoritmo que calcule e mostre a média aritmética entre quatro notas bimestrais quaisquer fornecidas por um aluno. 25. Construa o algoritmo que leia uma temperatura em graus Centígrados e apresentem-na convertida em graus Fahrenheit. A fórmula de conversão é F = (9 * C + 160) / 5. Onde F é a temperatura em Fahrenheit e C é a temperatura em Centígrados. 26. Construa o algoritmo que leia uma temperatura em graus Fahrenheit e apresentem-na convertida em graus Centígrados. A fórmula de conversão é C = (F 32) * (5 / 9). Onde F é a temperatura em Fahrenheit e C é a temperatura em Centígrados. 27. Construa o algoritmo que calcule e apresente o valor do volume de uma lata de óleo, utilizando a fórmula: VOLUME = * (RAIO * RAIO) * ALTURA. 28. Construa o algoritmo e o programa Pascal que efetuem o cálculo da quantidade de litros de combustível gastos em uma viagem, utilizando-se um automóvel que faz 12 km por litro. Para obter o cálculo, o usuário deverá fornecer o tempo gasto na viagem e a velocidade média durante a mesma. Desta forma, será possível obter a distância percorrida com a fórmula DISTÂNCIA = TEMPO * VELOCIDADE. Tendo o valor da distância, basta calcular a quantidade de litros de combustível utilizada na viagem com a fórmula: LITROS_USADOS = DISTÂNCIA / 12. O algoritmo e o programa Pascal deverão apresentar os valores da velocidade média, tempo gasto na viagem, a distância percorrida e a quantidade de litros utilizada na viagem. Bons estudos Prof. Me. Francisco Veríssimo Luciano 25/76

26 Programação condicional ou desvios condicionais A partir daqui você verá algoritmos que trabalharão com situações de desvios condicionais, tomadas de decisões Prof. Me. Francisco Veríssimo Luciano 26/76

27 Operadores Relacionais Operador = Igual a <> Diferente de < Menor que <= Menor ou igual a > Maior que >= Maior ou Igual a Resultado Verdadeiro se os dois operandos para o operador forem iguais. Falso em caso contrário. Verdadeiro se os dois operandos para o operador forem diferentes.falso em caso contrário. Verdadeiro se o operando à esquerda do operador for menor que o operando à direita. Falso em caso contrário. Verdadeiro se o operando à esquerda do operador for menor ou igual o operando à direita. Falso em caso contrário Verdadeiro se o operando à esquerda do operador for maior do que o operando à direita. Falso em caso contrário. Verdadeiro se o operando à esquerda do operador for maior ou igual que o operando à direita. Falso em caso contrário. Estes operadores são fundamentais para que se possa comparar situações e tomar decisões. Dessa forma, a partir da compreensão das funcionalidades desses operadores é possível começar a utilizar um recurso muito importante em programação: os desvios condicionais, que são um tipo de Estrutura de Controle. Os desvios condicionais podem ser simples, compostos ou encadeados, conforme será visto a seguir. Desvio Condicional Simples ( se... então ) O Desvio Condicional Simples testa uma determinada condição através do comando SE e dos operadores relacionais. Caso a resposta à condição seja VERDADEIRA, o programa sairá pelo (ENTÃO), executando a linha de instruções, ou bloco de instruções, que vem logo a seguir (ao ENTÃO). Caso a resposta para a condição seja FALSA, o programa pulará a linha de instruções, ou bloco de instruções, que pertencem ao ENTÃO e continuará sua execução após os mesmos. O Fluxograma (Diagrama de Blocos) pode tornar-se bem mais simplificado usandose o método de Decisão Composta ou seja, Desvio Condicional Composto. Este procedimento será visto no próximo tópico. Procure codificar os programas sempre utilizando a endentação (disposição das linhas com recuos diferentes) pois esta técnica facilita a depuração de eventuais erros de codificação e de lógica, além de facilitar a visualização e testes de mesa. Veja a seguir um exemplo de desvio condicional simples: Leia 2 números inteiros, determinar e exibir o maior deles. Prof. Me. Francisco Veríssimo Luciano 27/76

28 Programa MAIOR_NUM; Var //declaração de variáveis N1, N2 : Inteiro Inicio Escreva 1º número: Leia N1 Escreva 2º número: Leia N2 Se (N1 > N2) então Escreva O maior é o N1:, N1 Fim_se Se (N2 > N1) então Escreva O maior é o N2:, N2 Fim_se Se (N1 = N2) então Escreva Os números são iguais Fim_se Fim Prof. Me. Francisco Veríssimo Luciano 28/76

29 Desvio Condicional Composto ( Se... Então... Senão ) O Desvio Condicional Composto testa uma determinada condição através do comando (SE) e dos operadores relacionais. Caso a resposta à condição proposta seja VERDADEIRO, o programa sairá pelo (ENTÃO), executando a linha de instruções, ou bloco de instruções, que vem logo a seguir. Caso a resposta para a condição seja FALSA, o programa sairá pelo (SENÃO) e executará a linha de instrução, ou bloco de instruções, que vem logo a seguir (ao SENÃO). Após ter executado as instruções do ENTÃO ou do SENÃO, o programa continuará sua execução na linha seguinte aos mesmos. Programa MAIOR_NUM; Var //declaração de variáveis N1, N2 : Inteiro Inicio Escreva 1º número: Leia N1 Escreva 2º número: Leia N2 Se (N1 > N2) então Escreva O maior é o N1:, N1 Senão Escreva N2 é maior ou igual a N1:, N2 Fim_se Fim Prof. Me. Francisco Veríssimo Luciano 29/76

30 Outro exemplo: faça o algoritmo para Ler 2 números inteiros, efetuar e exibir a SOMA dos mesmos, obedecendo aos critérios: a) se a SOMA for maior ou igual a 10, então ao valor da SOMA será adicionado 5; b) caso contrário, do valor da SOMA será subtraído o valor 7. Proposta: Faça o portugol para o exercício Prof. Me. Francisco Veríssimo Luciano 30/76

31 Curso Programador de Sistemas Desvio Condicional Encadeado Existem situações em que necessitamos fazer teste de uma condição dentro de outra, isto é, se uma determinada condição for satisfeita então será feito uma segundo teste, um terceiro, etc... Nesses casos utilizamos o Desvio Condicional Encadeado (ou SE s encadeados, ou Ninho de SE s). No primeiro modelo, se a condição1 for satisfeita, será executada a linha depois do primeiro ENTÃO e o programa continuará. Senão, será testada uma segunda condição, depois do primeiro SENÃO. Se a segunda condição for satisfeita, será executada a linha depois do segundo ENTÃO e o programa continuará. Se a segunda condição também não for satisfeita, será executada a linha depois do segundo SENÃO e o programa continuará. Se (condição1) Então <instruções para condição1 verdadeira> Senão Se (condição2) Então <instruções para condição1 falsa e condição2 verdadeira> Senão <instruções para condições 1 e 2 falsas>; Fim_se Fim_Se No segundo modelo, se a condição1 for satisfeita será testada uma segunda condição, depois do primeiro ENTÃO. Se a segunda condição também for satisfeita, será executada a linha depois do segundo ENTÃO e o programa continuará. Se a primeira condição for satisfeita e a segunda não, o programa executará a linha depois do primeiro SENÃO e continuará. Se a primeira condição não for satisfeita o programa executará a linha depois do segundo SENÃO e continuará, ou seja, não verificará a segunda condição (vide modelo abaixo). Se (condição1) Então Se (condição2) Então <instruções para condições 1 e 2 verdadeiras> Senão <instruções para condição1 verdadeira e condição2 falsa> Fim_se Senão Observações: para condição1 falsa> A <instruções utilização de blocos de instruções é feita como explicado anteriormente; Fim_se Neste caso a condição2 nem será analisada. Prof. Me. Francisco Veríssimo Luciano 31/76

32 Em uma série de comandos SE aninhados, a cláusula SENÃO está ligada ao SE mais próximo no aninhamento. Podemos utilizar vários SE aninhados, combinando os formatos descritos. Veja o exemplo a seguir: Prof. Me. Francisco Veríssimo Luciano 32/76

33 Programa MAIOR_NUM; Var //declaração de variáveis N1, N2 : Inteiro Inicio Escreva 1º número: Leia N1 Escreva 2º número: Leia N2 Se (N1 > N2) então Escreva O maior é o N1:, N1 Senão Se (N1 = N2) então Escreva Os números são iguais Senão Escreva O maior é o N2:, N2 Fim_se Fim_se Fim Outro exemplo: ler 2 números inteiros e mostrá-los em ordem crescente. Se os números lidos forem iguais, mostrar uma mensagem OS NÚMEROS SÃO IGUAIS. Prof. Me. Francisco Veríssimo Luciano 33/76

34 Inicio Leia A, B F A = B V F A < B V Os números são Iguais B,, A A,, B A,, B Fim Program ORDENA Var A, B: Inteiro Inicio Leia A, B Se (A = B) Então Escreva Os números são iguais: Escreva A,, B Senão Se (A < B) Então Escreva A,, B Senão Escreva B,, A Fim_se Fim_se Fim. Prof. Me. Francisco Veríssimo Luciano 34/76

35 Inicio Leia A, B F A = B V F A > B V Os números são X B B A A X A,, B Fim Prof. Me. Francisco Veríssimo Luciano 35/76

36 Curso Programador de Sistemas Programa ORDENA2; Var A, B, X: Inteiro Início Leia A Leia B Se (A = B) Então Escreva Os números são iguais: Senão Se (A > B) Então X B B A A X Fim_se Fim_se Escreva A,, B Fim. Foi empregada acima outra forma de ordenação: método de substituição de valores. Precisamos de uma variável auxiliar (geralmente X ou AUX), que armazena temporariamente os valores trocados, para o sucesso da ordenação Teste de Mesa: teste do programa O Teste de Mesa consiste em adotarmos valores fictícios para as variáveis do programa, como se tivessem sido digitadas, verificando passo a passo o funcionamento do mesmo. Devemos analisar todas as situações possíveis, para eliminarmos eventuais erros de lógica. Se adotarmos os valores para o último programa codificado: A = 15 e B = 7 1. Os números não são iguais, portanto iremos testar se A > B; 2. A é maior que B, então: X = A (ou seja, X passa a ter o valor 15); A = B (ou seja, A passa a ter o valor 7); B = X (ou seja, B passa a ter o valor 15). Prof. Me. Francisco Veríssimo Luciano 36/76

37 3. Assim, logo após a ordenação, os valores serão: A = 7 e B = Os valores são exibidos em ordem crescente. Notas: a) Quando A for menor que B, os valores serão apresentados de acordo com a sua ordem natural de entrada, pois A não será > que B. b) Quando A e B forem iguais, será exibida a mensagem Os números são iguais. Operadores Lógicos (E, OU e NÃO) Operador E Faz com que somente seja executada uma determinada operação se todas as condições mencionadas forem simultaneamente verdadeiras. Ler um número inteiro e informar se o mesmo está entre 20 e 90 ou não. Inicio Leia NUM F NUM >= 20 E NUM <= 90 V O número está fora da faixa de 20 a 90 O número está na faixa de 20 a 90 Fim Prof. Me. Francisco Veríssimo Luciano 37/76

38 Curso Programador de Sistemas Programa TESTA_LOGICA_E Var NUM : Inteiro Inicio Leia NUM Se (NUM >= 20.E. NUM <= 90) Então Escreva O número está na faixa de 20 a 90 Senão Escreva O número está fora da faixa de 20 a 90 Fim_se Fim. Operador OU Utilizado quando pelo menos um dos relacionamentos lógicos de uma condição necessita ser verdadeiro. Ex.: Solicitar a digitação do sexo de uma pessoa e informar se o mesmo existe ou não. Inicio Leia INF F INF = M OU INF = F Sexo inválido V Sexo válido Fim Prof. Me. Francisco Veríssimo Luciano 38/76

39 Curso Programador de Sistemas Program TESTA_LOGICA_OU Var INF : caractere Inicio Leia INF Se (INF = M.OU. INF = F ) Então Escreva Sexo válido Senão Escreva Sexo inválido Fim_se Fim. Operador NÃO Utilizado quando se necessita estabelecer que uma determinada condição deve ser não verdadeira ou deve ser não falsa. Inverte o estado lógico de uma condição. Solicitar a digitação da média de um estudante e verificar: se a média não for maior que 5 informar que o mesmo deverá fazer exame, senão informar que está aprovado. Prof. Me. Francisco Veríssimo Luciano 39/76

40 Programa TESTA_LOGICA_NÃO Var M : Real Inicio Leia M Se NÃO(M > 5) Então Escreva Exame Senão Escreva Aprovado Fim_se Fim. Prof. Me. Francisco Veríssimo Luciano 40/76

41 Exercícios - Programas Condicionais 1. Fazer o algoritmo que leia dois números inteiros distintos e mostrem o maior deles. 2. Fazer o algoritmo que leia dois números inteiros distintos e mostrem o menor deles. 3. Fazer o algoritmo que leia dois números inteiros e mostrem o maior deles. Se os números lidos forem iguais, deverão mostrar a mensagem: Os números digitados são iguais. 4. Fazer o algoritmo que leia dois números inteiros e mostrem o menor deles. Se os números lidos forem iguais, deverão mostrar a mensagem: Os números digitados são iguais". 5. Fazer o algoritmo que leia os quocientes de uma equação do 1 grau, calculem e mostrem a sua raiz. Obs: equação do 1 grau ax + b (a 0). 6. Fazer o algoritmo que leia os quocientes de uma equação do 2 grau, calculem e mostrem as suas raízes. Obs: equação do 2 grau ax 2 + bx + c (a 0). Se o Delta for menor que zero deverão informar que não existem raízes reais. 7. Fazer o algoritmo que leia três valores. Verificar se eles podem ser lados de um triângulo (um lado não pode ser maior que a soma dos outros dois). Em caso afirmativo, informar qual o tipo de triângulo formado escaleno (quando possui todos os lados diferentes), eqüilátero (todos os lados iguais) ou isósceles (dois lados iguais e um diferente)]. Caso não formem um triângulo, informar com a mensagem Não formam um triângulo. 8. Fazer o algoritmo que leia as duas notas de um aluno e calculem a média aritmética. Se a média for maior ou igual a 7,0 o aluno está aprovado. Se a média for menor do que 4,0 o aluno está reprovado. Se o aluno estiver no intervalo de 4,0 a 7,0, ele estará de exame. Informar a média e a situação do aluno após os cálculos. 9. Fazer o algoritmo e o programa Pascal que efetuem o cálculo do reajuste de salário de um funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso o seu salário seja menor que 500,00. Se o salário for maior ou igual a 500,00 mas menor ou igual a 1000,00, o reajuste será de 10%. Caso o salário seja maior que 1000,00, o reajuste será de 5%. Informar no final o novo salário. 10. Fazer o algoritmo que leia três números inteiros distintos e exibam o menor deles. 11. Fazer o algoritmo que leia três números reais distintos e exibam-nos em ordem crescente. 12. Fazer o algoritmo que leia três números inteiros distintos e exibam o maior deles. 13. Fazer o algoritmo que leia três números inteiros distintos e exibam-nos em ordem decrescente. 14. Fazer o algoritmo que leia quatro notas de um aluno, calculem e exibam a média aritmética das notas e a mensagem aprovado, para média superior ou igual a 7,0, ou a mensagem reprovado, para média inferior a 7, Fazer o algoritmo que leia a idade de uma pessoa e exibam uma mensagem de maioridade ou não. 16. Fazer o algoritmo que leia dois números inteiros distintos e exibam o menor deles. Prof. Me. Francisco Veríssimo Luciano 41/76

42 17. Fazer o algoritmo que leia três notas de um aluno. Calculem e exibam a média aritmética entre essas três notas e uma das mensagens da tabela abaixo: Média Mensagem 0 5 reprovado 5 7 exame 7 10 aprovado inclusive exclusive 18. Fazer o algoritmo que leia as 3 notas de um estudante e seus respectivos pesos ( N1: peso 1 - N2: peso 2 N3: peso 2 ). Calculem e exibam a média final (média ponderada) e o conceito final desse estudante. Os conceitos seguem a tabela abaixo: Média final (ponderada) Conceito A B C D < 5.0 E inclusive exclusive 19. Fazer o algoritmo que leia a idade de uma pessoa e classifiquem-na segundo o critério a seguir: Idade Classificação 0 a 2 anos Recém-nascido 3 a 11 anos Criança 12 a 19 anos Adolescente 20 a 60 anos Adulto acima de 60 anos Idoso 20. Fazer o algoritmo que leia o código correspondente ao cargo de um funcionário e exibam o seu cargo e o percentual de aumento ao qual este funcionário tem direito, segundo a tabela abaixo: Código Cargo Percentual 1 Escriturário 50% 2 Secretária 35% 3 Caixa 20% 4 Gerente 10% 5 Diretor 5% 21. Uma companhia de seguros tem três categorias de seguros baseadas na idade e ocupação do segurado. Somente pessoas com pelo menos 18 anos e não mais de 70 anos podem adquirir apólices de seguros. Quanto às classes de ocupações, foram Prof. Me. Francisco Veríssimo Luciano 42/76

43 definidos três grupos de risco. A tabela a seguir fornece as categorias, em função da faixa de idade e do grupo de risco: Idade Grupo de Risco baixo médio alto 18 a a a Fazer o algoritmo que leia a idade e o grupo de risco (b baixo, m médio ou a alto) e determinem e exibam o número do grupo de risco (1 a 9). 22. Fazer o algoritmo e o programa Pascal que recebam a medida de um ângulo em graus (um número inteiro) e determinem e exibam em que quadrante se localiza esse ângulo. Considere os quadrantes abaixo: Ângulo Quadrante quadrante quadrante quadrante quadrante inclusive exclusive 23. Uma empresa decidiu dar uma gratificação de Natal aos seus funcionários, baseada no número de horas-extras e no número de horas que o funcionário faltou ao trabalho. O valor do prêmio é obtido consultando-se a tabela a seguir, em que: H = (número de horas-extras) (2/3 * (números de horas-faltas)) H (minutos) Prêmio ($) > <= inclusive exclusive Fazer o algoritmo que leia o número de horas-extras e o número de horas-faltas de um funcionário, em minutos. Em função desses valores, deverão exibir o número de horasextras e o número de horas-faltas, em horas, e o valor do prêmio. Prof. Me. Francisco Veríssimo Luciano 43/76

44 REVISÃO Vamos fazer agora uma revisão do conceito que acabamos de ver. O assunto estruturas de Controle, chamado de Condicional ou Decisão é muito importante em programação. Portanto, vamos relembrar algumas passagens, para tudo ficar bem claro. Prof. Me. Francisco Veríssimo Luciano 44/76

45 Conforme foi dito anteriormente, uma estrutura de seleção permite a escolha de um conjunto de ações e/ou estruturas que serão executadas a partir do resultado de uma condição (simples, composta ou encadeada), representada por uma expressão lógica. Vale a pena explorar um pouco mais um tipo em particular, de estruturas de decisão. Como também foi citado anteriormente, é necessário o uso dos Operadores relacionais, para serem estabelecidas comparações e/ou testes lógicos: Exemplo de aplicação de operadores relacionais tabela verdade: Tendo duas variáveis A = 5 e B = 3, os resultados das expressões seriam: Além dos operadores relacionais, ao lado, é possível combinar as decisões com outros operadores: os lógicos. Exemplo de aplicação de operadores lógicos tabela verdade mostrada abaixo Exemplo de aplicação de operadores lógicos tabela verdade: Prof. Me. Francisco Veríssimo Luciano 45/76

46 Estrutura de decisão simples: Faça um algoritmo que leia dois valores numéricos, efetue a adição e apresente o seu resultado, somente se o valor somado for maior que 10. INÍCIO N X A, B, C "Digite o 1º valor: " A "Digite o 2º valor: " B X > 10 A + B S Programa Maior_que_10 Var A: inteiro B: inteiro X: inteiro Início Escreva Digite o 1º valor: Leia A Escreva Digite o 2º valor: Leia B X A + B Se (X > 10) então Escreva X Fim_se Fim. X FIM Prof. Me. Francisco Veríssimo Luciano 46/76

47 Estrutura de decisão composta: Se (condição) então Instruções para condição seja verdadeira Senão Instruções para a condição seja falsa Fim_se Se (sexo = M ) então Escreva Masculino Senão Escreva Feminino Fim_se Exercício: Faça um algoritmo que leia dois valores numéricos e efetue a adição. Se a soma for maior ou igual a 10, uma variável de resultado R receberá X + 5, caso contrário a variável R receberá X 5. N R X - 5 X INÍCIO A, B, C "Digite o 1º valor: " A "Digite o 2º valor: " B A + B X >= 10 S R X + 5 Programa Maior_igual_10 Var A, B, X, R: inteiro Início Escreva Digite o 1º valor: Leia A Escreva Digite o 2º valor: Leia B X A + B Se (X >= 10) então R X + 5 Senão R X - 5 Fim_se Escreva Resultado =, R Fim. "Resultado = ", R Prof. Me. Francisco Veríssimo Luciano 47/76

48 Outro exercício: Verificar uma variável Sexo digitada Estrutura de decisão encadeada (Se s aninhados): Nestas estruturas de decisão tem-se uma ou mais decisões que estão subordinadas a uma primeira. Dessa forma, no exemplo abaixo, a segunda condição será testada apenas se a primeira condição for verdadeira. Prof. Me. Francisco Veríssimo Luciano 48/76

49 Se (1ª condição) então Instruções para 1ª condição verdadeira Senão Se (2ª condição) então Instruções para a 2ª condição verdadeira Senão Instruções para a 2ª condição falsa Fim_se Fim_se Veja exemplo: Se (sexo = M ) então Escreva Masculino Senão Se (sexo = F ) então Escreva Feminino Senão Escreva Letra Inválida Fim_se Fim_se Exercício: Receber duas notas e calcular a média aritmética e mostrar o resultado: Prof. Me. Francisco Veríssimo Luciano 49/76

50 INÍCIO N "Exame" MED< 4 N N1, N2, MED "Digite 1ª nota: " N1 "Digite 2ª nota: " N2 MED (N1+N2)/2 MED >= 7 S "Reprovado" S "Aprovado" Programa Media_aritmetica Var N1, N2, MED: real Início Escreva Digite a 1ª nota: Leia N1 Escreva Digite a 21ª nota: Leia N2 MED (N1+ N2)/2 Se (MED >= 7) então Escreva Aprovado Senão Se (MED < 4) então Escreva Reprovado Senão Escreva Exame Fim_se Fim_se Fim. FIM Ex.: Fazer um algoritmo que ao receber o salário atual de um funcionário, calcule o valor do novo salário reajustado de acordo com a tabela abaixo: Prof. Me. Francisco Veríssimo Luciano 50/76

51 NOVO_SAL SAL * 1.05 N INÍCIO SAL, NOVO_SAL "Salario Atual: " SAL SAL < = 500 N SAL < = S NOVO_SAL 1000 SAL * 1.15 NOVO_SAL SAL * 1.10 S Programa Novo_Salario Var SAL, NOVO_SAL: real Início Escreva Salário Atual: Leia SAL Se (SAL < = 500) então NOVO_SAL SAL * 1.15 Senão Se (SAL < = 1000) então NOVO_SAL SAL * 1.10 Senão NOVO_SAL SAL * 1.05 Fim_se Fim_se Escreva Novo Salário:, NOVO_SAL Fim. "Novo Salario: ", NOVO_SAL FIM Prof. Me. Francisco Veríssimo Luciano 51/76

52 A seguir, um algoritmo que mostra a solução de um problema de verificação de SEXO com estrutura encadeada, com 3 possibilidades: Prof. Me. Francisco Veríssimo Luciano 52/76

53 Exercícios: 1) O critério de avaliação semestral de determinada Faculdade segue a regra: P1 primeira avaliação do semestre. P2 segunda avaliação do semestre. Ativ nota atribuída pelas atividades realizadas no semestre. Média = P1 x 4 + P2 x 4 + Ativ x 2 10 Faça um algoritmo que leia as notas das provas (P1 e P2) e da atividade (Ativ), calcule e mostre a média, seguindo o cálculo acima e o resultado de acordo com a tabela: Prof. Me. Francisco Veríssimo Luciano 53/76

54 2) Uma Universidade tem problemas com arredondamento das médias dos alunos, pois cada professor estipula um critério de arredondamento. Devemos elaborar um algoritmo, para a secretaria da Universidade, resolvendo esse problema. O programa deve solicitar uma nota e fazer o devido ao arredondamento. Regras: Notas que ultrapassem 0,5 de resto serão arredondas para CIMA. Ex: 4,6 5,0 Notas que abaixo ou igual a 0,5 de resto serão arredondas para BAIXO. Ex: 4,5 4,0 3) Faça um algoritmo que leia 4 números e imprima: O maior número; O menor número; O número do meio. 4) Um pediatra elaborou uma lista com pesos prováveis para meninos e meninas entre 1 e 3 anos e, freqüentemente, precisa consultar a lista. Escreva um algoritmo que, dada a idade de uma criança de 1 a 3 anos, mostre na tela os pesos prováveis para meninos e meninas da mesma idade, seguindo a tabela: dade Meninos Meninas 1 ano De 8.5 kg a 12.5kg De 7.5kg a 11.5kg 2 anos De 10.1 kg a 15.2kg De 9.8kg a 14.5kg 3 anos De 11.7 kg a 18 kg De 11.4kg a kg Exemplo: Escolha uma idade de 1 a 3 anos: 2 Pesos Prováveis: Meninos Pesos Prováveis: Meninas De 10.1 kg a 15.2kg De 9.8kg a 14.5kg 5) Desenvolva um algoritmo que atenda à seguinte necessidade: uma cooperativa de leite paga, a cada um de seus produtores cooperados, por volume de leite entregue diariamente. Devido à grande quantidade de fraudes (adicionamento de água ao leite, por exemplo) e erros na leitura do volume dos tarros de leite, a cooperativa começará a pagá-los por massa. Para isso comprou uma balança e um densímetro e necessitará de um programa para cálculo. Na balança serão jogados e misturados os conteúdos de todos os tarros de leite de um determinado produtor. A balança informará a massa e o densímetro a densidade. O programa receberá, via teclado, esses dois dados mais o preço por kg de leite vigente naquele dia. Após isto, o programa deverá apresentar em tela: 1)Os valores digitados; 2)O volume de leite calculado (volume = massa / densidade); 3)O valor em Reais a ser pago a aquele cooperado; 4)Classificar o leite do cooperado dentro de uma das 3 faixas de densidade existentes: Prof. Me. Francisco Veríssimo Luciano 54/76

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

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

EXERCÍCIOS. 2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos números lidos.

EXERCÍCIOS. 2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos números lidos. EXERCÍCIOS 1. Faça um algoritmo que receba dois números e exiba o resultado da sua soma. 2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos

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

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

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

Leia mais

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

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

Leia mais

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

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

Leia mais

Algoritmos 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

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

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

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

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

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

Algoritmo e Programação

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

Leia mais

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

1.1. Organização de um Sistema Computacional

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

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

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

Leia mais

CAPÍTULO 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

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

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

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

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

Leia mais

Algoritmos 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 Linguagens de Programação

Algoritmos e Linguagens de Programação Estrutura Sequencial Lista de Exercícios 01 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior IMPORTANTE: Lembre-se! As respostas apresentadas a seguir não são únicas. Ou seja, existem

Leia mais

Estruturas de Controle A Tomada de Decisões

Estruturas de Controle A Tomada de Decisões Estruturas de Controle A Tomada de Decisões Foi visto anteriormente como trabalhar com entrada, processamento e saída utilizando variáveis, constantes e operadores aritméticos. Apesar de já se conseguir

Leia mais

Lista de Exercícios 03b Algoritmos Repetição

Lista de Exercícios 03b Algoritmos Repetição Lista de Exercícios 03b Algoritmos Repetição (enquanto... faça:... fim-enquanto) (faça:... enquanto) 61) Escreva um algoritmo em PORTUGOL que receba números do usuário e imprima o triplo de cada número.

Leia mais

Lógica de Programação

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

Leia mais

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

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. Prof. Tarcio Carvalho

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

Leia mais

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

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

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

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

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

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

10/02/2015. As linguagens. Algoritmos e Lógica de programação. Os produtos. Os ingredientes. Introdução. Atuais:.Net Java Delphi PHP

10/02/2015. As linguagens. Algoritmos e Lógica de programação. Os produtos. Os ingredientes. Introdução. Atuais:.Net Java Delphi PHP s e Lógica de programação Introdução Atuais:.Net Java Delphi PHP Anteriores: Dbase Clipper VB6 As linguagens Ruby on Rails Python / Perl Objective-C Android (Java) Outras: PL/SQL T-SQL ADVPL Html5 C++

Leia mais

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

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

Leia mais

Introdução aos cálculos de datas

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

Leia mais

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

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

Leia mais

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

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

Leia mais

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

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

Lista de Exercícios 03b Repetição. 63) Escreva um programa que receba números do usuário enquanto eles forem positivos e

Lista de Exercícios 03b Repetição. 63) Escreva um programa que receba números do usuário enquanto eles forem positivos e Lista de Exercícios 03b Repetição 61) Escreva um programa que receba números do usuário e imprima o triplo de cada número. O programa deve encerrar quando o número 999 for digitado. 62) Escreva um programa

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

2ª Lista de exercícios

2ª Lista de exercícios 2ª Lista de exercícios NOTA: Por favor tente resolver todos os exercícios sozinho, caso tente e não consiga entre em contato no email: suporte@mjailton.com.br. Após a resolução envie as respostas para

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

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

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

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

Leia mais

ICC Introdução para JavaScript

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

Leia mais

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

Lógica de Programação

Lógica de Programação Lógica de Programação O que é lógica? Conjunto de regras e princípios que orientam, implícita ou explicitamente, o desenvolvimento de uma argumentação ou de um raciocínio, a resolução de um problema, etc.

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

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

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

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

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

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

BC0501 Linguagens de Programação

BC0501 Linguagens de Programação BC0501 Linguagens de Programação Aula Prática: 03 Assunto: Comandos de Seleção 1. Introdução Um comando de seleção define uma condição em um programa, que permite que grupos de comandos sejam executados

Leia mais

Lista de Exercícios. Vetores

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

Leia mais

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

Programação Estruturada Linguagem C

Programação Estruturada Linguagem C 2007 Programação Estruturada Linguagem C Fluxogramas Francisco Tesifom Munhoz CONTEÚDO Fluxograma... 3 Etapas para criação de um fluxograma:... 3 Símbolos utilizados para a construção do fluxograma:...

Leia mais

Algoritmos e Programação Parte Teórica

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

Leia mais

I Lista de Exercícios

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

Leia mais

Introdução à Lógica de Programação (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

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

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Aulas 2-3-4-5-6-7-8 Lógica Algoritmos Portugol

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

Trabalho de laboratório Avaliação semestral Exame final MÉDIA PONDERADA CONCEITO

Trabalho de laboratório Avaliação semestral Exame final MÉDIA PONDERADA CONCEITO Exercícios de Seletores (estrutura condicional) Exercício 1. [ASCENCIO] A nota final de um estudante é calculada a partir de três notas atribuídas, respectivamente, a um trabalho de laboratório, a uma

Leia mais

CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO

CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO 6.1 - INTRODUÇÃO CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO Existem problemas que podem ter mais de um caminho a ser seguido para seleção correta, ou existem restrições em suas soluções. O sujeito que irá executar

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação ESCOLA Lógica de Programação 1 Escola Alcides Maya - Primeiro Módulo Sumário Lógica de Programação 1 INTRODUÇÃO... 4 1.1 Definições básicas... 4 1.2 Necessidade do uso da lógica...

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Professor Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br http://professor.ifsertao-pe.edu.br/nicolas.trigo/ EMENTA Programação Estruturada 2 1 CONTEÚDO Introdução

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

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

CURSO DE INFORMÁTICA. Algoritmos. Parte 4. Ricardo José Cabeça de Souza

CURSO DE INFORMÁTICA. Algoritmos. Parte 4. Ricardo José Cabeça de Souza CURSO DE INFORMÁTICA Algoritmos Ricardo José Cabeça de Souza Parte 4 Sumário UNIDADE I - ALGORITMOS 1.8 AVALIAÇÃO DE APRENDIZAGEM 1.9 EXERCÍCIOS RESOLVIDOS 1.10 AVALIAÇÃO DE APRENDIZAGEM 1.11 SÍNTESE DA

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

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

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação 1 Algoritmo Prof. Anderson Almeida Ferreira Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação Desenvolvimento de programas 2 Análise do problema Desenvolvimento

Leia mais

Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes

Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes Pág 4 Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes 1 APRESENTAÇÃO DA UNIDADE CURRICULAR A unidade curricular de Lógica para a programação tem como objetivo promover o estudo dos principais

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

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

Aula 3 Desvio Condicional

Aula 3 Desvio Condicional Aula 3 Desvio Condicional ROTEIRO DA AULA Desvio Condicional Simples Desvio Condicional Composto Desevio Condicional Aninhado Desvio Condicional em JAVA 2 DESVIO CONDICIONAL Um desvio condicional é usado

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

Excel Planilhas Eletrônicas

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

Leia mais

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. Visão Geral do Sistema Prof. Raul Sidnei Wazlawick UFSC-CTC-INE 2010 Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. A fase de concepção do UP consiste

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

3. O NIVEL DA LINGUAGEM DE MONTAGEM

3. O NIVEL DA LINGUAGEM DE MONTAGEM 3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Revisão Aula Anterior Estruturas de Decisão (If e Switch)

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Revisão Aula Anterior Estruturas de Decisão (If e Switch) CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 Revisão Aula Anterior Estruturas de Decisão (If e Switch) Revisão Comandos básicos no terminal: Para verificar os arquivos que estão em uma pasta usa-se ls: Para acessar

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

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

Matemática Financeira Módulo 2

Matemática Financeira Módulo 2 Fundamentos da Matemática O objetivo deste módulo consiste em apresentar breve revisão das regras e conceitos principais de matemática. Embora planilhas e calculadoras financeiras tenham facilitado grandemente

Leia mais

Lógica. Everson Santos Araujo everson@por.com.br

Lógica. Everson Santos Araujo everson@por.com.br Lógica Everson Santos Araujo everson@por.com.br Conceitos Coerência de raciocínio, de idéias, ou ainda a sequência coerente, regular e necessária de acontecimentos, de coisas Dicionário Aurélio 2 Conceitos

Leia mais

Introdução à Programação de Computadores

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

Leia mais

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

Programação: Estruturas de seleção

Programação: Estruturas de seleção Programação de Computadores I Aula 07 Programação: Estruturas de seleção José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/53 Valores booleanos Os valores booleanos

Leia mais

Roteiro do Programa e Entrada/Saída

Roteiro do Programa e Entrada/Saída Roteiro do Programa e Entrada/Saída c Professores de ALPRO I Faculdade de Informática PUCRS 03/2012 ALPRO I (FACIN) Roteiro do Programa e E/S 03/2012 1 / 32 Sumário 1 Relembrando 2 Programa Definição de

Leia mais

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

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

Leia mais

Algoritmos e Pseudocódigo

Algoritmos e Pseudocódigo Algoritmos e Pseudocódigo INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 algoritmos e pseudocódigo tópicos algoritmo definições representação e resolução de problemas representação

Leia mais

Organização e Arquitetura de Computadores I

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

Leia mais

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