APOSTILA DE ALGORITMOS PROFESSOR ANDRÉ LUIZ NASSERALA PIRES



Documentos relacionados
CURSO TÉCNICO EM PROCESSAMENTO DE DADOS

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

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.

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

ALGORITMO ALGORITMO NÃO COMPUTACIONAL

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

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

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

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição

Algoritmos com VisuAlg

Resolução de problemas e desenvolvimento de algoritmos

Linguagem algorítmica: Portugol

Algoritmos e Programação de Computadores

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

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

Algoritmos e Programação. Prof. Tarcio Carvalho

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 7

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

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

Apostila de Portugol

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

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

Algoritmo e Programação

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

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

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Algoritmos Computacionais ( Programas )

ESTRUTURA CONDICIONAL

3. Tipos de Dados, Constantes e Variáveis.

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

VisuALG Estruturas de Repetição. Professores: Vilson Heck Junior Felipe Schneider Costa

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior

CURSO TÉCNICO EM PROCESSAMENTO DE DADOS

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

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

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

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

Introdução a Algoritmos Parte 04

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

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

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

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

Conceitos Importantes:

Aluísio Eustáquio da Silva

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

Capítulo 2: Introdução à Linguagem C

Orientação a Objetos

Componentes da linguagem C++

7. Estrutura de Decisão

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.

2ª Lista de exercícios

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson.

Introdução à Programação e Algoritmos. Aécio Costa

Algoritmos e Linguagens de Programação

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

e à Linguagem de Programação Python

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.

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

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS

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

Introdução aos cálculos de datas

Programação de Computadores III

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

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

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

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

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

A4 Projeto Integrador e Lista de Jogos

CADERNO DE EXERCÍCIOS ALGORITMOS

BC0501 Linguagens de Programação

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

Programação de Computadores. Professor Ilaim Costa Junior

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

ALGORITMOS. Supervisão: Prof. Dr.º Denivaldo Lopes

Programação para Computação

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

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

Introdução ao FORTRAN (Parte I)

INF 1005 Programação I

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UFRPE

Algoritmos em Javascript

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

Programação Básica em Arduino Aula 2

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

Excel Planilhas Eletrônicas

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

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

Computação Eletrônica

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

Algoritmos. Cláudio Barbosa

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

O modelo do computador

Transcrição:

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

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

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

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: 13 2 1 6 13 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

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

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

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

Constantes são endereços de memória destinados a armazenar informações fixas, inalteráveis durante a execução do programa. Exemplo: PI = 3.1416 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

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

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 = 3.1416; 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

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 = 3.1416; VAR RAIO, AREA : REAL; FIRB/FAAO 2007 Página 11/25

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

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

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

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

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

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

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

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

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

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

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: 5 + 7 *(8 5) = 8 [ 25 *3 + (7 4)] FIRB/FAAO 2007 Página 22/25

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

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

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 - 44.7 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: 11-13 anos;. juvenil B: 14-17 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) http://www.plastelina.net/games/game1.html b) http://www.plastelina.net/games/game2.html FIRB/FAAO 2007 Página 25/25