Tubarão / Santa Catarina / BRAZIL

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

Download "Tubarão / Santa Catarina / BRAZIL E-Mail : osmarjr@unisul.rct-sc.br http://tec1.unisul.rct-sc.br/osmarjr/"

Transcrição

1 Tubarão / Santa Catarina / BRAZIL

2 Índice 1. Algoritmos 3 2. Fases de um Algoritmos 4 3. Estrutura de Algoritmos 5 4. Variáveis Formação de Variáveis Conteúdo de uma Variável Tipos de Variáveis 7 5. Tipos de Dados 8 6. Definição de Variáveis Comando de atribuição Variáveis do tipo CHAR(Caracter) e STRING(Cadeia) Operadores Operadores matemáticos Operadores Lógicos Comandos de Entrada e Saída Processos de Repetição e Seleção Estrutura de Repetição ENQUANTO-FAÇA (WHILE DO) Estrutura de repetição REPITA-ATÉ ( Repeat Until) Estrutura de repetição PARA-FAÇA (FOR... TO... DO) Estrutura de seleção Estrutura SE ENTÃO SENÃO (IF THEN ELSE) Estrutura CASE Variáveis Compostas Homogêneas Variáveis Indexadas Uni Dimensionais(Vetores) Variáveis Indexadas Bidimensionais(Matrizes) Funções pré-definidas do Pascal Descrição das Funções/Rotinas: Problemas Resolvidos em Algoritmos, Pascal e C Algoritmo do Triangulo Algoritmo Preco Automóvel Algoritmo Media Valor Algoritmo 3 Menores Algoritmo Media Maior que Algoritmo Salário Algoritmo 50 Triangulos 55 1

3 13.8 Algoritmo Media Menores 56 2

4 1. Algoritmos Algoritmo não é a solução de um problema, pois, se assim fosse, cada problema teria um único algoritmo. Algoritmo é um caminho para a solução de um problema, e em geral, os caminhos que levam a uma solução são muitas. O aprendizado de algoritmos não se consegue a não ser através de muitos exercícios. Algoritmos não se aprende: - Copiando Algoritmos - Estudando Algoritmos Algoritmos só se aprendem: - Construindo Algoritmos - Testando Algoritmos 3

5 2. Fases de um Algoritmos Quando temos um problema e vamos utilizar um computador para resolve-lo inevitavelmente temos que passar pelas seguintes etapas: a) Definir o problema. b) Realizar um estudo da situação atual e verificar quais a(s) forma(s) de resolver o problema. c) Terminada a fase de estudo, utilizar uma linguagem de programação para escrever o programa que deverá a princípio, resolver o problema. d) Analisar junto aos usuários se o problema foi resolvido. Se a solução não foi encontrada, deverá ser retornado para a fase de estudo para descobrir onde está 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 as etapas de estudo, também chamada de análise, e a etapa de programação. Mas antes vamos definir o seguinte conceito: Programar um computador consiste em elaborar um conjunto finito de instruções, reconhecidas pela máquina, de forma que o computador execute estas instruções. Estas instruções possuem regras e uma Sintaxe própria, como uma linguagem tipo português ou inglês, sendo isto chamadas de linguagem de computador. No mundo computacional existe uma grande variedade de linguagens Pascal, C, C++, Cobol, Fortran, etc. Nós iremos enfocar uma delas, o Pascal. 4

6 3. Estrutura de Algoritmos Antes de utilizarmos uma linguagem de computador, é necessário organizar as ações a serem tomadas pela máquina de forma organizada e lógica, sem nos atermos as regras rígidas da Sintaxe de uma linguagem. Para isto utilizaremos uma forma de escrever tais ações, conhecida como algoritmo, ou pseudo-código. Conceituando: Algoritmo consiste em um conjunto lógico e finito de ações ( instruções ) que resolvem um determinado problema. Os algoritmos terão a seguinte estrutura: Em Pascal ficaria da seguinte forma: ALGORITMO <Nome do algoritmo> <definições> INÍCIO <Comandos> FIM PROGRAM <Nome do programa>; <definições> <Comandos>; 5

7 4. Variáveis O computador possui uma área de armazenamento conhecida como memória. Todas as informações existentes no computador estão ou na memória primária ( memória RAM ), ou na memória secundária ( 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 ( memória de acesso aleatório ). 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 número, uma letra, uma palavra, uma frase etc, não importa, basta saber que lá sempre existe alguma informação. O computador, para poder trabalhar como alguma 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 segue 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 computador facilitaram o manuseio, por parte dos usuários, 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. Tais nomes seriam 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 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, 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 de uma destas caixas ( endereço lógico ) 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. Desta forma podemos dizer 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. 6

8 4.1 Formação de Variáveis Uma variável é formado por uma letra ou então por uma letra seguida de letras ou dígitos, em qualquer número. Não é permitido o uso de espaços em branco ou de qualquer outro caractere, que não seja letra ou dígito, na formação de um identificador. Na formação do nome da variável de um nome significativo, para que se possa ter idéia do seu conteúdo sem abri-lá. Se utilizar palavras para compor o nome da variável utilize o _ underline para separar as palavras. 4.2 Conteúdo de uma Variável Dados - Elementos conhecidos de um problema Informação - Um conjunto estruturado de dados, transmitido conhecimento 4.3 Tipos de Variáveis Considere a fórmula matemática simples do calculo do volume de uma esfera: V = 4 π R 3 3 onde se encontram: 1- valores que podem ser classificados como: a) valores constantes, invariantes em todas as aplicações da fórmula, no caso dos valores 4, 3 e π aos denomina-se constantes; b) valores a serem substituídos na fórmula, em cada aplicação; a representação destes valores, usualmente é feita através de letras, que recebem o nome de variáveis e tornam a fórmula genérica, possível de ser aplicada para resolver uma certa classe de problemas e não apenas um problema específico. 2 - Operações a serem feitas sobre determinados operandos (Valores), para a obtenção da solução do problema. 7

9 5. Tipos de Dados O Pascal exige que no momento que formos trabalhar com variáveis, indiquemos o tipo de informação que uma variável pode conter, isto é, se uma dada posição de memória armazenará um número ou uma letra etc. Para isto, a linguagem Pascal possui definido alguns tipos que deverão ser usados quando formos trabalhar com variáveis. Alguns tipos são: Algoritmo Pascal Descrição a) Inteiro a) INTEGER: Representa números entre até ocupa 2 bytes na memória. b) Real b) REAL: Representa os números entre 2.9 x até 1.7 x Ocupa 6 bytes na memória. e) Caracter e) CHAR: Representa um dos caracteres, da tabela ASCII. Ocupa 1 byte na memória. d) Cadeia f) STRING: Conjunto de caracteres ( CHAR ). Ocupa de 1 a 255 bytes na memória. g) Lógica g) BOOLEAN: Valor lógico. Assuma somente dois valores: TRUE(Verdade) ou FALSE(Falso). ocupa 1 byte na memória. c) WORD: Números de 0 até Ocupa 2 bytes na memória. d) BYTE: Números de 0 até 255. Ocupa 1 byte na memória. h) Shor Int Representa os números entre -128 até 128. Ocupa 1 bytes na memória. i) LongInt Representa os números entre até Ocupa 4 bytes na memória. j) Single Representa os números entre 1.5 x até 3.4 x Ocupa 4 bytes na memória. l) Double Representa os números entre 5 x até 1.7 x Ocupa 8 bytes na memória. Iremos gradativamente trabalhar com cada um destes tipos e mostrar as suas características. 8

10 6. Definição de Variáveis Para definir uma ou mais variáveis, devemos utilizar, em Pascal, a palavra. Para manter uma compatibilidade, utilizaremos a mesma nomenclatura em nossos algoritmos. Abaixo segue Exemplo de algumas definições de variáveis: a) ALGORITMO Teste IÁVEIS Palavra : CADEIA Palavra: String; INICIO <comandos> <comandos>; FIM b) ALGORITMO Teste IÁVEIS Letra, Caracter: CARACTER Letra, Caracter: CHAR; INICIO <comandos> <comandos>; FIM c) ALGORITMO Teste IÁVEIS Letra, Caracter: CARACTER Letra, Caracter: CHAR; Número: INTEIRO Número: INTEGER; INICIO <comandos> <comandos>; FIM Obs.: Os nomes dados as variáveis não podem ser os mesmos nomes de palavras reservadas do Pascal, tais como PROGRAM,, END, VER, etc 6.1 Comando 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, consequentemente colocado este dado na memória do computador, é através da atribuição direta, do valor desejado que a variável armazena. Para isto utilizaremos o símbolo ( : = (Pascal), (Algoritmo) ), que significa: recebe, ou seja, a posição, de memória que uma variável representa, receberá uma informação, a qual será armazenada no interior desta variável. ALGORITMO Teste IÁVEIS Número: INTEIRO Número: INTEGER; INICIO Número 10 Número: =10; FIM O Exemplo acima nos informa que: 9

11 a) Foi definido uma variável, a qual demos o Nome de Número, 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 Número o valor 10 A memória se comportaria da seguinte forma, de acordo com os itens acima: a) Variável Conteúdo Número indefinido b) Variável Conteúdo Número Variáveis do tipo CHAR(Caracter) 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 Uso das aspas ( ) Quando estivermos fazendo a atribuição de um valor para uma variável do tipo CHAR (Caracter) ou STRING (Cadeia), temos que ter o cuidado de colocar o valor ( dado ) entre aspas ( ), pois esta é a forma de informar que a informação é caracter. ALGORITMO Teste IÁVEIS Letra : CARACTER Nome : CADEIA INICIO Letra A Nome João FIM 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 caracter que se deseja manipular entre os colchetes. Atribuir o primeiro caracter de uma STRING a uma variável do tipo CHAR. ALGORITMO AtribuiString; IÁVEIS letra : CARACTER Nome : CADEIA INICIO Nome Joao letra Nome[1] FIM Quando definimos uma variável como sendo do tipo STRING não estamos alocando 1 posição de memória apenas ( uma caixa, pela analogia inicial ), mas na verdade, estamos alocando até 255 caixas, 10

12 uma para cada caracter da STRING ( lembre-se que uma STRING pode ter no máximo 255 caracteres ). Ao utilizarmos o símbolo de colchete, estamos na verdade indicando qual o caracter ( qual a caixa ) desejamos manipular. De acordo com o Exemplo acima, teríamos na memória a seguinte situação: a) Alocamos 255 bytes ( caracteres ) na memória. A estas posições de memória é dado o Nome de Nome. Inicialmente estas posições de memória ( Caixas ) possuem o conteúdo indefinido. b) Alocamos 1 byte ( caracter ) na memória. A este caracter é dado o Nome de Letra. Inicialmente esta posição de memória possuí o conteúdo indefinido. c) Na memória temos a seguinte situação: Nome Letra d) Atribuímos a variável Nome o valor João, obtendo na memória a seguinte configuração Nome J o a o e) Atribuímos a variável Letra o primeiro caracter da variável Nome, ou seja, o conteúdo da primeira posição de memória ( caixa ). Na memória teremos a seguinte configuração: Nome J o a o Letra J Obs.: É possível definir variáveis do tipo STRING(Cadeia) com menos de 255 caracteres. Para isto, basta colocar, após a palavra STRING(Cadeia), o número de caracteres desejados entre colchetes ( [ ] ). ALGORITMO Define IÁVEIS Nome: CADEIA[80] INICIO FIM Desta forma, o espaço ocupado por uma variável STRING(Cadeia) passa de 255 bytes para apenas 80 bytes, na memória. 11

13 6.2.3 Exercícios 0: 1) Dar o tipo de cada uma das constantes a) 613 b) 613,0 c) -613 d) 613 e) -3,012 * f) 17*10 12 g) -28,3 * h) Fim de Questão 2) Faça um PROGRAMA para atribuir a variáveis as seguintes informações: a) b) c) d) 10 e) VERDADE f) ) No seguinte PROGRAMA existe algum erro? Onde? ALGORITMO Teste IÁVEIS Maria : CADEIA idade : INTEIRO letra : CARACTER Maria : REAL INICIO idade 23 idade 678 idade letra letra ABC letra A letra 2 FIM 4) Qual a diferença existente nas seguintes atribuições? a) Letra A Nome João b) Letra A Nome João 5) É correto definir uma variável como sendo Caracter e atribuirmos a ela o valor: PEDRO? E se a variável fosse definida como CADEIA, a mesma poderia receber um valor do tipo CARACTER? 12

14 7. Operadores 7.1 Operadores matemáticos Os operadores matemáticos são os seguintes: a) Adição : + b) Subtração : - c) Multiplicação : * d) Divisão : / e) Divisão inteira : DIV (QUOCIENTE) f) Resto da divisão : MOD (RESTO) g) Exponenciação : ** h) Diferença : <> i) Menor Igual : <= j) Maior Igual : >= 7.2 Operadores Lógicos Os operadores lógicos, realizam as operações da álgebra booleana. Os operadores são os seguintes: a) AND (E) b) OR (OU) c) NOT (NÃO) d) XOR (NÃO OU) a) Operador AND: TRUE AND TRUE TRUE AND FALSE FALSE AND TRUE FALSE AND FALSE => TRUE => FALSE => FALSE => FALSE b) Operador OR: TRUE OR TRUE TRUE OR FALSE FALSE OR TRUE FALSE OR FALSE => TRUE => TRUE => TRUE => FALSE c) Operador NOT: NOT TRUE NOT FALSE => FALSE => TRUE 13

15 d) Operador XOR: TRUE XOR TRUE TRUE XOR FALSE FALSE XOR TRUE FALSE XOR FALSE => FALSE => TRUE => TRUE => FALSE Exercícios 1 : 1) indique qual o resultado será obtido das seguintes expressões: a) 1 / 2 b) 1 DIV 2 c) 1 MOD 2 d) ( 200 DIV 10 ) MOD 4 e) 5**2 + 3 f) g) 3,0* 5,0 +1 h) 1/4+2 i) 29,0/7+4 j) 3/6,0-7 2) Indique o resultado das seguintes expressões: a) 2 > 3 b) ( 6 < 8 ) OR ( 3 > 7 ) c) ((( 10 DIV 2 ) MOD 6 ) > 5 ) XOR ( 3 < ( 2 MOD 2 ) ) d) NOT ( 2 < 3 ) 3) Escreva o comando de atribuição e resolva a expressão das seguintes formulas matemáticas. a) X = A + B C D E F onde A= 2, B= 6, C = 3, D=4, E=8, F=4 b) Y = ( X + ) 2 1 2X 3X X X X 2 onde X = 2 4) Construa o algoritmo que calcule as seguintes expressões: a) * { [ { ( 123 / 34 ) + 10 } / 2-1 * ( ) ] / 3 } b) [ ( 2 * 3 ) ^2-1 ] ^ 4 c) ( 2 + [ 2 * 3 - ( 4 / 20 ) ^ 2 ] )/ (10 * { [ ( 7 * 3 ) - 2 ] ^ 3 }) 5) Escreva os comandos de atribuição para as seguintes fórmulas matemáticas. a) X = 2B 4A + 2F 3 2A 3 14

16 45 3X b) Y = 2H 4H( 3 H) 2H c) X = ( a b) + ( e + f ) ( c d) + ( g + h) * i j Obs.: O operador + caso seja usado entre variáveis do tipo CHAR ou STRING, causará uma ação conhecida por concatenação, ou seja, juntar os caracteres ou STRING s usados na operação em uma só STRING. ALGORITMO Concatena IÁVEIS Letra1, Letra2 : CARACTER Nome1, Nome2, Nome : CADEIA INICIO Letra1 D Letra2 a Nome1 Joao Nome2 Silva Nome Nome1 + Letra1 + Letra2 + Nome2 FIM As instruções acima resultarão no armazenamento do Nome João Da Silva na variável rotulada de Nome. 15

17 8. Comandos de Entrada e Saída O computador não é uma máquina isolada, pois ele precisa se comunicar com o mundo exterior com vídeo, impressora, teclado, discos, fitas etc. Para realizar esta comunicação existem comandos que permitem que informações sejam exibidas, por Exemplo, no vídeo, como também existem comandos que permitem que informações sejam colocadas na memória do computador através do teclado do PC. Os comandos que iremos ver são os comandos LEIA e ESCREVA, respectivamente, comando de entrada e de Saída ( em Pascal escreve-se READ e WRITE ). Exemplo 1: Escrever um algoritmo para ler um valor numérico do teclado e atribuí-lo a uma variável do tipo numérica. ALGORITMO LeNúmero IÁVEIS Num : INTEIRO INICIO LEIA(Num) FIM O algoritmo acima, executará os seguintes comandos: a) Define uma variável rotulada Num, a qual só poderá armazenar dados numéricos, que estejam compreendidos entre a ( INTEIRO ), sendo que inicialmente o conteúdo desta variável está indefinido. b) interrompe o processamento até que uma informação seja digitada, seguida do pressionamento da tecla ENTER. Caso a informação seja digitada seja compatível com o tipo INTEGER (INTEIRO), este valor será armazenado dentro da variável Num. Exemplo 2: Fazer um algoritmo para escrever no vídeo do PC uma mensagem qualquer. ALGORITMO EscreveMsg INICIO ESCREVA ( Alo Mundo ) FIM Obs.: A mensagem está entre aspas porque representa uma cadeia de caracteres. É perfeitamente possível mandar escrever o conteúdo de variáveis no vídeo. Desta forma, o Exemplo acima poderia ser escrito do seguinte modo: ALGORITMO EscreveMsg IÁVEIS Msg: : CADEIA INICIO Msg Alo Mundo ESCREVA (Msg) FIM Obs.: Em Pascal, o Exemplo ficaria como é mostrado abaixo PROGRAM EscreveMsg; 16

18 Msg : STRING; Msg : = Alo Mundo ; WRITE (Msg); Obs.: Em Pascal, quando usamos os comandos READ e WRITE, o cursor continuará posicionado na mesma linha. Para evitar tal situação, devemos pular para nova linha. Isto é obtido acrescentando as letras LN ( de LINE NEW, ou seja, linha nova ) no final dos comandos READ e WRITE. Desta forma os comandos terão a seguinte grafia: READLN e WRITELN Exercícios 2: 1) Faça um algoritmo para ler as seguintes informações de uma pessoa: Nome, Idade, Sexo, Peso, Altura, Profissão, Rua, Bairro, Cidade, Estado, CEP, Telefone. 2) Dado as seguintes informações de um funcionário: Nome, idade cargo e o seu salário bruto considere: a) O salário bruto teve um reajuste de 38%. b) O funcionário receberá uma gratificação de 20% do salário bruto. c) O Salário total é descontado em 15% Faça um algoritmo e um algoritmo para: Imprimir Nome, idade e cargo. Imprimir o salário bruto. Imprimir o salário líquido. 3) Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo. Obs.: Área = ( Base * Altura ) / 2 4) Faça um algoritmo para: a) Ler uma CADEIA em forma de data. Exemplo : 26/09/95 b) escrever o dia, mês e ano desta data. 5) Uma empresa tem para um determinado funcionário uma ficha contendo o nome, número de horas trabalhadas e o n 0 de dependentes de um funcionário. Considerando que: a) A empresa paga 12 reais por hora e 40 reais por dependentes. b) Sobre o salário são feito descontos de 8,5% para o INSS e 5% para IR. Faça um algoritmo para ler o Nome, número de horas trabalhadas e número de dependentes de um funcionário. Após a leitura, escreva qual o Nome, salário bruto, os valores descontados para cada tipo de imposto e finalmente qual o salário líquido do funcionário. 6) Faça um algoritmo que calcule a média aritmética de 4 valores inteiros. 7) O preço de um automóvel é calculado pela soma do preço de fábrica com 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. 17

19 9. Processos de Repetição e Seleção 9.1 Estrutura de Repetição ENQUANTO-FAÇA (WHILE DO) a) ALGORITMO b) PASCAL ALGORITMO ExEnquanto ENQUANTO <Condição for verdadeira> FAÇA <Comandos> FIM ENQUANTO PROGRAM ExEnquanto; WHILE <Condição for verdadeira> DO <Comandos>; Exemplo : Faça um algoritmo para ler e escrever o Nome de 20 pessoas. ALGORITMO LeEscreve IÁVEIS Nome : CADEIA Total : INTEIRO INICIO Total 0 ENQUANTO Total<20 FACA LEIA(Nome) ESCREVA ( Nome=, Nome) Total Total + 1 FIM ENQUANTO Em pascal: PROGRAM LeEscreve; Nome : STRING; Total : INTEGER; Total: =0; WHILE Total<20 DO READ(Nome); WRITE ( Nome=, Nome); Total : =Total + 1; END; 18

20 9.1.1 Exercícios 3: 1) Faça um algoritmo para ler base e altura de 50 triângulos e imprimir a sua área. 2) Faça um algoritmo para calcular N!. 3) Faça um algoritmo para calcular um valor A elevado a um expoente B. Os valores A e B deverão ser lidos. Não usar A** B. 4) Faça um algoritmo para: a) Ler um valor x qualquer b) Calcular Y = ( x+1)+(x+2)+(x+3)+(x+4)+(x+5)+ (x+100). 5) Faça um algoritmo para somar os números pares < 1000 e ao final imprimir o resultado. 6) Faça um algoritmo para gerar os termos da seguinte P.G.: 3,9,27,81,,calcule 0 100º termo. 7) Ampliando o exercício acima, faça um algoritmo para calcular a soma dos termos da P.G.. 8) Faça um algoritmo para calcular a série Fibonacci até 0 N-ésimo termo. A série tem a seguinte forma: 1,1,2,3,5,8,13,21,34, 9) Faça um algoritmo para ler um valor X e calcular Y = X+2X+3X+4X+5X+ +20X 10) Faça um algoritmo para ler e escrever o Nome, idade e sexo de um número indeterminado de alunos. Ao final escreva o total de alunos lidos. 11) Para cada nota de compra, tem-se o Nome do produto comprado, o valor e o imposto. Faça um algoritmo que escreva o valor total bruto, o imposto total cobrado e o valor total líquido de todas as notas. Considere 500 notas 12) O valor aproximado de PI pode ser calculado usando-se a série S = sendo Π = 3 S 32 fazer um algoritmo para calcular e escrever o valor de PI com 51 termos 13) Faça um algoritmo para ler um valor X e um valor n. Após, calcule a seguinte expressão: ( X + 1) ( X + 2) ( X + 3) ( X + N ) Y = ! 2! 3! N! 14) Faça um algoritmo para somar os restos da divisão por 3 de 200 números. 15) Faça um algoritmo que calcule a hipotenusa de 10 triângulos. hipotenusa 2 = cateto 2 + cateto 2 16) Faça um algoritmo para calcular a área de N quadriláteros. Fórmula: Área = Lado * Lado 17) Faça um algoritmo para calcular a área de N Círculos. Fórmula : Área = π raio 2 π = 3, ) Fazer um algoritmo que calcule escreva a soma dos 50 primeiros termos das seguinte série:

21 9.2 Estrutura de repetição REPITA-ATÉ ( Repeat Until) ALGORITMO REPITA <Comandos> ATE <Condição for verdadeira> PASCAL REPEAT <Comandos> UNTIL <Condição for verdadeira> Faça um ALGORITMO para ler e escrever o Nome de 20 pessoas. Em pascal: ALGORITMO LeEscreve IÁVEIS Nome : CADEIA Total : INTEIRO INICIO Total 0 REPITA LEIA(Nome) ESCREVA( Nome=,Nome) Total Total + 1 ATÉ Total >=20 FIM PROGRAM LeEscreve; Nome : STRING; Total : INTEIRO; Total : = 0; REPEAT READ(Nome); WRITE( Nome=,Nome); Total : = Total + 1; UNTIL Total >=20; Exercícios 4: 1) Leia 20 valores reais e escreva o seu somatório. 2) Dado uma frase de exatamente 80 caracteres, escreva a frase de trás para frente, um caracter por linha. 3) Dado um número indeterminado de funcionários, onde é fornecido o Nome, número de dependentes e o número de horas trabalhadas. Pede-se que seja impresso, para cada funcionário, o seu Nome, salário bruto, salário líquido e o valor descontado. A empresa, paga R$ 2.250,00 por hora de trabalho, e R$ 125,55 por dependente, e ainda faz um desconto de 12% sobre o salário bruto. Pede-se ainda que seja impresso o total de funcionários da empresa, o total gasto com salários, e o total descontado. 4) Faça um ALGORITMO para: 20

22 a) Leia um valor X e um valor N. b) Calcular: Y = X - 2X + 4X - 6X + 8X - 10X + NX. 5) Faça um ALGORITMO para ler um valor X e um Valor N. Após, calcule a seguinte expressão: ( X + 1) ( X + 2) ( X + 3) ( X + N ) Y = ! 2! 3! N! 6) Dado uma quantidade indeterminada de palavras, sendo que as mesmas sempre terminam com o caracter $, escreva o tamanho de cada uma das mesmas ( o sinal de $ não deve ser considerado na contagem ). 7) Dado uma palavra terminada com o sinal $, faça um ALGORITMO para criar uma nova STRING, a ser formada com os caracteres da primeira palavra invertidos. 8) Faça um algoritmo que calcule a hipotenusa de 10 triângulos. hipotenusa 2 = cateto 2 + cateto 2 9) Faça um algoritmo para calcular a área de N quadriláteros. Fórmula: Área = Lado * Lado 10) Faça um algoritmo para calcular a área de N Círculos. Fórmula : Área = π raio 2 π = 3, ) Fazer um algoritmo que calcule escreva o valor de S onde: S = ) Fazer um algoritmo que calcule escreva o valor de S onde: S = Estrutura de repetição PARA-FAÇA (FOR... TO... DO) ALGORITMO PASCAL PARA <Variável> DE <INICIO> Até <FIM>, PASSO <N> FAÇA <Comandos> FIMPARA a) FOR <Variável > : = <INICIO> TO <FIM> DO <Comando>; b) FOR <Variável > : = <INICIO> TO <FIM> DO <Comando>; END; Faça um algoritmo para ler e escrever o Nome de 20 pessoas. ALGORITMO LeEscreve IÁVEIS Nome : CADEIA 21

23 Cont : INTEIRO INICIO PARA Cont DE 1 ATE 20, PASSO 1, FACA LEIA(Nome) ESCREVA(Nome) FIMPARA FIM Em pascal: PROGRAM LeEscreve; Nome : STRING; Cont : INTEIRO; FOR Cont : = 1 TO 20 DO READ(Nome); WRITE(Nome); END; Obs.: a) A variável de controle, no Exemplo acima é a variável Cont, é automaticamente incrementada em um unidade, a partir do valor inicial ( 1 pelo Exemplo acima ), até que seja ultrapassado o limite final definido ( 20 no Exemplo acima ). B) Quando existe a necessidade de interromper o processamento antes de ser alcançado o limite final definido para a estrutura, não deverá ser usado a estrutura PARA-FAÇA, pela simples razão que a variável de controle não deve ser alterada propositadamente pelo usuário. A alteração do conteúdo das variáveis de controle do PARA-FAÇA são de inteira responsabilidade da própria estrutura Exercícios 5: 1) Faça um PROGRAMA para calcular: 50 a) 2N N 1 50 b) N N 1 2 c) d) e) 50 N 50 N 50 N N 1 12N 1 N 2 2) Uma empresa possui 100 vendedores que ganham por comissão sobre cada produto vendido. Cada vendedor em um determinado mês vendeu X produtos, onde cada produto pode ou não ter preços iguais. 22

24 A empresa deseja obter um relatório com o Nome, o total de vendas e o valor a ser pago a cada vendedor. A comissão paga pela empresa é de 30% sobre o valor de cada produto vendido. 3) Dado uma relação de 1000 números em graus Célcius, faça um PROGRAMA que imprima o seguinte relatório: Obs.: Graus Fahrenheit xxxxxx Graus Célcius xxxxxx º F 9º = C ) Dado um número indeterminado de palavras, sendo que cada palavra possui um tamanho indeterminado, o qual deverá ser lido pelo teclado, faça um PROGRAMA que imprima um relatório como é mostrado no Exemplo abaixo: Suponha que a palavra digitada foi MARIA. M A R I A A I R A M 5) Escrever um programa para gerar e escrever uma tabela com os valores de seno de um Angulo A em radianos, utilizando a série de Mac-Laurin Truncada apresentada a seguir: SenA A A 3 = + A 5 A Condições: os valores dos ângulos devem variar de 0.0 a 6.3, inclusive, de 0.1 em 0.1 Obs.: Em pascal, caso seja necessário que o Loop PARA-FAÇA ao invés de incrementar a variável de controle decrementa-a, a Sintaxe a ser utilizada será a seguinte a) FOR <Variável > : = <FIM> DOWNTO <INICIO> DO <Comando> Em algoritmo: b) FOR <Variável > : = <FIM> DOWNTO <INICIO> DO <Comando>; END; a) PARA <Variável > DE <FIM> ATÉ <INICIO> PASSO (-1) FACA <Comando> FIM PARA 23

25 10. Estrutura de seleção 10.1 Estrutura SE ENTÃO SENÃO (IF THEN ELSE) ALGORITMO SE <Condição FOR verdade> ENTÃO <Comandos> [SENÃO <Comandos>] Colchete indica que o comando é opcional FIMSE PASCAL a) IF <Condição for verdade> THEN <Comandos> [ELSE <Comandos>;] b) IF <Condição for verdade> THEN <Comandos> END [ELSE <Comandos>; END;] Dado dois valores A e B quaisquer, faça um algoritmo que imprima se A > B, ou A < B, ou A = B ALGORITMO Maior IÁVEIS A,B : INTEIRO INICIO ESCREVA( Digite os valores A e B ); SE A > B ENTÃO ESCREVA( A é maior que B ) SENÃO SE A < B ENTÃO ESCREVA( A é menor que B ) SENÃO ESCREVA( A é igual a B ) FIM 24

26 Em pascal PROGRAM Maior; A,B : BYTE; WRITE( Digite os valores A e B ); IF A > B THEN WRITE( A é maior que B ) ELSE IF A < B THEN WRITE( A é menor que B ) ELSE WRITE( A é igual a B ); Exercícios 6: 1) Faça um algoritmo que leia os valores A, B, C e diga se a soma de A + B é menor que C. 2) Faça um algoritmo que leia dois valores inteiros A e B se os valores forem iguais deverá se somar os dois, caso contrário multiplique A por B ao final do calculo atribuir o valor para uma variável C. 3) Faça um algoritmo que leia o nome e a três notas de uma disciplina de uma aluno e ao final escreva o nome do aluno, sua média e se ele foi aprovado a média é 8. 4) Faça um algoritmo que leia 3 números inteiros e imprima o menor deles. 5) Dado um conjunto de n registros cada registro contendo um valor real, faça um algoritmo que calcule a média dos valores maiores que 4. 6) Dado uma relação de 100 carros imprima quantos são da cor azul. Sendo para cada carro tem-se uma ficha contento o nome e a cor. 7) Dados três valores distintos, fazer um algoritmo que, após a leitura destes dados coloque-os em ordem crescente. 8) Dado uma série de 20 valores reais, faça uma algoritmo que calcule e escreva a média aritmética destes valores, entretanto se a média obtida for maior que 8 deverá ser atribuída 10 para a média. 9) Faça um algoritmo para somar os números pares < 1000 e ao final imprimir o resultado. 10) Dado um conjunto de 20 valores reais, faça um algoritmo que: a) Imprima os valores que não são negativos. b) Calcule e imprima a média dos valores < 0. 11) Suponha que para cada aluno de sua sala exista uma ficha contendo o nome e a idade do aluno. Supondo que exista 50 alunos, faça uma algoritmo que determine quantos alunos tem idade maior que ) Dado modelo, ano de fabricação, cor e placa de 1000 carros, faça um algoritmo que: a) Imprima quantos são, da cor verde e o percentual em relação ao total. b) Imprima quantos foram fabricados antes de 1990 e o percentual em relação ao total. c) Imprima quantos são FIAT UNO e o percentual em relação ao total. d) Imprima quantos carros tem na placa o digito 5 e o percentual em relação ao total. Considere placas com seguinte formato AANNNN. 13) Dado Nome e notas ( total de 6 ) de n alunos, faça um algoritmo que: 25

27 a) Imprima Nome e média dos alunos aprovados. Média > = 7.0. b) Imprima Nome e média dos alunos em recuperação. 5.0 >= Média <7.0. c) Imprima Nome e média dos alunos reprovados. Média < ) Faça um algoritmo que simule um cronometro com horas, minutos e segundos. A simulação deverá mostrar no vídeo o cronometro no seguinte formato HH: MM: SS. Inicialmente o cronometro será zerado ( 00: 00: 00 ), sendo que os segundos começarão a ser incrementados, depois os minutos e depois as horas. Lembre-se que a cada 60 segundos os minutos deverão ser incrementados, depois os minutos voltarão a zero. Quando as horas estiverem prestes a chegar em 25, o cronometro deverá voltar a zero ( 00: 00: 00 ). 15) Dado Nome e salário de um número indeterminado de funcionários, imprima o Nome e o salário de funcionário que tem o maior salário, bem como o Nome e o salário que possui o menor salário. 16) Dado uma relação de 100 STRING s no formato de data ( Exemplo 10/12/95 ), imprima aquelas que correspondem ao mês ) Dado uma relação de 100 STRING s no formato de data ( Exemplo 10/12/95 ), imprima um relatório no seguinte formato: Data Por Extenso 26/09/95 26 de setembro de ) Dados uma relação de n STRING s, todas terminadas com o caracter $, faça um algoritmo que escreva a STRING e o seu tamanho. 19) Dado uma relação de n STRING s, todas terminadas com o caracter $, faça um algoritmo que imprima aquelas que tem tamanho par. 20) Dado uma relação de n STRING s, todas terminadas com o caracter $, faça um algoritmo que escreva as STRING s ímpares cujo caracter central é uma vogal. 21) Dado três valores X, Y, Z, verificar se eles podem ser os comprimentos dos lados de um triângulo, e se forem, verificar se é um triângulo equilátero, isósceles ou escaleno. Se eles não formarem um triângulo, escrever uma mensagem. Antes da elaboração do algoritmo, torna-se necessária a revisão de algumas propriedades e definições. Propriedade - O comprimento de cada lado de um triângulo é menor do que a soma dos comprimentos dos outros dois lados. Definição 1 - Chama-se triângulo equilátero os que tem os comprimentos dos três lados iguais, Definição 2 - Chama-se triângulo isósceles ao triângulo que tem os comprimentos de dois lados iguais. Definição 3 - Chama-se triângulo escaleno ao triângulo que tem os comprimentos dos três lados diferentes. 22) Um hotel cobra R$ 300,00 por diária e mais uma taxa adicional de serviços. Se a diária for menor que 15 a taxa e de R$ 20,00. Se o número de diárias for igual a 15 a taxa é de R$ 14,00 e se o número for maior que 15 a taxa é de R$ 12,00. Considerando-se que se tenha 200 pessoas e para cada pessoa tenhase um registro contendo seu nome e o número de diárias. Faça um algoritmo que imprima o nome e o total a pagar de cada pessoa e imprimir também o total ganho pelo hotel e o número total de diárias. 23) Dado que cada pessoa tenha o seu nome e a sua idade e o seu peso em uma ficha, faça uma algoritmo que: a) Imprimir o nome da pessoa cujo a idade esta na faixa de 20 a 30 anos inclusive os extremos; b) Calcule a idade média das pessoas com peso maior que 80 Kg, considere que exista N pessoas. 24) Faça um algoritmo que calcule o salário e o imposto de renda de um grupo de pessoas, considerando: a) Para cada pessoa tem-se: Nome, Número de Dependentes, Renda Bruta Anual; b) O imposto é calculado segundo a tabela abaixo: 26

28 Renda Liquida % até R$ ,00 isento > R$ ,00 até R$ ,00 5% > R$ ,00 até R$ ,00 10% > R$ ,00 15% c) Há um desconto de R$ 600,00 para cada dependente. d) Sendo que a renda liquida é igual a renda bruta menos o abatimento de cada dependente. 25) O Departamento de transito do estado anotou dados de acidentes de transito no ultimo ano. Para cada motorista envolvido no acidente, tem-se as seguintes informações: - Ano de nascimento; - Sexo (M - Masculino, F - Feminino) - Procedência ( 0 - Capital, 1 - Interior, 2 - Outro estado); Faça um algoritmo que : a) Calcule a porcentagem de motoristas com menos de 21 anos; b) Calcule quantas mulheres são da capital; c) Calcule quantos motoristas do interior do estado tem idade maior que 60 anos; d) Verifique se existe alguma mulher com idade maior que 60 anos; R. 26) Suponha que para cada tipo de computador fabricado, a SEI, tem os seguintes informações: - Nome do computador; - O nome do fabricante; - e a sua capacidade de armazenamento; Faça um algoritmo que: a) Determine qual o valor da maior capacidade de memória; b) Determine quantos computadores diferentes a IBM fabrica; c) Verifique se tem algum computador chamado PS/1. Se tiver qual o seu fabricante; 27

29 10.2 Estrutura CASE ALGORITMO ESCOLHA <Valor> <Opções> : <Comandos>... <Opções> : <Comandos> [ Senão <Comandos>] FIMESCOLHA PASCAL a) CASE <valor> OF <opções> : <Comandos>;... <opções> : <Comandos>; [Else <Comandos>; END; b) CASE <valor> OF <opções> : <Comandos>; END;... <opções> : <Comandos>; [ Else <Comandos>; END; END; O comando ESCOLHA ( CASE ), corresponde ao comando SE-ENTÃO mas de uma forma mais compacta nas operações de seleção. Por Exemplo, seja a seguinte estrutura escrita com o comando SE-ENTÃO: SE ( IDADE >= 0 ) E ( IDADE <= 3 ) ENTÃO ESCREVA( BEBÊ ) SENÃO SE ( IDADE >= 4 ) E ( IDADE <= 10 ) ENTÃO ESCREVA( CRIANÇA ) SENÃO SE ( IDADE >= 11 ) E ( IDADE <= 18 ) ENTÃO ESCREVA( ADOLESCENTE ) 28

30 SENÃO ESCREVA( ADULTO ) FIM SE FIM SE FIM SE Em pascal IF ( IDADE >= 0 ) AND ( IDADE <= 3 ) THEN WRITE( BEBÊ ) ELSE IF ( IDADE >= 4 ) AND ( IDADE <= 10 ) THEN WRITE( CRIANÇA ) ELSE IF ( IDADE >= 11 ) AND ( IDADE <= 18 ) THEN WRITE( ADOLESCENTE ) ELSE WRITE( ADULTO ); O Exemplo mostrado poderia ser escrito da seguinte forma usando o comando ESCOLHA: ESCOLHA Idade 0..3 : ESCREVA( BEBÊ ) : ESCREVA( CRIANÇA ) : ESCREVA( ADOLESCENTE ) SENÃO ESCREVA( ADULTO ) FIM ESCOLHA Em pascal: CASE Idade OF 0..3 : WRITE( BEBÊ ); : WRITE( CRIANÇA ); : WRITE( ADOLESCENTE ); ELSE WRITE( ADULTO ); END; Abaixo seguem mais exemplos de construções com o comando ESCOLHA: a) ESCOLHA Letra A, E, I O, U FIMESCOLHA : ESCREVA( Vogais ) b) ESCOLHA VALOR 1..5,9, : <Comandos> FIMESCOLHA 29

31 Em pascal a) CASE Letra OF A, E, I O, U END; : WRITE( Vogais ); b) CASE valor OF 1..5,9, : <Comandos>; END; Obs.: O comando Escolha não aceita valores do tipo REAL e STRING Exercícios 7: 1) Faça um algoritmo que leia um número que represente um determinado mês do ano. Após a leitura escreva por extenso qual o mês lido. Caso o número digitado não esteja na faixa de escreva uma mensagem informando o usuário do erro da digitação. 2) Faça um algoritmo que leia um número qualquer. Caso o número seja par menor que 10, escreva Número par menor que Dez, caso o número digitado seja ímpar menor que 10 escreva Número Ímpar menor que Dez, caso contrário Escreva Número fora do Intervalo. 3) Uma empresa irá dar um aumento de salário aos seus funcionários de acordo com a categoria de cada empregado. O aumento seguirá a seguinte regra: a) Funcionários das categorias A, C, F, e H ganharão 10% de aumento sobre o salário b) Funcionários das categorias B, D, E, I, J e T ganharão 15% de aumento sobre o salário c) Funcionários das categorias K e R ganharão 25% de aumento sobre o salário d) Funcionários das categorias L, M, N, O, P, Q, R e S ganharão 35% de aumento sobre o salário e) Funcionários das categorias U, V, X, Y, W e Z ganharão 50% de aumento sobre o salário 4) Faça um algoritmo que Escreva Nome, categoria e salário reajustado de cada Empregado. Considere 1000 funcionários na empresa. 5) Dado uma STRING terminada com o caracter $ faça um algoritmo que imprima quantas vogais existem nesta STRING. 6) Dado uma STRING terminada com o caracter $ faça um algoritmo que imprima quantas Ocorrências de cada vogal em separado existe nesta STRING. 30

32 11. Variáveis Compostas Homogêneas Vimos, no início deste curso, ser possível dar um Nome para uma posição de memória, sendo que a esta será associado um valor qualquer. Pois bem, acontece que, muitas vezes, esta forma de definição, ou melhor dizendo, de alocação de memória, não é suficiente para resolver certos problemas computacionais. Imagine por Exemplo, como faríamos para construir um algoritmo, para ler o Nome de N Pessoas e que imprimisse um relatório destes mesmos nomes, mas ordenados alfabeticamente? Não seria uma tarefa simples, haja visto não ser possível determinar quantos nomes seriam lidos, mesmo que soubéssemos o número de pessoas, digamos pessoas, teríamos que definir variáveis do tipo STRING, como é mostrado abaixo: ALGORITMO Loucura; IÁVEIS Nome1, Nome2, Nome3,... Nome999, Nome1000: CADEIA INICIO <Comandos> FIM Considere o tamanho do algoritmo, e o trabalho braçal necessário para construi-lo. Isto só com Nome, imagine agora de pessoas. A construção deste algoritmo começaria a ficar inviável na pratica. Para resolver problemas como este, e outros, foi criado um novo conceito para alocação de memória sendo, desta forma, também criado uma nova maneira de definir variáveis, a qual foi denominada de variável indexada. Uma variável indexada corresponde a uma seqüência de posições de memória, a qual daremos único Nome, sendo que cada uma destas pode ser acessada através do que conhecemos por índice. O índice corresponde a um valor numérico ( exceto REAL ), ou a um valor caracter ( exceto STRING ). Cada uma das posições de memória de uma variável indexada pode receber valores no decorrer do algoritmo como se fosse uma variável comum, a única diferença reside na Sintaxe de utilização desta variável Variáveis Indexadas Uni Dimensionais(Vetores) Também conhecida por Vetor. Uma variável uni-dimencional, como o próprio Nome já indica, possui apenas uma dimensão, sendo ser possível definir variáveis com quaisquer tipo de dados validos do Pascal. a) Definição: ALGORITMO Define IÁVEIS <Nome>: VETOR [INICIOV : FIMV] DE <tipo> INICIO <Comandos> 31

33 Em pascal: FIM PROGRAM Define; <Nome>: ARRAY [INICIO..FIM] OF <tipo>; <Comandos>; Obs.: a) ARRAY é uma palavra reservada do Pascal b) Os valores INICIOV e FIMV correspondem aos índices inicial e final c) Uma variável indexada pode ser apenas de um tipo de dado Exemplo Definir uma variável indexada como sendo do tipo REAL, sendo que a mesma deverá corresponder a 10 posições de memória. ALGORITMO Exemplo IÁVEIS Vet : VETOR [1 : 10] OF REAL INICIO <Comandos> FIM Em pascal: PROGRAM Exemplo; Vet: ARRAY [1..10] OF REAL; <Comandos>; No Exemplo acima, após a definição da variável, a memória estará como mostrado no esquema abaixo: Vet Os Valores numéricos apresentados acima correspondem aos índices da variável. B) Atribuição <Nome>[<Índice>] Valor; LEIA (<Nome>[<Índice>]); Em pascal: <Nome>[<Índice>]: =Valor; READ (<Nome>[<Índice>]); ALGORITMO Atribui IÁVEIS Nomes : VETOR [1 : 20] DE CADEIA i : INTEIRO Nomes[1] João da Silva PARA i 2 ATE 20, PASSO 1, FACA LEIA(Nomes[i]) 32

34 Em pascal: FIM FIM PARA PROGRAM Atribui; Nomes : ARRAY[1..20]OF STRING; i : INTEGER; Nomes[1]: = João da Silva ; FOR i: = 2 TO 20 DO READ(Nomes[i]); Exercícios 8: 1) Faça um algoritmo que leia, via teclado, 200 valores do tipo inteiro e os guarde na memória. 2) Amplie o exercício anterior emitindo um relatório com todos os números pares que você leu. 3) Faça um algoritmo que determine qual o menor valor existente no vetor do exercício número 1. 4) Faça um algoritmo que determine qual o maior valor existente no vetor do exercício número 1. 5) Faça um algoritmo que imprima quantos dos valores do exercício número 1 são maiores que a média desses valores. 6) Faça um algoritmo que leia 10 nomes e os guarde na memória. 7) Amplie o exercício 6 imprimindo o menor Nome do vetor 8) Amplie o exercício 6 imprimindo o maior Nome do vetor 9) Faça um algoritmo que leia 20 palavras, e após a leitura, realiza um processo qualquer que inverta os caracteres de cada uma das palavras. 10) Faça um algoritmo que leia 10 nomes e os guarde na memória. Após a leitura, emita um relatório com todos os nomes que são palindromes. Uma palavra palindrome é aquela que a sua leitura é a mesma da esquerda para a direita e vice versa. ARARA, ANA, etc. 11) Faça um algoritmo que leia, Nome idade e sexo de N pessoas. Após a leitura faça: a) Imprima o Nome, idade e sexo das pessoas cuja idade seja maior que a idade da primeira pessoa. b) Imprima o Nome e idade de todas as mulheres. c) Imprima o Nome dos homens menores de 21 anos. 12) Faça uma algoritmo para ler 20 valores e que imprima os que são maiores que a média dos valores. 13) Faça um algoritmo que leia Nome e notas ( total de 12 ) de N alunos de um colégio. Após a leitura faça: a) Imprima o Nome e a média dos alunos aprovados ( Média >= 7.0 ). b) Imprima o Nome e a média dos alunos em Recuperação ( 5.0 >= Média < 7.0 ). c) Imprima o Nome e a média dos alunos reprovados ( Média < 5.0 ). d) Imprima o percentual de alunos aprovados. e) Imprima o percentual de alunos reprovados. 14) Dado Nome e salário de 10 funcionários faça: a) Imprima o Nome e o salário dos funcionários que ganham mais de R$ 500,00 33

35 b) Para os funcionários que ganham menos de R$ 200,00 conceda um aumento de 20%. Imprima Nome e o novo salário destes funcionários aumentados 15) Faça um algoritmo que crie uma tabela no vídeo do computador com todos os caracteres ASCII, sendo que deverá ser impresso o caracter, bem como o seu valor decimal. 16) Um teste composto por 10 questões foi proposto numa classe de n alunos. Cada questão admite as alternativas identificadas pelas letras A, B, C, D e E. Para cada aluno tem-se o registro contendo o seu nome e as suas respostas. Sendo dado o gabarito das questões faça um algoritmo que: a) Escreva uma relação contendo o nome e o número de acertos de cada aluno; b) Determine quantos alunos acertaram as questões 1 e 2 e tiveram 7 acertos; c) Escreva o nome do aluno, que obteve a melhor nota e pior nota; 17) Faça um algoritmo para ler 50 valores inteiros. Após imprima tais valores ordenados crescentemente. 18) Continuando o exercício anterior, emita um relatório com os valores ordenados decrescentemente. 19) Faça um algoritmo que leia 10 valores numéricos inteiros. Após a leitura emita um relatório com cada valor diferente e o número de vezes que o mesmo apareceu no vetor. 20) Dado uma ralação de N nomes, faça um algoritmo que verifique se uma determinada pessoa está neste vetor. O Nome da pessoa a ser pesquisada deverá ser lido, bem como os nomes a serem colocados no vetor. 21 Dado uma frase, faça um algoritmo que determine qual a consoante mais utilizada. 22) Faça um algoritmo que leia N letras e armazene cada uma em uma posição de memória. Coloque no vetor, após a última letra lida, o caracter $, indicando final dos caracteres 23) Faça um algoritmo que: a) Leia um vetor A com N elementos e um vetor B com N elementos do tipo CADEIA. b) Intercale estes vetores A e B, formando um outro vetor C da seguinte forma. C[1] A[1] C[2] B[1] C[3] A[2] C[4] B[2] c) Caso um vetor ( A ou B ) termine antes do outro, o vetor C deverá ser preenchido com os elementos do vetor que ainda possui informações. 24) Faça um algoritmo que: a) Leia um vetor A com N elementos já ordenados e um vetor B com M elementos também já ordenados. b) Intercale os dois vetores A e B, formando um vetor C, sendo que ao final do processo de intercalação, o vetor C continue ordenado. Nenhum outro processo de ordenação poderá ser utilizado além da intercalação dos vetores A e B. c) Caso um vetor ( A ou B ) termine antes do outro, o vetor C deverá ser preenchido com os elementos do vetor que ainda possui informações. 25) Faça um algoritmo que: a) Leia um vetor com N elementos formado por valores do tipo inteiro. b) Após a leitura, modifique o vetor de forma que o mesmo contenha na parte superior somente valores pares, e na parte inferior os valores impares. c) Ordene crescentemente os números pares, e decrescentemente os números impares. 26) Dado um conjunto de n registros, cada registro contendo o nome e a idade dessa pessoa faça um algoritmo que: a) Guarde todos os dados na memória; b) Escreva o nome das pessoas que tem idade maior que a idade da primeira; 34

36 c) Listar os nomes das pessoas que tem a idade maior que a média; d) Listar o nome da pessoa de maior e menor idade 27) Dado que para cada aluno de uma turma de N alunos se tenha, o seu nome, e as notas das 8 avaliações. Faça um algoritmo que: Imprima o nome a média de cada aluno; a) Calcule a Percentagem de alunos cujo o nome comece com a letra A ; b) Para cada aluno imprima uma mensagem dizendo se o aluno tem ou não notas repetidas; c) Determine quantos alunos tem pelo menos duas notas acima de 7; 28) Dado um verto X de n elementos faça um algoritmo que: a) Crie outro vetor Y contendo os elementos de x que estão na faixa entre 10 e 40; b) Crie outro vetor W contendo os números que estão nas posições pares; c) Pesquise a existência de um determinado elemento Y no vetor X; d) Escreva o menor e maior elemento do vetor X; 29) Em uma cidade do interior, sabe-se que, de janeiro a abril de 1976 (121 dias), não ocorreu temperatura inferior a 15 o C nem superior a 40 o C. As temperatura verificadas em cada dia estão disponíveis em uma unidade de entrada de dados. Fazer um algoritmo que calcule e escreva: a) a menor temperatura ocorrida; b) a maior temperatura ocorrida; c) a temperatura média d) o número de dias nos quais a temperatura foi inferior a média à temperatura média. 30) Fazer um algoritmo que: a) leia o valor de n (n <= 1000) e os n valores de um variável indexada A de valores inteiros ordenados de forma crescente; b) determine e escreva, para cada número que se repete no conjunto, a quantidade de vezes em que ele aparece repetido; c) elimine os elementos repetidos, formando um novo conjunto; d) escreva o conjunto obtido no item c; 31) Um armazém trabalha com 100 mercadorias diferentes identificadas pelos números inteiros de 1 a 100. O dono do armazém anota a quantidade de cada mercadoria vendida durante o mês. Ele tem uma tabela que indica, para cada mercadoria, o preço de venda. Escreva um algoritmo para calcular o faturamento mensal do armazém. A tabela de preços é fornecida seguida pelos números das mercadorias e as quantidades vendidas. Quando uma mercadoria não tiver nenhuma venda, é informado o valor zero no lugar da quantidade. 32) Uma grande firma deseja saber quais os três empregados mais recentes. Fazer um algoritmo para ler um número indeterminado de informações (máximo de 300) contendo o número do empregado e o número de meses de trabalho deste empregado e escrever os três mais recentes. Observações: A última informação contém os dois números iguais a zero. Não existem dois empregados admitidos no mesmo mês. EMPREGADOS MESES Empregado mais recente: ) Fazer um algoritmo que: a) leia uma variável indexada A com 30 valores reais; b) leia uma outra variável indexada B com 30 valores reais; 35

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

ALGORITMO E PROGRAMAÇÃO FELIPE DENIS M. DE OLIVEIRA

ALGORITMO E PROGRAMAÇÃO FELIPE DENIS M. DE OLIVEIRA ALGORITMO E PROGRAMAÇÃO FELIPE DENIS M DE OLIVEIRA Natal / RN / BRASIL E-Mail : fdenis_natal@yahoocombr Índice 1 Algoritmos 1 2 Fases de um Algoritmo 1 3 Formas de Representação de Algoritmos: 2 4 COMENTÁRIOS

Leia mais

3) Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo. Obs.: Área = ( Base * Altura ) / 2

3) Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo. Obs.: Área = ( Base * Altura ) / 2 Exercícios 2: 1) Faça um algoritmo para ler as seguintes informações de uma pessoa: Nome, Idade, Sexo, Peso, Altura, Profissão, Rua, Bairro, Cidade, Estado, CEP, Telefone. 2) Dado as seguintes informações

Leia mais

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação Lógica de Programação 3. INTRODUÇÃO À LINGUAGEM C Caro Aluno Vamos iniciar o terceiro capítulo da nossa disciplina. Agora vamos começar a aplicar os conceitos vistos nos capítulos anteriores em uma linguagem

Leia mais

1) Digitar o código-fonte no editor do compilador Turbo Pascal para windows, exatamente como apresentado a seguir:

1) Digitar o código-fonte no editor do compilador Turbo Pascal para windows, exatamente como apresentado a seguir: Introdução à Informática 1 de 6 Data: 29/05/04 1) Digitar o código-fonte no editor do compilador Turbo Pascal para windows, exatamente como apresentado a seguir: program eq2grau; uses WinCrt, Strings;

Leia mais

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

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

Leia mais

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

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

Leia mais

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

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

Leia mais

Definição. de solução de um problema passo-a-passo. Representa a lógica l. passo.

Definição. de solução de um problema passo-a-passo. Representa a lógica l. passo. ALGORITMO Definição Representa a lógica l de solução de um problema passo-a-passo passo. Um algoritmo pode ser Na forma textual: Uma descrição tal como uma receita de bolo; Um manual de montagem; Um relato

Leia mais

INF 1005 Programação I lista 12

INF 1005 Programação I lista 12 INF 1005 Programação I lista 12 Caracteres e cadeias de caracteres (strings) 1. [tarefa 42] Implemente e teste uma função que receba uma string como parâmetro e modifique essa string trocando todos os

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

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

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

A estrutura de repetição em um algoritmo consiste na execução de um trecho do mesmo levando em consideração certas condições imposta pelo algoritmo.

A estrutura de repetição em um algoritmo consiste na execução de um trecho do mesmo levando em consideração certas condições imposta pelo algoritmo. Estrutura de repetição 1 A estrutura de repetição em um algoritmo consiste na execução de um trecho do mesmo levando em consideração certas condições imposta pelo algoritmo. Temos duas três formas de estruturas

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

7. Estrutura de Decisão

7. Estrutura de Decisão 7. Estrutura de Decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições. Uma condição é uma expressão lógica. A classificação

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

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

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

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

Leia mais

Variáveis, Expressões, Atribuição, Matrizes, Comandos de Desvio

Variáveis, Expressões, Atribuição, Matrizes, Comandos de Desvio Programação de Computadores I UFOP DECOM 2013 2 Exercícios de Revisão Variáveis, Expressões, Atribuição, Matrizes, Comandos de Desvio Sumário 1 Testes de Compreensão 1 2 Variáveis, Expressões, Atribuição,

Leia mais

Notas de Aula de Algoritmos e Programação de Computadores

Notas de Aula de Algoritmos e Programação de Computadores Notas de Aula de Algoritmos e Programação de Computadores FLÁVIO KEIDI MIYAZAWA com a colaboração de TOMASZ KOWALTOWSKI Instituto de Computação - UNICAMP Versão 2000.1 Estas notas de aula não devem ser

Leia mais

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior

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

Leia mais

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

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 Aula 08 Programação em pascal Pascal Pascal

Leia mais

Lista de Exercícios 3 Estruturas de Controle Profa Susana M Iglesias

Lista de Exercícios 3 Estruturas de Controle Profa Susana M Iglesias Lista de Exercícios 3 Estruturas de Controle Profa Susana M Iglesias 1. Tendo em vista o alto preço da gasolina, os motoristas estão preocupados com a quilometragem percorrida por seus automóveis. Um motorista

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

TRABALHANDO COM ARQUIVOS ENTRADAS/SAÍDAS (I/O) DE DADOS

TRABALHANDO COM ARQUIVOS ENTRADAS/SAÍDAS (I/O) DE DADOS livrof90_v5 2007/3/1 10:27 page 41 #1 CAPÍTULO2 TRABALHANDO COM ARQUIVOS ENTRADAS/SAÍDAS (I/O) DE DADOS Neste capítulo você encontrará: 2.1 Introdução.................. 41 Arquivo................. 42 2.2

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

Lista de Exercícios 3 Estrutura Condicional

Lista de Exercícios 3 Estrutura Condicional 1 Lista de Exercícios 3 Estrutura Condicional 1. A nota final de um estudante é calculada a partir de três notas atribuídas respectivamente a um trabalho de laboratório, a uma avaliação semestral e a um

Leia mais

MANIPULAÇÃO DE STRINGS

MANIPULAÇÃO DE STRINGS MANIPULAÇÃO DE STRINGS O TIPO DE DADO STRING Os strings, como trechos de texto, são os tipos de dados mais familiares aos seres humanos. O Pascal padrão não fornecia tipos de dados de String; tínhamos

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

Notas de Aula de Algoritmos e Programação de Computadores

Notas de Aula de Algoritmos e Programação de Computadores Notas de Aula de Algoritmos e Programação de Computadores FLÁVIO KEIDI MIYAZAWA com a colaboração de TOMASZ KOWALTOWSKI Instituto de Computação - UNICAMP Versão 2000.1 Estas notas de aula não devem ser

Leia mais

Conceitos básicos da linguagem C

Conceitos básicos da linguagem C Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por

Leia mais

Comandos de repetição while

Comandos de repetição while Programação de Computadores I UFOP DECOM 2014 2 Aula prática 6 Comandos de repetição while Resumo Nesta aula vamos trabalhar com problemas cuja solução envolve realizar um cálculo ou tarefa repetidas vezes,

Leia mais

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. Lista de exercícios: Grupo I - programa seqüênciais simples 1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. 2. Fazer um programa

Leia mais

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

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

Leia mais

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

Notas de Aula de Algoritmos e Programação de Computadores

Notas de Aula de Algoritmos e Programação de Computadores Notas de Aula de Algoritmos e Programação de Computadores FLÁVIO KEIDI MIYAZAA com a colaboração de TOMASZ KOALTOSKI Instituto de Computação - UNICAMP Versão 2000.1 Estas notas de aula não devem ser usadas

Leia mais

DESENVOLVIMENTO DE SOFTWARE

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

Leia mais

Estruturas de Repetição

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

Leia mais

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 4: Tipos de Dados O objetivo desta aula é apresentar os tipos de dados manipulados pela linguagem C, tais como vetores e matrizes, bem como

Leia mais

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1: Inteligência É a faculdade de criar objetos artificiais, especialmente ferramentas para fazer ferramentas. Henri Bergson. WHILE Além dos comandos if-else e switch, o controle de fluxo de um programa pode

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ª Lista de Exercícios

2ª Lista de Exercícios Faculdade Novo Milênio Engenharia da Computação Engenharia de Telecomunicações Processamento de Dados 2006/1 2ª Lista de Exercícios Obs.: Os programas devem ser implementados em C++. 1. Escrever um algoritmo

Leia mais

Variáveis Compostas Heterogêneas. Variável Composta Heterogênea. Variável Composta Heterogênea

Variáveis Compostas Heterogêneas. Variável Composta Heterogênea. Variável Composta Heterogênea Variáveis Compostas Heterogêneas Variável Composta Heterogênea Conjunto de dados logicamente relacionados, mas de tipos diferentes. Também chamada de registro. Variável Composta Heterogênea 1 Declaração

Leia mais

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

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

Leia mais

AULA 1 AULA 2. Estudo dirigido para as três primeiras AULAS de LPI Professora ANITA MACIEL 1º ESTUDO DIRIGIDO

AULA 1 AULA 2. Estudo dirigido para as três primeiras AULAS de LPI Professora ANITA MACIEL 1º ESTUDO DIRIGIDO 1º ESTUDO DIRIGIDO AULA 1 1) Quem desenvolveu a linguagem C e em que década? 2) Cite as sete vantagens da linguagem C? 3) Em 1999, algumas modificações importantes aconteceram. Exemplifique. 4) Cite as

Leia mais

JavaScript (ou JScript)

JavaScript (ou JScript) 1. Introdução JavaScript (ou JScript) Uma linguagem como o JavaScript permite criar interfaces interativas na web (permite a interação do usuário). Para desenvolver web sites interativos precisamos de

Leia mais

Estrutura Condicional em Java

Estrutura Condicional em Java Estrutura Condicional em Java Linguagem de Programação 1 O Java contém três tipos de instruções de seleção. A instrução if realiza uma ação se uma condição for verdadeira ou pula a ação se a condição for

Leia mais

II. LÓGICA DE PROGRAMAÇÃO COM PASCAL

II. LÓGICA DE PROGRAMAÇÃO COM PASCAL II. LÓGICA DE PROGRAMAÇÃO COM PASCAL Leitura: Engenharia de Software - Roger S. Pressman Cap 16 - Linguagens de Programação e Codificação (exceto 16.2) Introdução à Programação com Pascal - Sérgio E. R.

Leia mais

Lista de Exercícios 03 Algoritmos e Scilab Estrutura de Repetição 1) Escreva um algoritmo em Scilab que imprima todos os números inteiros de 0 a 50.

Lista de Exercícios 03 Algoritmos e Scilab Estrutura de Repetição 1) Escreva um algoritmo em Scilab que imprima todos os números inteiros de 0 a 50. Lista de Exercícios 03 Algoritmos e Scilab Estrutura de Repetição 1) Escreva um algoritmo em Scilab que imprima todos os números inteiros de 0 a 50. 2) Escreva um algoritmo em Scilab que imprima todos

Leia mais

Lista de Exercícios 03 Algoritmos e Scilab Estrutura de Repetição 1) Escreva um algoritmo em Scilab que imprima todos os números inteiros de 0 a 50.

Lista de Exercícios 03 Algoritmos e Scilab Estrutura de Repetição 1) Escreva um algoritmo em Scilab que imprima todos os números inteiros de 0 a 50. Lista de Exercícios 03 Algoritmos e Scilab Estrutura de Repetição 1) Escreva um algoritmo em Scilab que imprima todos os números inteiros de 0 a 50. 2) Escreva um algoritmo em Scilab que imprima todos

Leia mais

INTRODUÇÃO À LINGUAGEM C++

INTRODUÇÃO À LINGUAGEM C++ INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem

Leia mais

ARQUIVOS. Os arquivos criados em meios magnéticos poderão ser acessados para leitura e escrita na forma seqüencial, direta ou indexada.

ARQUIVOS. Os arquivos criados em meios magnéticos poderão ser acessados para leitura e escrita na forma seqüencial, direta ou indexada. Texto retirado e adaptado da apostila A Linguagem Pascal, disponível no site http://www.portaldaprogramacao.com (autor: desconhecido) ARQUIVOS Anteriormente, foi estudado o conceito de tabelas em memória

Leia mais

Algoritmos para Problemas Gerais

Algoritmos para Problemas Gerais Faculdade de Engenharia da Universidade do Porto Licenciatura em Ciência da Informação Sistemas Computacionais e de Comunicação LPR 2002/2003 Teóricas: Luís Paulo Reis Práticas: Luís Paulo Reis FICHA DE

Leia mais

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO Memória Variáveis e constantes Tipos primitivos de dados Operadores Comandos

Leia mais

Programação: Tipos, Variáveis e Expressões

Programação: Tipos, Variáveis e Expressões Programação de Computadores I Aula 05 Programação: Tipos, Variáveis e Expressões José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/56 Valores Valor é uma entidade

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

Introdução à Lógica de Programação. / NT Editora. -- Brasília: 2013. 135p. : il. ; 21,0 X 29,7 cm.

Introdução à Lógica de Programação. / NT Editora. -- Brasília: 2013. 135p. : il. ; 21,0 X 29,7 cm. Autor José Jesse Gonçalves Graduado em Licenciatura em Matemática pela Universidade Estadual de São Paulo - UNESP, de Presidente Prudente (1995), com especialização em Análise de Sistemas (1999) e mestrado

Leia mais

Algumas notas sobre PASCAL

Algumas notas sobre PASCAL Algumas notas sobre PASCAL PARTE I Anjolina Grisi de Oliveira 1 Um programa em PASCAL Esse texto inclui algumas notas sobre a linguagem PASCAL. As diferenças existentes entre os diversos compiladores não

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

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

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

Leia mais

Manipulação de Arquivos em Pascal

Manipulação de Arquivos em Pascal Manipulação de Arquivos em Pascal Estrutura de Dados II Aula 03 UFS - DComp Adaptados a partir do material da Profa. Kenia Kodel Cox 1 Para implementar programa infantil para ordenação (alfabética) de

Leia mais

Apostila de Técnicas de Programação

Apostila de Técnicas de Programação Apostila de Técnicas de Programação Profa. Elaine J.C.Brito Conceito de Algoritmo A automação é o processo pelo qual uma tarefa deixa de ser executada pelo homem para ser realizada por máquinas. Para que

Leia mais

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

CURSO DE INFORMÁTICA. Algoritmos. Parte 3. Ricardo José Cabeça de Souza CURSO DE INFORMÁTICA Algoritmos Ricardo José Cabeça de Souza Parte 3 Sumário UNIDADE I - ALGORITMOS 1.6 Pseudo-Linguagem (Pseudocódigo) 1.6.1 Pseudo-Linguagem 1.6.2 Identificadores 1.6.2.1 Nomeação de

Leia mais

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

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

Leia mais

2012.2. Fundamentos da Aprendizagem Digital. Profº Luiz André

2012.2. Fundamentos da Aprendizagem Digital. Profº Luiz André 2012.2 Fundamentos da Aprendizagem Digital Profº Luiz André 2 Conceitos Básicos Operadores Para construir as fórmulas do Excel, primeiro precisa-se conhecer os operadores matemáticos e de igualdade. Veja-os

Leia mais

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética 2 PARADIGMA IMPERATIVO 2.1 CONCEITO As linguagens que pertencem ao paradigma imperativo tomam por base a perspectiva da máquina. Ou seja, no modo como o computador executa programas em linguagem de máquina.

Leia mais

Java Como Programar, 8/E

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

Leia mais

Algoritmos em Javascript

Algoritmos em Javascript Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays

Leia mais

Definição de Programas de Computadores e Linguagem de Programação de Comutadores

Definição de Programas de Computadores e Linguagem de Programação de Comutadores Definição de Programas de Computadores e Linguagem de Programação de Comutadores O computador é um equipamento eletrônico composto por circuitos eletrônicos, que trabalham com o estado ligado(1) e desligado(0),

Leia mais

CURSO TÉCNICO EM PROCESSAMENTO DE DADOS

CURSO TÉCNICO EM PROCESSAMENTO DE DADOS CURSO TÉCNICO EM PROCESSAMENTO DE DADOS APOSTILA DE LÓGICA DE PROGRAMAÇÃO CAP Criação de Algoritmos e Programas PROFESSOR RENATO DA COSTA Não estamos aqui para sobreviver e sim para explorar a oportunidade

Leia mais

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

Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA

Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015 Visual Basic VBA Macros Funções Conjunto de instruções que são executadas sempre que se desejar e pela ordem apresentada As funções são

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

CURSO de CIÊNCIA DA COMPUTAÇÃO - Gabarito

CURSO de CIÊNCIA DA COMPUTAÇÃO - Gabarito UNIVERSIDADE FEDERAL FLUMINENSE TRANSFERÊNCIA 2 o semestre letivo de 2005 e 1 o semestre letivo de 2006 CURSO de CIÊNCIA DA COMPUTAÇÃO - Gabarito Verifique se este caderno contém : INSTRUÇÕES AO CANDIDATO

Leia mais

02. [Manzano, 1996] Escreva um programa em C que apresente os quadrados dos números inteiros de 15 a 200.

02. [Manzano, 1996] Escreva um programa em C que apresente os quadrados dos números inteiros de 15 a 200. 01. [Damas, 2007] Escreva um programa em C que escreva na tela toda a tabela ASCII (0 a 255 caracteres), escrevendo um cada linha o código ASCII e o caractere correspondente. Exemplo: 65 A 66 B 67 C 02.

Leia mais

ALP Algoritmos e Programação

ALP Algoritmos e Programação ALP Algoritmos e Programação Estruturas de Seleção. Motivação. Conceito. Exemplos.Exercícios 1 Motivação Ex: Algoritmo para o cálculo de raízes reais de equações de 2º grau. - E se o delta ( ) for negativo?

Leia mais

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO Capítulo 2. VARIÁVEIS DO TIPO INTEIRO OBJETIVOS DO CAPÍTULO Conceitos de: variáveis do tipo inteiro, atribuição, avisos e erros de compilação, erros de execução, comentários dentro do programa-fonte Operadores

Leia mais

AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br http://docente.ifrn.edu.br/albalopes

AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br http://docente.ifrn.edu.br/albalopes AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br http://docente.ifrn.edu.br/albalopes FUNÇÕES E PROCEDIMENTOS Também chamados de subalgoritmos São trechos de algoritmos

Leia mais

Simulado de Algoritmos - Respostas

Simulado de Algoritmos - Respostas Simulado de Algoritmos - Respostas 1. Descreva o processo de criação de programas, desde o entendimento do problema até a obtenção do resultado esperado, por meio de sua execução, citando os passos a serem

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

20 Caracteres - Tipo char

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

Leia mais

Algoritmos 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

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

LÓGICA DE PROGRAMAÇÃO Prof. José Geraldo

LÓGICA DE PROGRAMAÇÃO Prof. José Geraldo LÓGICA DE PROGRAMAÇÃO Prof. José Geraldo 1.1 Introdução A Lógica é forma de organizar os pensamentos e demonstrar o raciocínio de maneira correta. A utilização da lógica é a melhor maneira de solucionar

Leia mais

Estrutura de Repetição Simples

Estrutura de Repetição Simples Instituto de Ciências Eatas e Biológicas ICEB Lista de Eercícios Básicos sobre Laço Estrutura de Repetição Simples Eercício 01 Escreva um programa que imprima todos os números inteiros de 0 a 50. A seguir,

Leia mais

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES CAPÍTULO 5 5 VETORES E MATRIZES 5.1 Vetores Um vetor armazena uma determinada quantidade de dados de mesmo tipo. Vamos supor o problema de encontrar a média de idade de 4 pessoas. O programa poderia ser:

Leia mais

4ª Série de Exercícios Variáveis Compostas Homogêneas 1. Faça um algoritmo que leia, via teclado, 10 valores do tipo inteiro e os guarde na memória.

4ª Série de Exercícios Variáveis Compostas Homogêneas 1. Faça um algoritmo que leia, via teclado, 10 valores do tipo inteiro e os guarde na memória. 4ª Série de Exercícios Variáveis Compostas Homogêneas 1. Faça um algoritmo que leia, via teclado, 10 valores do tipo inteiro e os guarde na memória. 2. Amplie o exercício anterior emitindo um relatório

Leia mais

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos Vetores Nos capítulos anteriores estudamos as opções disponíveis na linguagem C para representar: Números inteiros em diversos intervalos. Números fracionários com várias alternativas de precisão e magnitude.

Leia mais

Programas C com Repetição

Programas C com Repetição Programas C com Repetição 1. Escrever um programa C que lê 5 valores para a, um de cada vez, e conta quantos destes valores são negativos, escrevendo esta informação. 2. Escrever um programa C que lê um

Leia mais

Módulo 1 -Algoritmos e Programação

Módulo 1 -Algoritmos e Programação Curso de Programação em Computadores V Módulo 1 -Algoritmos e Programação Aura Conci & Erick Oliveira aconci@ic.uff.br, erickr@id.uff.br Disciplina: Programação V Bibliografia básica: W. Celes, R. Cerqueira

Leia mais

3ª Lista de exercícios

3ª Lista de exercícios 3ª 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

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

Análise de Arredondamento em Ponto Flutuante

Análise de Arredondamento em Ponto Flutuante Capítulo 2 Análise de Arredondamento em Ponto Flutuante 2.1 Introdução Neste capítulo, chamamos atenção para o fato de que o conjunto dos números representáveis em qualquer máquina é finito, e portanto

Leia mais

Computadores XII: Aprendendo a Somar A4 Texto 3

Computadores XII: Aprendendo a Somar A4 Texto 3 Computadores XII: Aprendendo a Somar A4 Texto 3 http://www.bpiropo.com.br/fpc20051017.htm Sítio Fórum PCs /Colunas Coluna: B. Piropo Publicada em 17/10/2005 Autor: B.Piropo Na coluna anterior, < http://www.forumpcs.com.br/viewtopic.php?t=131250

Leia mais

Computador HIPO. Inicialmente vamos apresentar as unidades fundamentais de um computador:

Computador HIPO. Inicialmente vamos apresentar as unidades fundamentais de um computador: Computador HIPO Para introduzirmos as noções básicas de como funciona um computador, empregaremos um modelo imaginário (hipotético) que denominaremos de computador hipo. O funcionamento desse modelo tem

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Professor FRANCISCO VERÍSSIMO LUCIANO Prof. Me. Francisco Veríssimo Luciano /76 Curso Programador de Sistemas CURSO: Programador de Sistemas DISCIPLINA: Lógica de Programação EMENTA

Leia mais