Disciplina : Fundamentos de Computação Prof.ª Thelma Tradução dos Algoritmos de Portugol para Pascal 1. Estrutura do Programa Portugol algoritmo <nome_do_algoritmo> var <declaração_de_variáveis> início <corpo_do_algoritmo> fim Pascal program <nome_do_programa>; var <declararação_de_variáveis> begin <corpo_do_programa>; end. 2. Comandos de entrada e saída de dados Os comandos de entrada usados em Pascal têm a forma: READ (nome da(s) variável(is)) READLN (nome da(s) variável(is)) Exemplos: read (num); readln (num_1, num_2); Os dois comandos receberão os valores digitados de acordo com o tipo da variável e esperarão um Enter para indicar o término da entrada. No caso em que for informado um valor não compatível com o tipo de dado da variável, um erro será emitido e o programa será interrompido. Os comandos de saída têm a forma: WRITE (lista-de-identificadores e/ou constantes e/ou expressões) WRITELN (lista-de-identificadores e/ou constantes e/ou expressões) onde: lista-de-identificadores são os nomes de variáveis do tipo CHAR, INTEGER, REAL ou BOOLEAN, cujos valores serão enviados à unidade de saída, normalmente a tela do computador. A diferença entre estes dois comandos de saída é que o comando WRITE escreve os valores numa ou mais linhas, deixando que o próximo comando de saída continue escrevendo na última linha, se ainda houver espaço. Ao contrário, o comando WRITELN escreve os valores em uma ou mais linhas, terminando a última linha, de modo que o próximo comando de saída comece a escrever na linha seguinte. Exemplos: writeln ( num, ‘nomes foram digitados’); write (‘TABELA DE PREÇOS’); writeln ('X:', x, 'Y:', y, 'Z:', z); 2.1 Comando especial de entrada de dados - READKEY O comando de entrada READKEY é utilizado para receber uma única tecla do teclado; a tecla digitada não aparecerá na tela. A sintaxe do comando READKEY é: ENTRADA := readkey; O valor da tecla digitada será colocado na variável ENTRADA que deve ser do tipo char. Caso a tecla pressionada não seja nem letra nem número, o valor retornado será zero. Neste comando não é preciso pressionar RETURN para a atribuição do valor à variável, e esse comando deve sempre ser utilizado com a unidade CRT (digitar “uses crt;” na linha logo abaixo ao nome do programa). Este comando pode ainda ser usado como a última linha do programa imediatamente antes do end. para que o usuário consiga visualizar o resultado do programa antes do término da execução do mesmo. Neste caso basta digitar: readkey; 3. Tipos de Dados Tipo em Portugol Tipo em Pascal Tamanho Valores inteiro integer 2 bytes -32767 a 32768 real real 6 bytes 11 a 12 dígitos caractere char 1 byte Qualquer caractere lógico boolean 1 byte True ou False 4. Operadores Relacionais Operador em Portugol Operador em Pascal E AND OU OR NÃO NOT 5. Formatação de Números Reais Variável : nº total de casas : nº total de decimais Exemplo: soma:8:2 A variável soma será escrita com oito casas no total, sendo que duas serão reservadas para as casas decimais, uma é reservada para o ponto e as outras cinco para a parte inteira do número. 6. Comando para limpar a tela Clrscr (clearscreen) Exemplo: clrscr; 7. Comando para posicionar o cursor na tela Gotoxy(coluna, linha) Exemplo: gotoxy(10,4) – posiciona o cursor na coluna 10 da quarta linha. 2 8. Comando Condicional Simples (Se-então) if (condição) then comando; Exemplo: if (media >= 6) then writeln(‘Você foi aprovado!’); ou if (condição) then begin comando 1; comando 2; ..... comando n; end; 9. Comando Condicional Composto (Se-então-senão) if (condição) then begin comando 1; comando 2; ..... comando n; end else begin comando A; comando B; ..... comando X; end; Exemplos: if (media >= 6) then writeln(‘Você foi aprovado!’) else writeln(‘Você foi reprovado’); if (media >= 6) then begin writeln('Aluno aprovado!’); writeln('Parabéns!’); end else begin writeln('Aluno reprovado!’); writeln('Estude mais!’); end; 10. Comando Caso Case variável of Valor1: comando1; Valor2: comando2; Valor3: begin comando3; comando 4; end; else comando 5; end; Exemplo: case idade of 0..3: writeln(‘Bebê’); 4..11: writeln(‘Criança’); 12..17: writeln(‘Adolescente’); 18..60: writeln(‘Adulto’); 61..99: writeln(‘3ª Idade’); else writeln(‘Idade incorreta!’) end; 3 Comandos de Repetição Comando em Português enquanto faça repita até para Comando em Pascal while do repeat until for 11. Comando Enquanto while (condição) do begin comando 1; comando 2; ..... comando n; end; Exemplo while (cont < 40) do begin cont := cont + 1; acum := acum + media; end; 12. Comando Repita repeat comando 1; comando 2; ..... comando n; until (condição); Exemplo repeat write(‘Entre com a média: ’); read(media); acum := acum + media; cont := cont + 1; until (cont > = 50); 13. Comando Para for v:= vi to vf do begin comando 1; comando 2; ... comando n; end Exemplo for v:= 1 to 50 do begin write(‘Entre com a média: ’); read(media); acum := acum + media; end; 4