APOSTILA DE ALGORITMOS PROFESSOR ANDRÉ LUIZ NASSERALA PIRES

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

Download "APOSTILA DE ALGORITMOS PROFESSOR ANDRÉ LUIZ NASSERALA PIRES"

Transcrição

1 ALGORITMO Um Algoritmo é uma seqüência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema. Definimos Algoritmo como a seqüência de passos que visam atingir um objetivo bem definido. Os algoritmos são utilizados no dia-a-dia para a solução dos mais diversos problemas. Alguns exemplos genéricos de algoritmos usados no nosso cotidiano são: uma coreografia, um manual de instruções, uma receita de bolo, a solução de uma equação do 2º grau, uma pesquisa na lista telefônica, etc. O que todas essas coisas tem em comum? Elas podem ser vistas como uma serie finita e bem definida de passos ou regras que, quando realizadas, atingem um objetivo previamente definido. Assim, outra definição para algoritmos poderia ser: Algoritmo é a descrição de um conjunto de ações que, obedecidas, resultam numa sucessão finita de passos, atingindo um objetivo esperado. Dessa forma, vemos que, o que importa no algoritmo é o efeito das ações para a obtenção do resultado esperado. São propriedades de algoritmos: ações simples e bem definidas (não ambíguas); seqüência ordenada de ações; seqüência finita de passos. ALGORITMO NÃO COMPUTACIONAL Um algoritmo não computacional pode ser visto como uma seqüência de passos, como uma receita, para se resolver problemas cotidianos. Abaixo é apresentado um Algoritmo não computacional cujo objetivo é usar um telefone público. FIRB/FAAO 2007 Página 1/25

2 PROGRAMA Um programa é um Algoritmo escrito em uma linguagem computacional, ou seja, um algoritmo computacional. LINGUAGENS DE PROGRAMAÇÃO São Softwares que permitem o desenvolvimento de programas. Possuem um poder de criação ilimitado, desde jogos, editores de texto, sistemas empresariais até sistemas operacionais. Existem várias linguagens de programação, cada uma com suas características próprias. Exemplos: Pascal; Clipper; C; Visual Basic; Delphi e etc; TÉCNICAS ATUAIS DE PROGRAMAÇÃO Programação Estruturada; Programação Orientada a Eventos e Objetos; ALGORITMOS EM PORTUGOL Durante nosso curso iremos aprender a desenvolver nossos Algoritmos em uma pseudo-linguagem conhecida como Portugol ou Português Estruturado. Portugol é derivado da aglutinação de Português + Algol. Algol é o nome de uma linguagem de programação estruturada usada no final da década de 50, e posteriormente se transforma em Pascal(Object Pascal usado pelo DELPHI). OPERADORES ARITMÉTICOS + Adição - Subtração * Multiplicação / Divisão FIRB/FAAO 2007 Página 2/25

3 OPERADORES RELACIONAIS > Maior que < Menor que >= Maior ou Igual <= Menor ou Igual = Igual <> Diferente LINEARIZAÇÃO DE EXPRESSÕES Para a construção de Algoritmos todas as expressões aritméticas devem ser linearizadas, ou seja, colocadas em linhas. É importante também ressalvar o uso dos operadores correspondentes da aritmética tradicional para a computacional. Exemplo: 2 + ( 5 3) + 1= (2/3+(5-3))+1= 3 Tradicional Computacional MODULARIZAÇÃO DE EXPRESSÕES A modularização é a divisão da expressão em partes, proporcionando maior compreensão e definindo prioridades para resolução da mesma. Como pode ser observado no exemplo anterior, em expressões computacionais usamos somente parênteses ( ) para modularização. Na informática podemos ter parênteses dentro de parênteses. Exemplos de prioridades: (2+2)/2=2 2+2/2=3 FIRB/FAAO 2007 Página 3/25

4 OPERADORES ESPECIAIS (MOD e DIV) MOD Retorna o resto da divisão entre 2 números inteiros. DIV Retorna o valor inteiro que resulta da divisão entre 2 números inteiros. Exemplo: DIV 2 = 6 MOD DIV 13 MOD 2 = 1 FUNÇÕES Uma função é um instrumento (Sub algoritmo) que tem como objetivo retornar um valor ou uma informação. A chamada de uma função é feita através da citação do seu nome seguido opcionalmente de seu argumento inicial entre parênteses. As funções podem ser predefinidas pela linguagem ou criadas pelo programador de acordo com o seu interesse. Exemplos: Valor Inicial X X=9 Processamento x Valor Final Y Y=3 BIBLIOTECAS DE FUNÇÕES FIRB/FAAO 2007 Página 4/25

5 Armazenam um conjunto de funções que podem ser usadas pelos programas. FUNÇÕES PRÉ-DEFINIDAS ABS( ) SQRT( ) SQR( ) TRUNC( ) ROUND( ) LOG( ) SIN( ) COS( ) TAN( ) VALOR ABSOLUTO RAIZ QUADRADA ELEVA AO QUADRADO VALOR TRUNCADO VALOR ARREDONDADO LOGARITMO SENO COSENO TANGENTE As funções acima são as mais comuns e importantes para nosso desenvolvimento lógico, entretanto, cada linguagem possui suas funções própias. As funções podem ser aritméticas, temporais, de texto e etc. OPERADORES LÓGICOS Atuam sobre expressões retornando sempre valores lógicos como Falso ou Verdadeiro. E RETORNA VERDADEIRO SE AMBAS AS PARTES FOREM VERDADEIRAS. OU BASTA QUE UMA PARTE SEJA VERDADEIRA PARA RETORNAR FIRB/FAAO 2007 Página 5/25

6 VERDADEIRO. NÃO INVERTE O ESTADO, DE VERDADEIRO PASSA PARA FALSO E VICE-VERSA. TABELA VERDADE A B A E B A OU B NÃO (A) V V V V F V F F V F F V F V V F F F F V EXPRESSÕES LÓGICAS As expressões compostas de relações sempre retornam um valor lógico. Exemplos: 2+5>4 Verdadeiro 3<>3 Falso De acordo com a necessidade, as expressões podem ser unidas pelos operadores lógicos. Exemplos: 2+5>4 E 3<>3 Falso V F E F FIRB/FAAO 2007 Página 6/25

7 2+5>4 OU 3<>3 Verdadeiro V F OU V NÃO(3<>3) Verdadeiro F NÃO V VARIÁVEIS Variáveis são endereços de memória destinados a armazenar informações temporariamente. * Todo Algoritmo ou programa deve possuir variável! VARIÁVEIS DE ENTRADA E SAÍDA Variáveis de Entrada armazenam informações fornecidas por um meio externo, normalmente usuários ou discos. Variáveis de Saída armazenam dados processados como resultados. Exemplo: A B C=A+B De acordo com a figura acima A e B são Variáveis de Entrada e C é uma Variável de Saída. CONSTANTES FIRB/FAAO 2007 Página 7/25

8 Constantes são endereços de memória destinados a armazenar informações fixas, inalteráveis durante a execução do programa. Exemplo: PI = IDENTIFICADORES São os nomes dados a variáveis, constantes e programas. Regras Para construção de Identificadores: Não podem ter nomes de palavras reservadas (comandos da linguagem); Devem possuir como 1º caractere uma letra ou Underscore ( _ ); Ter como demais caracteres letras, números ou Underscore; Ter no máximo 127 caracteres; Não possuir espaços em branco; A escolha de letras maiúsculas ou minúsculas é indiferente. Exemplos: NOME TELEFONE IDADE_FILHO NOTA1 SALARIO PI UMNOMEMUITOCOMPRIDOEDIFICILDELER UM_NOME_MUITO_COMPRIDO_E_FACIL_DE_LER TIPOS DE DADOS Todas as Variáveis devem assumir um determinado tipo de informação. O tipo de dado pode ser: FIRB/FAAO 2007 Página 8/25

9 Primitivo Pré-definido pela linguagem; Sub-Faixa É uma parte de um tipo já existente; Escalar Definidos pelo programador. Exemplos: PRIMITIVO A : INTEIRO SUB - FAIXA TIPO NOTA=[1..10] DE INTEIRO TIPO SEMANA = (Segunda-feira, Terça-feira, Quarta-feira, Quinta-feira, Sexta-feira, Sábado, Domingo) ESCALAR TIPOS PRIMITIVOS DE DADOS INTEIRO ADMITE SOMENTE NÚMEROS INTEIROS. GERALMENTE É UTILIZADO PARA REPRESENTAR UMA CONTAGEM (QUANTIDADE). REAL ADMITE NÚMEROS REAIS (COM OU SEM CASAS DECIMAIS). GERALMENTE É UTILIZADO PARA REPRESENTAR UMA MEDIÇÃO. CARACTERE ADMITE CARACTERES ALFANUMÉRICOS. OS NÚMEROS QUANDO DECLARADOS COMO CARACTERES TORNAM SE REPRESENTATIVOS E PERDEM A ATRIBUIÇÃO DE VALOR. LÓGICO ADMITE SOMENTE VALORES LÓGICOS(VERDADEIRO/FALSO). COMANDOS DE I/O (INPUT/OUTPUT) LEIA Comando de entrada que permite a leitura de Variáveis de Entrada. FIRB/FAAO 2007 Página 9/25

10 ESCREVA Comando de saída que exibe uma informação na tela do monitor. IMPRIMA Comando de saída que envia uma informação para a impressora. SINAL DE ATRIBUIÇÃO Uma Variável nunca é eternamente igual a um valor, seu conteúdo pode ser alterado a qualquer momento. Portanto para atribuir valores a variáveis devemos usar o sinal de :=. Exemplos: A := 2; B := 3; C := A + B; SINAL DE IGUALDADE As constantes são eternamente iguais a determinados valores, portanto usamos o sinal de =. Exemplos: PI = ; Empresa = Colégio de Informática L.T.D.A. V = Verdadeiro CORPO GERAL DE UM PROGRAMA PROGRAMA <<identificador>>; CONST <<identificador>> = <<dado>> VAR <<identificador>> : <<tipo>>; ÍNICIO { COMANDOS DE ENTRADA,PROCESSAMENTO E SAÍDA <<comando1>>; <<comandon>> } FIRB/FAAO 2007 Página 10/25

11 ESTRUTURAS SEQÜÊNCIAIS Como pode ser analisado no tópico anterior, todo programa possui uma estrutura seqüencial determinada por um ÍNICIO e ; PONTO E VÍRGULA ; O sinal de ponto e vírgula ; indica a existência de um próximo comando (passa para o próximo). Na estrutura ÍNICIO e no comando que antecede um comando SENAO(visto mais a frente) não se usa ;. PRIMEIRO ALGORITMO Segue um Algoritmo que lê o nome e as 4 notas bimestrais de um aluno. Em seguida o Algoritmo calcula e escreve a média obtida. PROGRAMA MEDIA_FINAL; VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO; NOME : CARACTERE [35] LEIA(NOME); LEIA(NOTA1, NOTA2, NOTA3, NOTA4); MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4; ESCREVA (NOME, MEDIA); SEGUNDO ALGORITMO Segue um Algoritmo que lê o raio de uma circunferência e calcula sua área. PROGRAMA AREA_CIRCUNFERENCIA; CONST PI = ; VAR RAIO, AREA : REAL; FIRB/FAAO 2007 Página 11/25

12 LEIA (RAIO); {PROCESSAMENTO} AREA := PI * SQR(RAIO); {ENTRADA} ESCREVA ( AREA =, AREA); {SAÍDA} {LINHAS DE COMENTÁRIO} Podemos inserir em um Algoritmo comentários para aumentar a compreensão do mesmo, para isso basta que o texto fique entre Chaves {}. Exemplo: LEIA(RAIO); {ENTRADA} ASPAS SIMPLES Quando queremos exibir uma mensagem para a tela ou impressora ela deve estar contida entre aspas simples, caso contrário, o computador irá identificar a mensagem como Variável Indefinida. Exemplo: ESCREVA ( AREA OBTIDA =, AREA) {COMANDO DE SAÍDA} AREA OBTIDA = X.XX {RESULTADO GERADO NA TELA} ESTRUTURAS DE DECISÃO Executa uma seqüência de comandos de acordo com o resultado de um teste. A estrutura de decisão pode ser Simples ou Composta, baseada em um resultado lógico. Simples: SE <<CONDIÇÃO>> ENTÃO <<COMANDO1>> Composta 1: SE <<CONDIÇÃO>> ENTÃO <<COMANDO1>> SENÃO <<COMANDO1>> Composta 2: SE <<CONDIÇÃO>> ENTÃO FIRB/FAAO 2007 Página 12/25

13 <<COMANDO1>>; <<COMANDON>>; FIM SENÃO <<COMANDO1>>; <<COMANDON>>; FIM; Obs.: Note que o comando FIM que antecede o senão, não deve usar ;, mesmo que seja um SE de uma única linha. ALGORITMO TRÊS Segue um Algoritmo que lê 2 números e escreve o maior. PROGRAMA ACHA_MAIOR; VAR A, B : INTEIRO; ESCREVA( INFORME O PRIMEIRO NÚMERO: ); LEIA (A); ESCREVA( INFORME O SEGUNDO NÚMERO: ); LEIA (B); SE A>B ENTÃO ESCREVA ( O MAIOR NÚMERO É:,A) SENÃO ESCREVA ( O MAIOR NÚMERO É:,A); ALGORITMO QUATRO Segue um Algoritmo que lê o nome e as 4 notas bimestrais de um aluno. Em seguida o Algoritmo calcula e escreve a média obtida pelo aluno escrevendo também se o aluno foi aprovado ou reprovado. Média para aprovação = 6 PROGRAMA notas_alunos; FIRB/FAAO 2007 Página 13/25

14 VAR n1, n2, n3, n4, media : REAL; nome_aluno : CARACTERE[40]; ESCREVA('Informe o nome do aluno:'); LEIA(nome_aluno); ESCREVA('Informe a 1NPC:'); LEIA(n1); ESCREVA('Informe a 2NPC:'); LEIA(n2); ESCREVA('Informe a 3NPC:'); LEIA(n3); ESCREVA('Informe a 4NPC:'); LEIA(n4); media := (n1+n2+n3+n4)/4; SE (media >=6) ENTÃO ESCREVA('O aluno foi aprovado!') SENÃO ESCREVA('O aluno foi reprovado!); NINHOS DE SE Usados para tomadas de decisões para mais de 2 opções. Forma Geral: SE <<CONDIÇÃO>> ENTÃO <<COMANDO1>> SENÃO SE <<CONDIÇÃO>> ENTÃO <<COMANDO1>> SENÃO <<COMANDO1>>; ALGORITMO CINCO Segue um Algoritmo que lê 3 números e escreve o maior. PROGRAMA ACHA_MAIOR; VAR A, B, C: INTEIRO; FIRB/FAAO 2007 Página 14/25

15 ESCREVA( INFORME O PRIMEIRO NÚMERO: ); LEIA (A); ESCREVA( INFORME O SEGUNDO NÚMERO: ); LEIA (B); ESCREVA( INFORME O TERCEIRO NÚMERO: ); LEIA (C); SE ((A>B) E (A>C)) ENTÃO ESCREVA ( O MAIOR NÚMERO É, A) SENÃO SE ((B>A) E (B>C)) ENTÃO ESCREVA ( O MAIOR NÚMERO É, B) SENÃO ESCREVA ( O MAIOR NÚMERO É, C); ESTRUTURAS DE CONDIÇÃO A estrutura de condição eqüivale a um ninho de SE S. Forma Geral: FACA CASO CASO <<CONDIÇÃO1>> <<COMANDO1>>; CASO <<CONDIÇÃON>> <<COMANDO1>>; OUTROS CASOS <<COMANDO1>>; FIM DE CASO ALGORITMO SEIS Segue um Algoritmo que lê 3 números e escreve o maior. PROGRAMA ACHA_MAIOR; VAR A, B, C : INTEIRO; LEIA (A, B, C); FACA CASO FIRB/FAAO 2007 Página 15/25

16 CASO (A>B) E (A>C) ESCREVA ( O MAIOR NÚMERO É, A); CASO (B>A) E (B>C) ESCREVA ( O MAIOR NÚMERO É, B); OUTROS CASOS ESCREVA ( O MAIOR NÚMERO É, C); FIM DE CASO; ESTRUTURA DE REPETIÇÃO DETERMINADA Quando uma seqüência de comandos deve ser executada repetidas vezes, tem-se uma estrutura de repetição. A estrutura de repetição, assim como a de decisão, envolve sempre a avaliação de uma condição. Na repetição determinada o algoritmo apresenta previamente a quantidade de repetições. Forma Geral 1: PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>> FAÇA <<COMANDO1>>; Forma Geral 2: PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>> FAÇA ÍNICIO <<COMANDO1>>; <<COMANDON>> FIM; A repetição por padrão determina o passo do valor inicial até o valor final como sendo 1. Determinadas linguagens possuem passo 1 ou permitem que o programador defina o passo. ALGORITMO SETE Segue um algoritmo que escreve 10 vezes a frase VASCO DA GAMA PROGRAMA REPETICAO; VAR I:INTEIRO FIRB/FAAO 2007 Página 16/25

17 PARA I :=1 ATE 10 FACA ESCREVA ( VASCO DA GAMA 2007 ) ALGORITMO OITO Segue um algoritmo que escreve os 100 primeiros números pares. PROGRAMA PARES; VAR I,PAR: INTEGER; PAR:=0; PARA I:=1 ATE 100 FACA ESCREVA (PAR); PAR := PAR+2; FIM; ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO INICIAL É usada para repetir N vezes uma ou mais instruções. Tendo como vantagem o fato de não ser necessário o conhecimento prévio do número de repetições. Forma Geral 1: VALIDAÇÃO INICIAL ENQUANTO <<CONDIÇÃO>> FACA <<COMANDO1>>; Forma Geral 2: ENQUANTO <<CONDIÇÃO>> FACA ÍNICIO <<COMANDO1>>; <<COMANDON>> FIM; ALGORITMO NOVE FIRB/FAAO 2007 Página 17/25

18 Segue um algoritmo que calcule a soma dos salários dos funcionários de uma empresa. O programa termina quando o usuário digitar um salário menor que 0. PROGRAMA SOMA_SALARIOS; VAR SOMA, SALARIO : REAL; SOMA:=O; SALARIO:=1; ENQUANTO SALARIO>=0 ESCREVA( INFORME O SALARIO: ); LEIA (SALARIO); SOMA:=SOMA+SALARIO FIM; ESCREVA ( A SOMA TOTAL É:,SOMA); TODAS AS VARIÁVEIS QUE ACUMULAM VALORES DEVEM RECEBER UM VALOR INICIAL. ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO FINAL Assim como a estrutura ENQUANTO É usada para repetir N vezes uma ou mais instruções. Sua validação é final fazendo com que a repetição seja executada pelo menos uma vez. Forma Geral; REPITA <<COMANDO1>>; <<COMANDON>> ATE <<CONDIÇÃO>> ALGORITMO DEZ FIRB/FAAO 2007 Página 18/25

19 Segue um algoritmo que calcule a soma dos salários dos funcionários de uma empresa. O programa termina quando o usuário digitar um salário menor que 0. PROGRAMA SOMA_SALARIOS; VAR SOMA, SALARIO : REAL; SOMA:=O; REPITA ESCREVA( INFORME O SALARIO: ); LER (SALARIO); SOMA:=SOMA+SALARIO; ATE SALARIO<0; ESCREVA ( A SOMA TOTAL É:,SOMA); ALGORITMO ONZE Segue um algoritmo que escreve os 100 primeiros números pares. PROGRAMA PARES_2; VAR I, PAR, CONTADOR : INTEIRO; CONTADOR := 0; PAR := 0; REPITA ESCREVA (PAR); PAR := PAR+2; CONTADOR := CONTADOR+1; ATE CONTADOR=100; Programas Equivalentes O algoritmo onze poderia ter sido criado com qualquer estrutura de repetição. Portanto podemos ter algoritmos que FIRB/FAAO 2007 Página 19/25

20 são escritos de maneiras diferentes, mas, funcionam realizando o mesmo objetivo. Linguagem PASCAL linguagem de programação estruturada que recebeu este nome em homenagem ao matemático Blaise Pascal. Foi criada em 1970 pelo suíço Niklaus Wirth, como uma linguagem voltada especificamente para estudantes, tendo em mente encoraja-los à programar utilizando código estruturado. A criação de Pascal reflete a opinião pessoal de Niklaus Wirth após seu envolvimento com a especificação de ALGOL 68, e sua sugestão para essa especificação, o ALGOL W. A linguagem é extremamente bem estruturada e muito adequada para ensino de linguagens de programação. É provavelmente uma das linguagens mais bem resolvidas entre as linguagens estruturadas, e certamente um dos exemplos de como uma linguagem especificada por uma pessoa pode ser bem melhor do que uma linguagem especificada por um comitê. Pascal originou uma enorme gama de dialetos, podendo também ser considerada uma família de linguagens de programação. Grande parte de seu sucesso se deve a criação, na década de 80, da linguagem Turbo Pascal, inicialmente disponível para computadores baseados na na arquitetura 8086 (com versões para 8080 no seu início). Pascal é normalmente uma das linguagens de escolha para ensinar programação, junto com Scheme, C e Fortran. Comercialmente, a linguagem foi sucedida pela criação da linguagem Object Pascal, atualmente utilizada nas IDEs Borland Delphi, Kylix e Lazarus. Academicamente, seus sucessores são as linguagens subsequentes de Niklaus Wirth: Modula-2 e Oberon A partir da versão 2005, o Delphi passou a se referir a sua linguagem de programação como Delphi Language. PASCALZIM O compilador PASCAL ZIM!, desenvolvido no Departamento de Ciências da Computação da Universidade de Brasília, é fruto de muitos anos de pesquisa e trabalho na área de tradutores e linguagens de programação. Adotado como ferramenta de apoio ao ensino e aprendizagem da linguagem Pascal pelos alunos matriculados no curso de Introdução à Ciência da Computação nesta instituição, o compilador começou a ser utilizado no primeiro semestre do ano No segundo semestre de 2001 a ferramenta passou a ser utilizada pelos alunos do Instituto de Ensino Superior de Brasília - IESB para o aprendizado da disciplina Algoritmos e Programação Estruturada. FIRB/FAAO 2007 Página 20/25

21 A ferramenta foi exaustivamente testada em laboratório, mas ainda assim não se encontra livre de erros de implementação. A correção destes será efetuada tão breve quanto sua descoberta, levando à disponibilidade de versões mais atualizadas do compilador. O compilador implementa um subconjunto da linguagem Pascal e contém as estruturas de dados, funções e comandos mais utilizados por iniciantes no estudo dessa linguagem. O arquivo de ajuda que acompanha o produto especifica as instruções suportadas. O PASCAL ZIM! foi concebido com finalidade meramente educacional e sua distribuição é livre. Principais Comandos em PASCAL: Algoritmo Pascal Programa Program Var Var Const Const Inteiro Integer Real Real Caractere String, Char Lógico Boolean Se If Inicio Begin Fim End Escreva Write, Writeln Leia Read, Readln Caso Case Enquanto While Senão Èlse Para For Então Then Exemplo de Algoritmo: Programa Dólar_para_Real; Var Valor_Dolar, Qtd_Dolar, Total_Real : Real; Inicio Escrever( Informe o Valor do Dólar: ); Ler(Valor_Dolar); Escrever( Informe a Quantidade de Dólares ); Ler(Qtd_Dolar); Total_Real := Qtd_Dolar * Valor_Dolar; Escrever(Qtd_Dolar, Em Reais são, Total_Real); Fim. FIRB/FAAO 2007 Página 21/25

22 O mesmo Programa em PASCAL: Program Dolar_para_Real; Var Valor_Dolar, Qtd_Dolar, Total_Real : Real; Begin Write( Informe o Valor do Dólar: ); Read(Valor_Dolar); Write( Informe a Quantidade de Dólares ); Read(Qtd_Dolar); Total_Real := Qtd_Dolar * Valor_Dolar; Write(Qtd_Dolar, Em Reais são, Total_Real); End. Outro exemplo de programa pascal: program name; var n1,n2,q1,q2:string; begin clrscr; write('primeiro nome:'); readln(n1); write('segundo nome:'); readln(n2); write('primeira qualidade:'); readln(q1); write('segunda qualidade:'); readln(q2); writeln(n1,' ',q1); write(n2,' ',q2); end. EXECÍCIOS 1)O QUE É UM ALGORITMO? E QUAIS OS TIPOS DE ALGORIMOS? 2)RESPONDA: a) QUE É UM PROGRAMA. b) QUAIS AS PROPRIEDADES DE UM ALGORITMO. c) QUAIS SÃO AS TÉCNICAS DE PROGRAMAÇÃO. d) O QUE É VARIAVEL E CONSTANTE? e) O QUE SÃO FUNÇÕES. 3)CRIE UM ALGORITMO NÃO COMPUTACIONAL, QUE TROQUE UM PNEU DE CARRO. 4)O QUE É UMA LINGUAGEM DE PROGRAMAÇÃO? 5)LINEARIZE AS EXPRESSÕES ABAIXO: *(8 5) = 8 [ 25 *3 + (7 4)] FIRB/FAAO 2007 Página 22/25

23 6)Complete a tabela abaixo (A e B são variáveis lógicas; V= verdadeiro e F= falso) A B A ou B A e B não A V V V F F V F F 7) Resolva as seguintes expressões lógicas: a) (7 mod 3 = 1) ou (4 + 5 =8) b) NÃO(sqrt(144) = 13) e (8 div 2 = 5) c) (2 mod 2 =0 e NÃO(trunc(1/3 = 0,34))) ou NÃO(3+3=6) 8) Analise os códigos abaixo e explique suas saídas(finalidades): a) Programa xxxx; VAR X,I : INTEIRO; X := 3; PARA I := 1 ATE 10 FAÇA X := X * I; ESCREVA(X); FIM; b) PROGRAMA XXXX; VAR X,Y : INTEIRO; ESCREVA( INFORME UM NUMERO: ); LEIA(X); Y := X+10; ESCREVA(Y); FIM; 8) CRIE ALGORITMOS PARA OS SEGUINTES PROBLEMAS: a) Faça um programa que receba dois números inteiros, calcule e imprima a soma desses números. b) Faça um programa que receba dois números reais, calcule e imprima a subtraçãodo primeiro número pelo segundo. FIRB/FAAO 2007 Página 23/25

24 c) Faça um programa que receba dois números inteiros, calcule e imprima a divisão do primeiro pelo segundo. d) Faça um programa que receba dois números inteiros, calcule e imprima: i) soma dos dois números; ii) subtração do primeiro pelo segundo; iii) subtração do segundo pelo primeiro; iv) multiplicação dos dois números; v) divisão do primeiro pelo segundo; vi) divisão do segundo pelo primeiro; e) Faça um programa que receba 4 notas de um aluno, calcule e imprima a média aritmética entre essas notas. f) Faça um programa que receba duas notas de um aluno e seus respectivos pesos, calcule e imprima a média ponderada dessas notas. g) Faça um programa que receba um número inteiro, calcule e imprima a tabuada desse número. h) Escreva um programa que receba o valor de um depósito e o valor da taxa de juros. Calcule e imprima o valor do rendimento e o valor total depois do rendimento. (Total = valor *taxa de juros + valor, onde rendimento = valor*taxa de juros) i) Escreva um programa que receba o valor do salário de um funcionário e o valor do salário mínimo. Calcule e imprima quantos salários mínimos ganha esse funcionário. j) Faça um programa que receba o salário de um funcionário, calcule e imprima o valor do imposto de renda a ser pago, sabendo que o imposto equivale a 5% do salário. l) Faça um programa que receba o salário de um funcionário, calcule e imprima o novo salário sabendo-se que este sofreu um aumento de 22%. m) Sabe-se que o quilowatt de energia custa um quinto do salário mínimo. Faça um programa que receba o valor do salário mínimo e a quantidade de quilowatts gasta por uma residência. Calcule e imprima: i) o valor, em reais, de cada quilowatt; ii) o valor, em reais, a ser pago por essa residência; iii) o novo valor a ser pago por essa residência, a partir de um desconto de 15%. FIRB/FAAO 2007 Página 24/25

25 n) Faça um programa que receba o peso de uma pessoa, um valor inteiro, calcule e imprima: i) o peso dessa pessoa em gramas; ii) se essa pessoa engordar 5%, qual será seu novo peso em gramas. o) Faça um programa que leia três valores inteiros, determine e imprima o menor deles. p) Faça um programa que, dado um número inteiro, verifique se este número é par. q) Dados 3 números (x,y,z), faça um programa em Pascal que imprima-os em ordem decrescente. r) Tendo como dados de entrada a altura, o peso e o sexo de uma pessoa, faça um programa que verifique se a pessoa está acima, abaixo ou no seu peso ideal. Utilize as fórmulas abaixo para o cálculo do peso ideal: para homens: 72.7 * h - 58 para mulheres: 62.1 * h s) Elabore um programa que, dada a idade de um nadador, classifique-o em uma das seguintes categorias:. infantil A: 5-7 anos;. infantil B: 8-10 anos;. juvenil A: anos;. juvenil B: anos;. sênior: maiores de 18 anos. t) Dados três valores X, Y, Z, verifiquem se eles podem ser os comprimentos dos lados de um triângulo e se forem escrever uma mensagem informando se é se é um triângulo equilátero, isósceles ou escaleno. Observações: O comprimento de um lado do triângulo é sempre menor do que a soma dos outros dois. Eqüilátero Todos lados iguais Isósceles Dois lados iguais Escaleno Todos os lados diferentes 9 Responda as seguintes questões de lógica na Internet: a) b) FIRB/FAAO 2007 Página 25/25

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

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

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

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

ALGORITMO ALGORITMO NÃO COMPUTACIONAL

ALGORITMO ALGORITMO NÃO COMPUTACIONAL Lógica & Algoritmos ALGORITMO Um Algoritmo é uma seqüência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema. ALGORITMO NÃO COMPUTACIONAL Abaixo é apresentado

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

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

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

Leia mais

Aula 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

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

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

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

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

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

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

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

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

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

Leia mais

Algoritmos e Programação. Prof. Tarcio Carvalho

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

Leia mais

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

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

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

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

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Linguagem e Técnicas de Programação I Operadores, expressões e funções Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Operadores básicos Toda linguagem de programação, existem

Leia mais

Apostila de Portugol

Apostila de Portugol Apostila de Portugol TIPOS PRIMITIVOS DE DADOS INTEIRO ADMITE SOMENTE NÚMEROS INTEIROS. GERALMENTE É UTILIZADO PARA REPRESENTAR UMA CONTAGEM (QUANTIDADE). REAL ADMITE NÚMEROS REAIS (COM OU SEM CASAS DECIMAIS).

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

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

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

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

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

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

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

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

SUMÁRIO INTRODUÇÃO... 3 ALGORITMO... 4 ALGORITMO NÃO COMPUTACIONAL... 7 PROGRAMA... 7 LINGUAGENS DE PROGRAMAÇÃO... 8

SUMÁRIO INTRODUÇÃO... 3 ALGORITMO... 4 ALGORITMO NÃO COMPUTACIONAL... 7 PROGRAMA... 7 LINGUAGENS DE PROGRAMAÇÃO... 8 SUMÁRIO INTRODUÇÃO... 3 ALGORITMO... 4 ALGORITMO NÃO COMPUTACIONAL... 7 PROGRAMA... 7 LINGUAGENS DE PROGRAMAÇÃO... 8 TÉCNICAS ATUAIS DE PROGRAMAÇÃO... 9 ALGORITMOS EM PORTUGOL... 9 OPERADORES ARITMÉTICOS...

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

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

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

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

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Linguagens de Programação Material

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

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

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

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

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

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura UFPI CCN DIE Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura O projeto Desenvolver um compilador de um subconjunto básico da linguagem PORTUGOL.

Leia mais

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

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

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

Leia mais

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

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

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

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

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

Componentes da linguagem C++

Componentes da linguagem C++ Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras

Leia mais

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

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem. 1 - O que é JAVASCRIPT? É uma linguagem de script orientada a objetos, usada para aumentar a interatividade de páginas Web. O JavaScript foi introduzido pela Netscape em seu navegador 2.0 e posteriormente

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

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

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

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos.

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos. Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos. Construtor: método executado por uma CLASSE (e não por um objeto, instância da classe)

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

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

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

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

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS Compilação dos erros mais comuns cometidos por estudantes de Introdução a Algoritmos Marcos Portnoi Edição 19.4.2007 Universidade Salvador UNIFACS

Leia mais

FERRAMENTAS BÁSICAS DA PROGRAMAÇÃO (cont)

FERRAMENTAS BÁSICAS DA PROGRAMAÇÃO (cont) FERRAMENTAS BÁSICAS DA PROGRAMAÇÃO (cont) ENTRADA E SAÍDA DE DADOS As linguagens de programação possuem uma grande variedade de comandos de entrada e saída. Os mais comuns são: As linguagens de programação

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

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Introdução a Linguagens de Programação Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157

Leia mais

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01 IFTO LÓGICA DE PROGRAMAÇÃO AULA 01 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://manoelcampos.com mcampos at ifto.edu.br Versão

Leia mais

Algoritmos e Programação _ Departamento de Informática

Algoritmos e Programação _ Departamento de Informática 5 TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. De um modo geral estas informações podem ser classificadas em dois tipos:

Leia mais

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

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

Leia mais

Compilado pela Prof a Sílvia Moraes Organizado por Stewart Unger

Compilado pela Prof a Sílvia Moraes Organizado por Stewart Unger Algoritmos Seqüênciais e Condicionais Compilado pela Prof a Sílvia Moraes Organizado por Stewart Unger 1. Construa um algoritmo que, tendo como dados de entrada dois pontos quaisquer no plano, P(x1,y1)

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

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

CADERNO DE EXERCÍCIOS ALGORITMOS

CADERNO DE EXERCÍCIOS ALGORITMOS C. EXERCÍCIOS ESTRUTURA SE...ENTAO 31. Faça um algoritmo que leia dois números A e B e imprima o maior deles. 32. Faça um algoritmo que leia um número N e imprima F1, F2 ou F3, conforme a condição: F1,

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

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

Programação de Computadores. Professor Ilaim Costa Junior ilaim@ic.uff.br Www.ic.uff.br/~ilaim

Programação de Computadores. Professor Ilaim Costa Junior ilaim@ic.uff.br Www.ic.uff.br/~ilaim Programação de Computadores Professor Ilaim Costa Junior ilaim@ic.uff.br Www.ic.uff.br/~ilaim Roteiro da Aula de Hoje Introdução ao FORTRAN (Parte I) Organização de programas Tipos de dados Variáveis Programação

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 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. Supervisão: Prof. Dr.º Denivaldo Lopes

ALGORITMOS. Supervisão: Prof. Dr.º Denivaldo Lopes Laboratory of Software Engineering and Computer Network Engineering for a better life Universidade Federal do Maranhão Curso de Engenharia Elétrica ALGORITMOS Supervisão: Prof. Dr.º Denivaldo Lopes Adelman

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

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

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

Introdução ao FORTRAN (Parte I)

Introdução ao FORTRAN (Parte I) Programação de Computadores III Aula 7 Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-03.063 Roteiro da Aula

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UFRPE

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UFRPE Seção 1: Algoritmos Seqüências 1. Qual o valor das variáveis x, y, z e k após a execução do seguinte trecho de código? int x, y; int a = 14, b = 3; float z, k; Solução: x=14/3=4 y=14mod(3)=2 z=14/3=4 k=3/2.0=1.5

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

3/19/2014. Compilador DEV C++ ENGENHARIAS LÓGICA DE PROGRAMAÇÃO Henry Lubanco/ Joelio Piraciaba

3/19/2014. Compilador DEV C++ ENGENHARIAS LÓGICA DE PROGRAMAÇÃO Henry Lubanco/ Joelio Piraciaba Compilador DEV C++ 101 Compilador DEV C++ 102 1 Compilador DEV C++ Compilar (Ctrl+F9) Executar (Ctrl+F10) Compilar e executar (F9) 103 Compilador DEV C++ Escolher a pasta Escolher o nome e o tipo de arquivo

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

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

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

A Linguagem Pascal e o Ambiente de Programação Dev-Pascal. Introdução à Ciência da Computação I

A Linguagem Pascal e o Ambiente de Programação Dev-Pascal. Introdução à Ciência da Computação I A Linguagem Pascal e o Ambiente de Programação Dev-Pascal Introdução à Ciência da Computação I Março/2004 Introdução (1 de 3) Homenagem a Blaise Pascal, filósofo e matemático do século XVII. Desenvolvida

Leia mais

Expressões Lógicas Comandos de Seleção

Expressões Lógicas Comandos de Seleção Expressões Lógicas e Comandos de Seleção Prof. de Algoritmos IA Expressões Lógicas São expressões que resultam em valores lógicos : verdadeiro ou falso. Em VB: a constante True representa verdadeiro a

Leia mais

Computação Eletrônica

Computação Eletrônica Computação Eletrônica Introdução ovsj@cin.ufpe.br Observação: Material da Disciplina Computação Eletrônica CIN/UFPE. Computador O que diferencia o computador de outras máquinas? Comportamento variável;

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

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

O modelo do computador

O modelo do computador O modelo do computador Objetivos: Mostrar como é o funcionamento dos computadores modernos Mostrar as limitações a que estamos sujeitos quando programamos Histórico Os primeiros computadores são da década

Leia mais