PASCAL Adriano Mauro Cansian André Proto

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

Download "PASCAL Adriano Mauro Cansian André Proto"

Transcrição

1 PASCAL Adriano Mauro Cansian André Proto UNESP - São José do Rio Preto Linguagem Computacional Programação Pascal Prof. Dr. Adriano Mauro Cansian 1

2 Programando em Pascal (1) Pascal é uma linguagem altamente estruturada que possui uma rigidez definida, embora sua estrutura de programa seja flexível. Cada seção ou parte de um programa em Pascal deve aparecer numa seqüência apropriada. Deve ser sistematicamente correta. Senão ocorrerá um erro. Adriano Mauro Cansian 3 Programando em Pascal (2) No Pascal não há regras específicas para o uso de espaço, linhas quebradas, requisições, etc Assim os comandos podem ser escritos no formato livre em quase todos os estilos em que o programador deseja utilizar. Adriano Mauro Cansian 4 Prof. Dr. Adriano Mauro Cansian 2

3 Programando em Pascal (3) Um programa escrito em Pascal tem o seguinte formato: PROGRAM <nome_identificador>; <bloco_do_programa>. Adriano Mauro Cansian 5 Bloco do programa O <bloco_do_programa>, por sua vez, está dividido em seis áreas possíveis, onde somente a última é obrigatória e devem uma seqüência determinada a seguir. Adriano Mauro Cansian 6 Prof. Dr. Adriano Mauro Cansian 3

4 Áreas de um programa As áreas possíveis são, na seqüência: Área de declaração de uso de unidades. Área de declaração de constantes. Área de declaração de tipos. Área de declaração de variáveis. Área de declaração de procedimentos e funções. Área de comandos (obrigatória). Adriano Mauro Cansian 7 Declaração de uso de dispositivos (1) Um programa Pascal pode fazer uso de alguns dispositivos padrão que estão disponíveis no sistema, tais como: CRT, DOS, PRINTER, GRAPH, etc... A área de declaração de uso de dispositivos possui o seguinte formato: USES <unidade>,...,<unidade> ; Adriano Mauro Cansian 8 Prof. Dr. Adriano Mauro Cansian 4

5 Declaração de uso de dispositivos (2) EXEMPLO: USES CRT,PRINTER; Adriano Mauro Cansian 9 Declaração de constantes (1) Serve para associarmos nomes às constantes utilizadas no programa. Possui o seguinte formato: CONST <identificador>=<valor>;...; <identificador>=<valor>; Adriano Mauro Cansian 10 Prof. Dr. Adriano Mauro Cansian 5

6 Declaração de constantes (2) EXEMPLO: CONST BRANCO = ' '; PI = ; MAX = 10 ; OK = TRUE; Adriano Mauro Cansian 11 DECLARAÇÃO DE TIPOS Serve para definirmos novos tipos e estruturas de dados. Não detalharemos esse tópico agora por ser assunto dos próximos capítulos. Adriano Mauro Cansian 12 Prof. Dr. Adriano Mauro Cansian 6

7 Declaração de variáveis (1) Serve para associarmos tipos às variáveis utilizadas no programa. Possui o seguinte formato: VAR <lista-de-identificadores> : <tipo>;... <lista-de-identificadores> : <tipo>; Adriano Mauro Cansian 13 Declaração de variáveis (2) Onde: <lista-de-identificadores> é uma lista de nomes de variáveis de um mesmo tipo, separadas por vírgula. <tipo> é o nome de um dos tipos predefinidos na linguagem ou criado pelo programador. Adriano Mauro Cansian 14 Prof. Dr. Adriano Mauro Cansian 7

8 Declaração de variáveis (3) EXEMPLO: VAR X,Y,Z : REAL; I,J : INTEGER; ACHOU : BOOLEAN; LETRA : CHAR; PALAVRA,FRASE : STRING; Adriano Mauro Cansian 15 Declaração de procedimentos e funções Nesta área são definidos os procedimentos e funções utilizados pelo programa. Também é um assunto que será detalhado mais adiante. Adriano Mauro Cansian 16 Prof. Dr. Adriano Mauro Cansian 8

9 Área de comandos É nesta área onde é inserido o algoritmo do programa. Os comandos são separados entre si pelo delimitador ponto-e-vírgula. A forma geral é: BEGIN <comando> ;... ; <comando> END. Adriano Mauro Cansian 17 Comentários Um comentário é usado para aumentar a clareza de um programa, embora não seja analisado pelo computador. Deve ser escrito entre chaves: {Isto é um comentário} {O programa não interpreta} {o que está entre chaves} Adriano Mauro Cansian 18 Prof. Dr. Adriano Mauro Cansian 9

10 EXEMPLO: Program REAJUSTE_SALARIO; {Finalidade: Calc. o reajuste de um salario em 20%} Uses Crt; Const IND = 0.20; {indice do reajuste} Var SAL_ATUAL {salario atual}, SAL_NOVO {novo salario}, AUMENTO {valor do aumento} : Real; clrscr; {limpa a tela} End. {leitura do salario atual} write('digite o salario atual: '); readln(sal_atual); {calculo do reajuste} AUMENTO := SAL_ATUAL * IND; SAL_NOVO := SAL_ATUAL + AUMENTO; {exibicao do resultado} writeln('novo Salario = ',SAL_NOVO:10:2); readkey; { aguarda pressionar uma tecla } Adriano Mauro Cansian 19 COMANDOS BÁSICOS DA LINGUAGEM PASCAL Prof. Dr. Adriano Mauro Cansian 10

11 Atribuição O comando de atribuição tem a forma: <identificador> := <expressão> No comando de atribuição, a variável e a expressão devem ser do mesmo tipo, exceto nos seguintes casos: variável sendo real, a expressão pode ser integer variável sendo string, a expressão pode ser char. Adriano Mauro Cansian 21 Entrada / Input (1) Um comando de entrada serve para que o programa solicite dados num determinado momento. Esses dados fornecidos serão armazenados em variáveis na memória. Em geral a unidade de entrada é o teclado, podendo também ser uma memória auxiliar como o hard disk ou um disquete. Adriano Mauro Cansian 22 Prof. Dr. Adriano Mauro Cansian 11

12 Entrada / Input (2) Considerando a unidade de entrada padrão, o teclado, o comando seria: READ(<identificador-1>,,<identificador-n>); ou READLN(<identificador-1>,...,<identificador-n>); Adriano Mauro Cansian 23 Entrada / Input (3) Com READ o cursor permanece na mesma linha após a execução do comando Com o READLN o cursor muda para a próxima linha. Em geral, um comando READ é precedido de uma operação de escrita, fornecendo uma orientação do que o usuário deve fazer. Veremos operações de saída em seguida. Adriano Mauro Cansian 24 Prof. Dr. Adriano Mauro Cansian 12

13 Exemplo de leitura: (1) Se o programa deve solicitar as três notas de um aluno, teríamos: readln (NOTA1,NOTA2,NOTA3);... Ação: No momento da execução do comando acima, o programa mostra a tela do usuário, e o cursor aparece esperando a digitação dos três valores, que devem ser separada por, pelo menos, um espaço em branco. Adriano Mauro Cansian 25 Exemplo de leitura: (2) O valor 3.5 será armazenado na variável NOTA1, o valor 7.0 em NOTA2 e o valor 8.2 em NOTA3. Adriano Mauro Cansian 26 Prof. Dr. Adriano Mauro Cansian 13

14 Saída (1) Um comando de saída serve para que o programa mostre informações ao usuário. As informações podem ser quaisquer dados ou resultados do programa. A unidade de saída padrão é o monitor de vídeo, podendo ser também a impressora ou uma memória auxiliar como o disco. Adriano Mauro Cansian 27 Saída (2) Considerando a unidade de saída padrão, o monitor de vídeo, o comando é: WRITE(<expressão1>,...,<expressão-n>);. ou... WRITELN(<expressão1>,...,<expressão-n>); Adriano Mauro Cansian 28 Prof. Dr. Adriano Mauro Cansian 14

15 Saída (3) Com WRITE o cursor permanece na mesma linha após a execução do comando. Com WRITELN o cursor muda para a próxima linha. Adriano Mauro Cansian 29 Saída (4) EXEMPLO: A:=1; B:=2; writeln ('Soma de ',A,' e ',B,' = ',A+B); No caso de variáveis do t ipo REAL os valores são mostrados na notação exponencial, num campo de 16 posições, a menos que uma formatação seja especificada. EXEMPLO: MEDIA := ( ) / 2 ; writeln (MEDIA); {saída E+00} writeln (MEDIA:5:2); {saída 5.00} Na formatação, se a variável for real especificamos o total de posições ocupadas e a quantidade de casas decimais. Se inteira, só o total de posições. Adriano Mauro Cansian 30 Prof. Dr. Adriano Mauro Cansian 15

16 Saída (5) Se desejarmos que a saída seja através da impressora e não do monitor de vídeo, devemos especificar no começo da lista da saída o parâmetro LST e a unidade de dispositivo PRINTER com o comando USES. EXEMPLO: Uses PRINTER; ::: writeln (LST, 'Media = ', MEDIA:5:2); Adriano Mauro Cansian 31 Entrada e saída combinados No instante da solicitação de dados, podemos usar junto com o READ ou READLN um comando de saída com a finalidade de emitir mensagens que orientem o usuário na digitação dos dados. EXEMPLOS: writeln('digite o Nome:'); readln(nome); writeln('digite as 3 Notas:'); readln(nota1,nota2,nota3); writeln('digite o salário do funcionário:'); readln(salario); Adriano Mauro Cansian 32 Prof. Dr. Adriano Mauro Cansian 16

17 Estruturas de decisão O que faz uma estrutura de decisão (1) As estruturas de decisão (condicionais) são utilizadas para tomar uma decisão baseada no resultado da avaliação de uma condição de controle. Assim seleciona uma ou mais ações possíveis (comandos) para serem executados sequencialmente pelo computador. Adriano Mauro Cansian 34 Prof. Dr. Adriano Mauro Cansian 17

18 O que faz uma estrutura de decisão (2) No Pascal, existe três tipos de estrutura de decisão: O comando IF, que pode ser utilizado de duas formas: simples ou composto; E o comando CASE, que é utilizado para uma decisão seletiva. Veremos exemplos Adriano Mauro Cansian 35 Decisão simples if - then (1) Utilizado quando se deseja executar uma ação (um comando ou uma seqüência de comandos) no caso uma determinada condição ser verdadeira. A estrutura de decisão simples do Pascal é o if-then, e deve ser utilizada da seguinte forma: IF <condição> THEN <comando> Neste caso, o <comando> só será executado se a <condição> resultar no valor TRUE. Adriano Mauro Cansian 36 Prof. Dr. Adriano Mauro Cansian 18

19 Decisão simples if - then (2) A <condição> deve ser uma expressão lógica. O <comando> pode ser um comando simples ou um conjunto de comandos, chamado de comando composto. Um comando composto é formado por dois ou mais comandos, separados por ponto-e-vírgula e delimitados por BEGIN e END; Adriano Mauro Cansian 37 Exemplo de decisão simples EXEMPLO: Program EXEMPLO_DE_DECISAO_SIMPLES; {Ler um número inteiro, subtrair 10 e exibí-lo se for positivo} Var N : integer; Writeln( Entre com valor de N:`); readln(n); N := N 10 ; if N > 0 then begin { inicia se N>0 for verdade } writeln(`o valor resultante de N-10 é positivo`); writeln(`n é igual a:`, N); end; { fim do begin do then } Writeln( O programa terminou`); End. { fim do programa } Adriano Mauro Cansian 38 Prof. Dr. Adriano Mauro Cansian 19

20 Decisão composta if-then-else (1) Utilizada quando se deseja executar um entre dois comandos (ou uma entre duas seqüências de comandos), dependendo do resultado de uma condição. A estrutura de decisão composta do Pascal é o IFthen-ELSE (se-então-senão), mas executado com a seguinte sintaxe: IF <condição> THEN <comando1> ELSE <comando2> Adriano Mauro Cansian 39 Decisão composta if-then-else (1) IF <condição> THEN <comando1> ELSE <comando2> Neste caso, se a <condição> resultar no valor TRUE, será executado o <comando1>. Caso contrário, será executado o <comando2>. Também aqui, a <condição> deve ser uma expressão lógica, e <comando1> e <comando2> devem ser um comando simples ou um comando composto. Adriano Mauro Cansian 40 Prof. Dr. Adriano Mauro Cansian 20

21 EXEMPLO: Program EXEMPLO_DE_DECISAO_SIMPLES; {Ler um número inteiro, subtrair 10 e determinar } {se o resultado é maior que zero ou não } Var N : integer; Writeln( Entre com valor de N:`); readln(n); N := N 10 ; if N > 0 then begin { inicia se N>0 for verdade } writeln(`o resultado de N-10 é maior que zero`); writeln(`o resultado é igual a:`, N); end { fim do begin do then } { note que NÃO há o ponto-e-virgula } else begin writeln(`o resultado de N-10 não é maior que zero`); writeln(`o resultado é igual a:`, N); end; { fim do begin do else } { note que há o ponto-e-virgula } Writeln( O programa terminou. Adeus`); End. { fim do programa } Adriano Mauro Cansian 41 Exemplo: Programa para colocar em ordem crescente 3 números lidos do teclado Program Exemplo_3; Uses CRT; Var x,y,z : Integer; ClrScr; Write('Primeiro numero --> '); Readln(x); Write('Segundo numero ---> '); Readln(y); Write('Terceiro numero --> '); Readln(z); Writeln; Writeln; If (x>=y)then If (x>=z) Then If (y>=z) Then Writeln(x,' ',y,' ',z) Else Writeln(x,' ',z,' ',y) Else Writeln(z,' ',x,' ',y) Else If (y>=z) Then If (x>=z) Then Writeln(y,' ',x,' ',z) Else Writeln(y,' ',z,' ',x) Else Writeln(z,' ',y,' ',x); End. Adriano Mauro Cansian 42 Prof. Dr. Adriano Mauro Cansian 21

22 Outras instruções úteis readkey Lê uma tecla do teclado, sem que seja necessário pressionar a tecla ENTER Program Exemplo; Uses CRT; Var tecla:char; Write('digite uma tecla ->'); Tecla:=readkey; Writeln; writeln('você digitou ',tecla); end. Adriano Mauro Cansian 44 Prof. Dr. Adriano Mauro Cansian 22

23 Keypressed (1) A instrução Keypressed é uma função especial do Turbo Pascal que retorna um valor booleano: TRUE se uma tecla foi pressionada, ou FALSE caso contrário (caso nenhuma tecla seja pressionada). Ela é uma das maneiras utilizada para detectar teclas pressionadas no teclado. Adriano Mauro Cansian 45 Keypressed (2) Exemplo Program Exemplo; Uses CRT; ClrScr; Write('Pressione uma tecla -> '); Repeat until Keypressed; (* repita até que uma tecla seja pressionada*) End. Adriano Mauro Cansian 46 Prof. Dr. Adriano Mauro Cansian 23

24 Labels e Goto A instrução Goto permite desviar a seqüência de execução do programa para um determinado Label pré-definido. Para utilizarmos algum Label, ele deve, obrigatoriamente, ser declarado na subárea Label. Adriano Mauro Cansian 47 Exemplos: Programa para colocar em ordem crescente 3 números lidos do teclado. Program Exemplo_1; Uses CRT; Label Inicio; Var x,y,z : Integer; tecla : Char; Inicio: ClrScr; Write('Primeiro numero --> '); Readln(x); Write('Segundo numero ---> '); Readln(y); Write('Terceiro numero --> '); Readln(z); Writeln; Writeln; If (x>=y) Then If (x>=z) Then If (y>=z) Then Writeln(x,' ',y,' ',z) Else Writeln(x,' ',z,' ',y) Else Writeln(z,' ',x,' ',y) Else If (y>=z) Then If (x>=z) Then Writeln(y,' ',x,' ',z) Else Writeln(y,' ',z,' ',x) Else Writeln(z,' ',y,' ',x); Writeln; Write('Deseja Continuar (S/N)--> '); Tecla:=Readkey; If ((Tecla = 'S') OR (Tecla = 's')) Then Goto Inicio; End. Adriano Mauro Cansian 48 Prof. Dr. Adriano Mauro Cansian 24

25 Exemplo Programa para determinar se 3 valores lidos do teclados são lados de um triângulo Supondo que x,y,z, sejam os valores lidos, então: Se x<y+z e y<x+z e z<x+y então x,y,z são lados de um triângulo e se: x=y=z então é um triângulo Eqüilátero x=y ou x=z ou y=z então é um triângulo Isósceles x<>y<>z então é escaleno Adriano Mauro Cansian 49 Program Exemplo_2; Uses CRT; Label INICIO; Var x,y,z : Real; Tecla : Char; INICIO: ClrScr; Write('X = '); Readln(x); Write('Y = '); Readln(y); Write('Z = '); Readln(z); Writeln;Writeln; If (x<y+z) and (y<x+z) and (z<x+y) Then If (x=y) and (x=z) Then Writeln('TRIÂNGULO EQUILÁTERO') Else If (x=y) Or (x=z) Or (y=z) Then Writeln('TRIÂNGULO ISÓSCELES') Else Writeln('TRIÂNGULO ESCALENO') Else Writeln('X,Y,Z NÃO SÃO LADOS DE UM TRIÂNGULO'); Writeln; Writeln; Write('Deseja Continuar? (S / N)? --> '); Tecla:=ReadKey; If (Tecla='s') Or (Tecla='S') Then Goto INICIO; End. Adriano Mauro Cansian 50 Prof. Dr. Adriano Mauro Cansian 25

26 Seleção ou decisão múltipla (1) Estrutura Case-of Utilizada quando se deseja executar um entre vários comandos, dependendo do resultado de uma expressão. Ou uma entre várias seqüências de comandos. Adriano Mauro Cansian 51 Seleção ou decisão múltipla (2) A estrutura de seleção de decisão múltipla do Pascal (CASE-OF) obedece a seguinte sintaxe: CASE <expressão> OF <lista-de-constantes-1> : <comando-1>; <lista-de-constantes-2> : <comando-2>;... [ELSE <comando-n>] (* optativo *) END Adriano Mauro Cansian 52 Prof. Dr. Adriano Mauro Cansian 26

27 Seleção ou decisão múltipla (3) A <expressão> deve resultar um tipo escalar (outros tipos que não sejam o REAL e o STRING). A <lista-de-constantes-x> devem conter uma ou mais constantes (separadas por vírgula), e devem ser do mesmo tipo da <expressão>. O <comando-x> pode ser um comando simples ou composto. O resultado de <expressão> é comparado com cada constante da <lista-de-constante> para verificar igualdade. Caso a igualdade seja verificada, o <comando> correspondente é executado e a estrutura finalizada. Caso nenhuma igualdade seja verificada, o <comando> correspondente ao ELSE (optativo) será executado. Adriano Mauro Cansian 53 EXEMPLO: Program EXEMPLO_DE_DECISAO_MULTIPLA; {Simulador de uma calculadora básica de números inteiros} Uses CRT; Var X,Y : integer; OP : char; clrscr; write('digite os operandos X e Y: '); readln(x,y); write('digite o operador (+,-,*, /) -->: '); readln(op); case OP of '+' : writeln( Soma:, X + Y:6:2); '-' : writeln( Subtração:, X-Y:6:2); '*','x','x' : writeln( Multiplica:, X * Y:6:2); '/' : writeln( Divisão:, X / Y:6:2); else writeln(op,'é uma operação inválida!'); end {case}; readkey; End. Adriano Mauro Cansian 54 Prof. Dr. Adriano Mauro Cansian 27

28 Seleção ou decisão múltipla (4) Neste exemplo anterior, a mensagem que será exibida dependerá do conteúdo da variável OP. Se for igual a uma das constantes especificadas, será executado o comando WRITELN correspondente. Se nenhuma constante for igual ao conteúdo de OP, será executado o WRITELN do ELSE. O mesmo programa acima pode ser escrito sem utilizar a estrutura CASE, apenas utilizando IF's aninhados. Vejamos Adriano Mauro Cansian 55 Program EXEMPLO_DE_DECISAO_MÚLTIPLA_2; {Simulador de uma calculadora básica de números inteiros} Uses CRT; Var X,Y : integer; OP : char; clrscr; write('digite os operandos: '); readln(x,y); write('digite o operador: '); readln(op); if OP='+' then writeln(x + Y) else if OP='-' then writeln(x - Y) else if (OP='*') or (OP='x') or (OP='X') then writeln(x * Y) else if OP='/' then writeln(x div Y) else writeln('op.inválida'); readkey; End. Adriano Mauro Cansian 56 Prof. Dr. Adriano Mauro Cansian 28

29 Estruturas de repetição no Pascal Estruturas de repetição no Pascal (1) Além de permitir a mudança da seqüência de execução de um conjunto de comandos de um programa, as estruturas de controle de uma linguagem, dispõem de recursos para repetir a execução de um conjunto de comandos. Adriano Mauro Cansian 58 Prof. Dr. Adriano Mauro Cansian 29

30 Estruturas de repetição no Pascal (2) No Pascal, existem três tipos de estrutura de repetição: Com teste no início (WHILE); Com teste no final (REPEAT) e Automática (FOR). Adriano Mauro Cansian 59 Repetição com teste no início (while-do) A estrutura de controle WHILE permite que um comando simples ou composto seja executado repetidamente, enquanto uma condição de controle seja VERDADEIRA. A forma geral do WHILE é: WHILE <condição> DO <comando(s)> Adriano Mauro Cansian 60 Prof. Dr. Adriano Mauro Cansian 30

31 Repetição com teste no início (while-do) A <condição> deve ser uma expressão lógica. O <comando> pode ser um comando simples ou um comando composto. Como o teste da <condição> é realizado no início do laço, o <comando> será executado zero ou mais vezes, dependendo do resultado da avaliação da <condição>. Ou seja, while-do avalia a expressão lógica antes da primeira interação, isto significa que, eventualmente, pode não ocorrer sequer a primeira interação. Adriano Mauro Cansian 61 Program EXEMPLO_DE_WHILE; {escrever os números inteiros de 1 a 100} Var N : integer; N := 1; while N <= 100 do begin writeln(n); N := N + 1 end End. Neste exemplo, o comando WRITELN será executado repetidas vezes enquanto a variável N possuir um valor igual ou inferior a 100. O programa terá como saída a seqüência dos números inteiros de 1 a 100. Adriano Mauro Cansian 62 Prof. Dr. Adriano Mauro Cansian 31

32 Program Exemplo_2; Uses CRT; {Programa que lê números do teclado e depois informa a média dos números lidos, a quantidade lida, e soma deles} Label INICIO; Const Quant_de_num : Integer = 0; Soma : Real = 0; Media : Real = 0; Var Numero : Real; Tecla : Char; INICIO: ClrScr; Write('Valor numérico (menor que 0=fim) --> '); Readln(Numero);... (* Continua *) Adriano Mauro Cansian 63 (* continuação *) While (Numero>=0) Do Soma := Soma + Numero; Quant_de_num := Quant_de_num + 1; Write('Valor numérico (menor que 0=fim) --> '); Readln(Numero); End; If Quant_de_num > 0 Then Media := Soma/Quant_de_num; Writeln; Writeln('Quantidade de números = ',Quant_de_num); Writeln('Soma... = ',Soma:10:2); Writeln('Media... = ',Media:10:2); End Else Writeln('Não se realizou cálculos'); Writeln; Write('Deseja continuar? (S/N) ---> '); tecla:=readkey; If (Tecla='s') Or (Tecla='S') Then Quant_de_num:=0; Soma := 0; Goto Inicio; End; End. Adriano Mauro Cansian 64 Prof. Dr. Adriano Mauro Cansian 32

33 Repetição com teste no final (repeat-until) (1) A estrutura de controle REPEAT-UNTIL permite que um comando simples ou composto seja executado repetidamente, até que uma condição de controle seja FALSA. A forma geral do REPEAT-UNTIL é: REPEAT <comando> UNTIL <condição> Adriano Mauro Cansian 65 Repetição com teste no final (repeat-until) (2) Repeat Comando_1; Comando_2; Comando_3;... Until (expressão_lógica); Adriano Mauro Cansian 66 Prof. Dr. Adriano Mauro Cansian 33

34 Repetição com teste no final (repeat-until) (3) A <condição> deve ser uma expressão lógica. O <comando> pode ser um comando simples ou um comando composto. Não há a necessidade dos delimitadores BEGIN e END no comando composto em um REPEAT. Adriano Mauro Cansian 67 Repetição com teste no final (repeat-until) (4) Como o teste da <condição> é realizado no final do laço, o <comando> será executado uma ou mais vezes, dependendo da avaliação da <condição>. Todos os comandos entre as palavras reservadas Repeat e Until serão executadas, até que a expressão lógica seja verdadeira (TRUE). Obviamente, devemos ter o cuidado para que ela venha a ser TRUE em determinado momento, pois caso contrário, teremos um loop infinito, ou seja, o programa fica preso para sempre dentro da estrutura Repeat - Until, e não sai de lá. Adriano Mauro Cansian 68 Prof. Dr. Adriano Mauro Cansian 34

35 Program EXEMPLO_DE_REPEAT; {escrever os núm. inteiros de 1 a 100} Var N : Integer; N := 1; repeat writeln(n); N := N + 1 until N > 100 End. Este exemplo é equivalente ao exemplo anterior do WHILE, onde o comando WRITELN será executado repetidas vezes até que a variável N possua um valor superior a 100. Adriano Mauro Cansian 69 A estrutura REPEAT também é bastante utilizada para repetirmos um programa diversas vezes, até que o usuário deseje sair do mesmo. EXEMPLO: Program EXEMPLO_DE_REPEAT_2; {calcula a média de 2 números dados repetidas vezes} Uses CRT; Var N1,N2,MEDIA : real; RESP : char; clrscr; repeat write('digite os dois números: '); readln (N1,N2); MEDIA := (N1+N2)/2; writeln (MEDIA); write ('Deseja repetir o programa (s/n)? '); RESP := readkey; until (RESP='N') or (RESP='n') End. Adriano Mauro Cansian 70 Prof. Dr. Adriano Mauro Cansian 35

36 Program Exemplo_2; Uses CRT; {Programa que soma os números pares compreendidos entre dois números lidos do teclado} Var par,numero_1,numero_2,soma:integer; Clrscr; Soma:=0; Write('Primeiro Numero ---> '); Readln(numero_1); Write('Segundo Numero ----> '); Readln(numero_2); par:=numero_1; {Verifica se o primeiro número é par, se não for adiciona-se um} If par MOD 2 <> 0 then par:=par+1; Repeat Soma:=soma+par; par:=par+2; Until par>numero_2; Writeln;writeln; Write('Soma dos números pares entre '); Writeln(numero_1,' e ',numero_2,' = ',soma); end. Adriano Mauro Cansian 71 Program Exemplo_3; Uses CRT; {Programa para cálculo de fatorial.} Label inicio,fim; Var n,i,fatorial:integer; ClrScr; inicio: Write('N = (menor que 0 = fim) --> '); Readln(n); If n<0 then goto fim; Writeln; fatorial:=1; i:=1; if n>1 then Repeat i:=i+1; fatorial:=fatorial*i; Until i=n; Writeln('fatorial de ':30,n,' = ',fatorial); Writeln; goto inicio; fim: End. Adriano Mauro Cansian 72 Prof. Dr. Adriano Mauro Cansian 36

37 Repetição automática FOR (1) A estrutura de controle FOR permite que um comando simples ou composto seja repetido um número específico de vezes. A sua forma geral é: FOR <var> := <vi> TO <vf> DO <comando(s)> Adriano Mauro Cansian 73 Repetição automática FOR (2) Onde <var> é uma variável de controle, do tipo inteira, que assumirá inicialmente o valor inicial <vi> e será incrementada (somada) do valor 1 após cada repetição do laço. A repetição será finalizada quando o conteúdo de <var> for superior ao valor final <vf>. O <comando> também pode ser simples ou composto. Adriano Mauro Cansian 74 Prof. Dr. Adriano Mauro Cansian 37

38 For-downto Uma outra forma da estrutura FOR é a seguinte: FOR <var> := <vi> DOWNTO <vf> DO <comando> Neste caso, a variável de controle <var> será decrementada (subtraída) do valor 1 após cada repetição do laço e a repetição será finalizada quando o conteúdo de <var> for inferior ao valor final <vf>. Adriano Mauro Cansian 75 Repetição automática FOR (3) A estrutura de repetição FOR é especialmente indicada para quando o número de repetições é previamente conhecido. Caso contrário, devemos utilizar o WHILE ou o REPEAT, dependendo do caso. Adriano Mauro Cansian 76 Prof. Dr. Adriano Mauro Cansian 38

39 EXEMPLO: Program EXEMPLO_DE_FOR; {escreve os números inteiros de 1 a 100} Var N : integer; for N := 1 to 100 do writeln(n) End. Observe, no exemplo acima, que não foi ne cessário utilizar um comando para atribuir um valor inicial a variável N, nem também um outro comando para incrementá-la com o valor 1. Isto é feito automaticamente pela estrutura FOR. Adriano Mauro Cansian 77 Program Exemplo_2; Uses CRT; Var i : Integer; ClrScr; For i:=10 downto 1 do Writeln(i); End. Adriano Mauro Cansian 78 Prof. Dr. Adriano Mauro Cansian 39

40 Program Exemplo_3; Uses CRT; { Este programa escreve na tela os quadrados dos números de 1 até 20 } Var i : Integer; ClrScr; For i:=1 to 20 do Write('Valor de i --> '); Write(i:3); Write('... quadrado de i = '); Writeln(i*i:5); End; End. Adriano Mauro Cansian 79 Program Exemplo_4; Uses CRT; {Este programa calcula a soma entre todos os números compreendidos entre dois números lidos do teclado } Label INICIO; Var i,numero_1,numero_2,soma : Integer; Tecla : Char; INICIO: ClrScr; Write('Primeiro Numero --> '); Readln(Numero_1); Write('Segundo Numero ---> '); Readln(Numero_2); Writeln; Writeln; Soma:=0; For i:=numero_1 to Numero_2 do Soma:=Soma+i; Writeln('Soma entre ',Numero_1,' e ',Numero_2,' = ',soma); Writeln; Writeln; Write('Deseja Continuar? --> '); tecla:=readkey; If ((Tecla = 'S') OR (Tecla='s')) Then Goto INICIO; ClrScr; Write('Tchau...'); End. Adriano Mauro Cansian 80 Prof. Dr. Adriano Mauro Cansian 40

41 Program Exemplo_5; Uses CRT; {Programa para cálculo de fatorial de um número lido do teclado.} Label Inicio,fim; Var n,fatorial,i : Integer; Clrscr; Inicio: Write('N = ( menor que 0 = fim) --> '); Readln(n); If n<0 then goto Fim; Fatorial:=1; Writeln; If (n>0) Then For i:=1 to n do Fatorial:=Fatorial*i; Writeln('Fatorial de ':30,n,' = ',fatorial); Writeln; Goto Inicio; Fim: End. Adriano Mauro Cansian 81 Prof. Dr. Adriano Mauro Cansian 41

LINGUAGEM PASCAL Elementos básicos e estrutura

LINGUAGEM PASCAL Elementos básicos e estrutura LINGUAGEM PASCAL Elementos básicos e estrutura Adriano Mauro Cansian UNESP - São José do Rio Preto Linguagem Computacional Linguagem Pascal Criada para ser uma ferramenta educacional, isto no início da

Leia mais

Linguagem Computacional. Estruturas de Controle: Estruturas de Repetição. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

Linguagem Computacional. Estruturas de Controle: Estruturas de Repetição. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves Informática II Linguagem Computacional Estruturas de Controle: Estruturas de Repetição Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves 1 Sumário q Estruturas de Controle de Fluxo Repetição Enquanto

Leia mais

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 10. Algoritmos e Programação. Enquanto (Teste no início) Repeat (Teste no final)

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 10. Algoritmos e Programação. Enquanto (Teste no início) Repeat (Teste no final) Algoritmos e Programação Informática II Ciência da Computação Prof. Dr. Leandro Alves Neves Aula 10 1 Sumário Estruturas de Controle de Fluxo q Repetição Enquanto (Teste no início) Repeat (Teste no final)

Leia mais

6) ESTRUTURA DE UM PROGRAMA

6) ESTRUTURA DE UM PROGRAMA Página 1 de 16 6) ESTRUTURA DE UM PROGRAMA = = program ; = uses

Leia mais

Linguagem Computacional. Estruturas de Controle: Estruturas de Decisão ou de Seleção. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

Linguagem Computacional. Estruturas de Controle: Estruturas de Decisão ou de Seleção. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves 1 Algoritmos e Programação Liguagem Computacioal Estruturas de Cotrole: Estruturas de Decisão ou de Seleção Prof. Dr. Adriao Casia Prof. Dr. Leadro Alves Neves O que veremos: Estruturas de Cotrole de Fluxo

Leia mais

ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO

ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO 1. INTRODUÇÃO O que é um programa? Programa constitui uma seqüência lógica de passos para solução de um problema. Um programa pode ser codificado em

Leia mais

VARIÁVEIS NUMÉRICAS : integer - Números inteiros entre e real - Números reais de 11 algarismos significativos.

VARIÁVEIS NUMÉRICAS : integer - Números inteiros entre e real - Números reais de 11 algarismos significativos. TURBO PASCAL Histórico Origem: desenvolvida nos anos entre 1968 e 1970 por Nicklaus Wirth na Universidade Técnica de Zurique, Suíça. Em 1970 é disponibilizado o primeiro compilador para a linguagem. Objetivo:

Leia mais

Linguagem Pascal. Prof. Jonatas Bastos Site:

Linguagem Pascal. Prof. Jonatas Bastos   Site: Linguagem Pascal Prof. Jonatas Bastos Email: jonatasfbastos@gmail.com Site: http://jonatasfbastos.wordpress.com/ 1 Linguagem Pascal Foi desenvolvida pelo prof. Niklaus Wirth como uma linguagem simples

Leia mais

LINGUAGEM PASCAL. ÍNDICE pág I Introdução 3 I.1 A linguagem Pascal 3 I.2 Por que Turbo Pascal 3 I.3 Equipamento necessário 4

LINGUAGEM PASCAL. ÍNDICE pág I Introdução 3 I.1 A linguagem Pascal 3 I.2 Por que Turbo Pascal 3 I.3 Equipamento necessário 4 LINGUAGEM PASCAL ÍNDICE pág I Introdução 3 I.1 A linguagem Pascal 3 I.2 Por que Turbo Pascal 3 I.3 Equipamento necessário 4 II Um programa em Pascal 4 II.1 O primeiro programa 4 II.2 Estrutura de um programa

Leia mais

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior Linguagem Pascal Prof. Antonio Almeida de Barros Junior 1 Linguagem Pascal Criada para ser uma ferramenta educacional (Década de 70); Prof. Niklaus Wirth (Universidade de Zurique); Blaise Pascal (Matemático

Leia mais

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Linguagem Pascal Prof. Sérgio Rodrigues Introdução Algoritmo É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Programa é a formalização de um algoritmo

Leia mais

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM. Teoria da Computação e Algoritmos Introdução à Linguagem Pascal 1 Estrutura de um programa INÍCIO FIM. PROGRAM END.

Leia mais

Linguagem de Programação Pascal - Introdução

Linguagem de Programação Pascal - Introdução Linguagem de Programação Pascal - Introdução História Pascal é uma linguagem de programação que recebeu o seu nome em homenagem ao matemático Blaise Pascal. A linguagem Pascal foi criada em 1970 pelo suíço

Leia mais

Linguagem de programação: Pascal

Linguagem de programação: Pascal Aula 04 Linguagem de programação: Pascal Prof. Tecgº Flávio Murilo 26/03/2013 1 Pascal Introdução Pascal é uma linguagem de programação estruturada, criada em 1970 pelo suíço Niklaus Wirth, dando este

Leia mais

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal. Capítulo 4 TESTES, ESCOLHAS E MALHAS DE REPETIÇÃO 1. INTRODUÇÃO Em muitos exemplos e exercícios realizados nos capítulos anteriores, não foram raras as vezes em que fizemos uso de elementos disponíveis

Leia mais

LINGUAGEM ALGORÍTMICA

LINGUAGEM ALGORÍTMICA LINGUAGEM ALGORÍTMICA Adriano Mauro Cansian André Proto UNESP - São José do Rio Preto Linguagem Computacional Introdução! Para uma melhor padronização de nosso estudos, vamos agora definir uma linguagem

Leia mais

Disciplina Programação Prof. Esp. Armando Hage. Programação em Turbo Pascal

Disciplina Programação Prof. Esp. Armando Hage. Programação em Turbo Pascal Disciplina Programação Prof. Esp. Armando Hage Programação em Turbo Pascal Introdução A linguagem de programação pascal foi escrita por Niklaus Wirth entre 1969 e 1971, e deriva das linguagens ALGOL-60

Leia mais

2.2.5 EXPRESSÕES - Regras para o cálculo de valores

2.2.5 EXPRESSÕES - Regras para o cálculo de valores Métodos de Programação I Departamento de Matemática, FCTUC 30 2.2.5 EXPRESSÕES - Regras para o cálculo de valores As expressões fornecidas ao computador, quer tenham variáveis, constantes ou apenas literais,

Leia mais

Por este motivo, acho que a escolha da primeira linguagem a ser ensinada deve ser feita de forma judiciosa.

Por este motivo, acho que a escolha da primeira linguagem a ser ensinada deve ser feita de forma judiciosa. Prefácio Este curso destina-se a todos aqueles que desejam aprender a linguagem Pascal, através do seu mais famoso compilador para a linha IBM/PC, o Turbo Pascal. O Turbo Pascal é muito mais que um compilador,

Leia mais

Estrutura de decisão

Estrutura de decisão Estrutura de decisão Os comandos de decisão ou desvio fazem parte das técnicas de programação que conduzem a estruturas de programas que não são totalmente sequenciais. Com as instruções de SALTO ou DESVIO

Leia mais

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho Gilson de Souza Carvalho gaucho.gilson@hotmail.com 3.1.3 Condições compostas Linguagem e Técnicas em Programação As condições que vimos até agora sempre foram únicas. Entretanto, conforme aumenta a complexidade

Leia mais

Computação Eletrônica

Computação Eletrônica Computação Eletrônica Expressões ovsj@cin.ufpe.br Observação: Material da Disciplina Computação Eletrônica CIN/UFPE. Expressões São sequências de operandos e operadores devidamente arrumadas; Obedecendo

Leia mais

Programação Introdução

Programação Introdução PROGRAMAÇÃO Programação Introdução Prof. Dr. Adriano Mauro Cansian 1 Introdução Para armazenar um algoritmo na memória de um computador e para que ele possa, em seguida, comandar as operações a serem executadas,

Leia mais

Estruturas de Controle

Estruturas de Controle UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Prof. Yandre Maldonado - 1 Estruturas de Controle Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Estrutura de Seleção Prof. Yandre

Leia mais

Aulas Anteriores. Detalhes da linguagem de programação

Aulas Anteriores. Detalhes da linguagem de programação Aulas Anteriores Detalhes da linguagem de programação Elementos básicos (identificadores, constantes, símbolos gráficos) Estrutura básica de um programa (cabeçalho, parte declarativa, parte de execução)

Leia mais

Linguagem Pascal. Definição e Tipos de Dados. Professora Lara Popov Zambiasi Bazzi Oberderder. Linguagem PASCAL 1

Linguagem Pascal. Definição e Tipos de Dados. Professora Lara Popov Zambiasi Bazzi Oberderder. Linguagem PASCAL 1 Linguagem Pascal Definição e Tipos de Dados Professora Lara Popov Zambiasi Bazzi Oberderder Linguagem PASCAL 1 Origem Linguagem de programação largamente utilizada no ensinoaprendizagem de programação

Leia mais

Gabarito dos Exercícios da Apostila

Gabarito dos Exercícios da Apostila Program Ex42_Flexoes; Var N, F, Total: integer; write('digite o numero de series realizadas: '); Readln(N); Total:= 0; For F:=1 to N do Total:= Total+F; // muda de linha writeln('total de fexoes realizadas

Leia mais

Estruturas de Controle. Estrutura de Seleção. Estrutura de Seleção

Estruturas de Controle. Estrutura de Seleção. Estrutura de Seleção UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Prof. Yandre Maldonado - 1 Estruturas de Controle Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Estrutura de Seleção Prof. Yandre

Leia mais

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string Pascal -Cabeçalho do programa Áreas do programa -Área de declarações -Corpo do programa - label - const - type - var - procedure - function - integer - real - byte - boolean - char - string Program

Leia mais

APÊNDICE A - FUNDAMENTOS DA LINGUAGEM DE PROGRAMAÇÃO PASCAL.

APÊNDICE A - FUNDAMENTOS DA LINGUAGEM DE PROGRAMAÇÃO PASCAL. APÊNDICE A - FUNDAMENTOS DA LINGUAGEM DE PROGRAMAÇÃO PASCAL. 1. INTRODUÇÃO Este apêndice tem o objetivo de fornecer as regras básicas para transformar algoritmos (em Natural) em programas (em PASCAL).

Leia mais

Introdução à Algoritmos. Professora: Fabíola Gonçalves.

Introdução à Algoritmos. Professora: Fabíola Gonçalves. Introdução à Algoritmos Professora: Fabíola Gonçalves. AGENDA Algoritmos Comandos Estrutura de Algoritmos Constantes Variáveis Comentários COMANDOS Comandos de uma linguagem de programação podem estar:

Leia mais

Lógica de Programação I. Gilson de Souza Carvalho

Lógica de Programação I. Gilson de Souza Carvalho Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1. Estruturas básicas Apresentaremos um resumo com os comandos estudados para criação de algoritmos. Para utilizar estes comandos, usaremos uma sintaxe

Leia mais

Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida)

Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida) Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida) Não-terminais são nomes mnemônicos colocados entre parênteses angulares. Vocabulário terminal formado por

Leia mais

SUMÁRIO 1. ALGORITMOS... 4

SUMÁRIO 1. ALGORITMOS... 4 SUMÁRIO 1. ALGORITMOS... 4 1.1. DEFINIÇÃO DE ALGORITMO...4 1.2. POR QUE PRECISAMOS DE ALGORITMOS?...4 1.3. CARACTERÍSTICAS...4 1.4. FORMAS DE REPRESENTAÇÃO...5 1.5. UM AMBIENTE PARA ESCREVER ALGORITMOS...6

Leia mais

Tutorial de Turbo Pascal

Tutorial de Turbo Pascal Página 1 de 7 Este tutorial foi completamente escrito por Rodrigo Brambilla pode ser distribuído livremente sem nenhuma modificação. Agradecimentos: Leomar Pacheco Rocha, Rodrigo Hoffmann dos Santos, Paulo

Leia mais

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução Métodos de Programação I 2. 20 2.2.8 ESTRUTURAS DE CONTROLO Estruturas de controlo são instruções especiais em Pascal que permitem controlar o fluxo de sequência de instruções, alterando a ordem sequencial

Leia mais

FACCAT Sistemas de Informação. Estruturas de Dados

FACCAT Sistemas de Informação. Estruturas de Dados FACCAT Sistemas de Informação Estruturas de Dados Aula 1 http://professores.faccat.br/azambuja (Estrutura de Dados) Definição de variáveis Podemos imaginar uma variável como o local onde se pode colocar

Leia mais

Métodos de Programação I Ana Maria de Almeida

Métodos de Programação I Ana Maria de Almeida Métodos de Programação I 2. 13 type naipe = ( ouros, copas, paus, espadas ); var trunfo : naipe; Claro que são apenas identificadores e não existirá a mesma escolha de operadores e funções sobre eles que

Leia mais

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática Programação 1 Prof. Osório Aula 03 Pag.: 1 UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática PROGRAMAÇÃO I AULA 03 Disciplina: Linguagem

Leia mais

Aula Anterior. Decomposição algorítmica (continuação)

Aula Anterior. Decomposição algorítmica (continuação) Aula Anterior Decomposição algorítmica (continuação) Degenerescência da decomposição básica da solução em três etapas Método de decomposição modificado à entrada Associação de diferentes valores de entrada

Leia mais

Elementos básicos das linguagens de programação

Elementos básicos das linguagens de programação Elementos básicos das linguagens de programação Objetivos: Apresentar os últimos elementos básicos das linguagens de programação Elementos básicos já estudados Entrada (read, readln) Saída (write, writeln)

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Introdução à Ciência da Computação Variáveis Conceitos Básicos Variáveis x Constantes a = x + 5 a, x e 5 são variáveis ou constantes? Variáveis As variáveis são recipientes de valores É um espaço reservado

Leia mais

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 Elementos Básicos Tipos de dados Dados e seus tipos: Computadores lidam com diversos tipos de dados: numéricos,

Leia mais

Programação de Computadores Profa Jacqueline 1

Programação de Computadores Profa Jacqueline 1 Programação de Computadores Profa Jacqueline 1 REVISÃO Construção de Algoritmos Estruturas de Controle Objetivo: Abordar as técnicas para entrada e saída de dados e as estruturas para controle do fluxo

Leia mais

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática Programação 1 Prof. Osório Aula 05 Pag.: 1 UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática PROGRAMAÇÃO I AULA 05 Disciplina: Linguagem

Leia mais

LISTA 14 Gabarito. 1) Preparar um algoritmo para calcular a soma de 100 termos da seguinte série:

LISTA 14 Gabarito. 1) Preparar um algoritmo para calcular a soma de 100 termos da seguinte série: LISTA 14 Gabarito 1) Preparar um algoritmo para calcular a soma de 100 termos da seguinte série: 1 1/2 + 1/4-1/6 + 1/8-1/10 + 1/12 -... Program questao1; i,a: integer; s: real; s:= 1; for i:= 1 to 99 do

Leia mais

INTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO

INTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO INTRODUÇÃO À LINGUAGEM PASCAL CESAR BEZERRA TEIXEIRA,MSC PREFÁCIO A linguagem Pascal foi criada pelo Prof Niklaus Wirth na universidade de Zurich, com o propósito de ensinar os conceitos de uma linguagem

Leia mais

Linguagem Computacional

Linguagem Computacional Informática II Linguagem Computacional Algoritmos e Programação Parte 2 Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves 1 Sumário Tipos de Dados Variáveis Modelo esquemático Características e Regras

Leia mais

Modularização. Prof. Antonio Almeida de Barros Junior

Modularização. Prof. Antonio Almeida de Barros Junior Modularização Prof. Antonio Almeida de Barros Junior 1 Modularização A modularização consiste em decompor um programa em uma série de subprogramas individuais; Trata-se de um método utilizado para facilitar

Leia mais

Sequencial Estrutura de controlo mais simples. As instruções são executadas sequencialmente.

Sequencial Estrutura de controlo mais simples. As instruções são executadas sequencialmente. Sequencial Estrutura de controlo mais simples. As instruções são executadas sequencialmente. Com base numa condição Estruturas de decisão ou selecção Com base num selector ou de escolha múltipla Com contador

Leia mais

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Entrada e saída: escrevendo na tela Veja uma comparação entre um programa Portugol e seu equivalente em C: Inicio Inteiro

Leia mais

Programação Estruturada

Programação Estruturada Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar

Leia mais

Exercícios. Resposta: a) var valor: real; i: integer. b)

Exercícios. Resposta: a) var valor: real; i: integer. b) Exercícios 1.Sabendo que a função frac retorna a parte fracionária de um número. Ex: frac(10.7) 0.7 Faça: a) Declare as iáveis do código abaixo. b) Escreva como seria a saída desse código na tela do computador.

Leia mais

Lógica de Programação com Pascal. Teoria e Prática. Este material visa auxiliar no aprendizado da programação com Pascal através de exemplos práticos.

Lógica de Programação com Pascal. Teoria e Prática. Este material visa auxiliar no aprendizado da programação com Pascal através de exemplos práticos. Lógica de Programação com Pascal Teoria e Prática Este material visa auxiliar no aprendizado da programação com Pascal através de exemplos práticos. Edeyson Andrade Gomes IFBA 2016 4ª Edição Revisão 04.2016

Leia mais

LINGUAGEM C: COMANDOS DE REPETIÇÃO

LINGUAGEM C: COMANDOS DE REPETIÇÃO LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições

Leia mais

Introdução. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e Algoritmo

Introdução. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e Algoritmo Introdução Lógica e programação Aula 02 Introdução à Programação Pascal Formalização de algoritmos na Exercícios Sky Informática Ltda. 1 2 Algoritmo: É uma maneira formal de expressar o raciocínio. O grau

Leia mais

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para

Leia mais

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta? 23 Algoritmos com Repetição Nos exemplos e exercícios vistos até agora, sempre foi possível resolver os problemas com uma sequência de instruções que eram executadas apenas uma vez. Existem três estruturas

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Aula 5 Elementos Fundamentais de Controle Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Técnico em Informática Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno

Leia mais

Engenharia Civil e Engenharia Básica Programação de Computadores Wedson Quintanilha da Silva

Engenharia Civil e Engenharia Básica Programação de Computadores Wedson Quintanilha da Silva Página 1 de 10 APOSTILA DE PASCAL MAPEAMENTO DE ALGORITMOS PARA PASCAL Algoritmo Exercicio1 Program Exercicio1; declare nome : caracter; nome : string; aux : inteiro; aux : integer; salario : real; salario

Leia mais

Por este motivo, acho que a escolha da primeira linguagem a ser ensinada deve ser feita de forma judiciosa.

Por este motivo, acho que a escolha da primeira linguagem a ser ensinada deve ser feita de forma judiciosa. Prefácio Este curso destina-se a todos aqueles que desejam aprender a linguagem Pascal, através do seu mais famoso compilador para a linha IBM/PC, o Turbo Pascal. O Turbo Pascal é muito mais que um compilador,

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Paradigma Imperativo Matheus Hafner Tiago Xavier CET 087 - Conceitos de Linguagens de Programação (CLP) 10 de novembro de 2011 Sumário 1 Introdução 2 Paradigma imperativo Modelo

Leia mais

Organização de programas em Pascal

Organização de programas em Pascal Organização de programas em Pascal Leonardo Gresta Paulino Murta leomurta@ic.uff.br Vamos programar em Pascal! Mas... Como um programa é organizado? Quais são os Apos de dados disponíveis? Como variáveis

Leia mais

Exercícios sobre o Capítulo III

Exercícios sobre o Capítulo III A Linguagem Pascal Exercícios 1 Exercícios sobre o Capítulo III Problema: Dado um número inteiro e positivo, representando segundos, convertê-lo em horas, minutos e segundos. O resultado deve ser dado

Leia mais

Capítulo III : A Linguagem Pascal Estruturas de Controlo

Capítulo III : A Linguagem Pascal Estruturas de Controlo Capítulo III : A Linguagem Pascal Estruturas de Controlo 1 Capítulo III : A Linguagem Pascal Estruturas de Controlo Sequência Estruturas de Base Selecção Repetição Sub-Programas Alternativa Múltipla Enquanto

Leia mais

= = = = = = = = = = = = = = = =

= = = = = = = = = = = = = = = = Página 1 de 7 A Linguagem PASCAL = = = = = = = = = = = = = = = = 1) ALFABETO: são os símbolos (ié, caracteres ) permitidos na linguagem. São as letras (maiúsculas e minúsculas), os algarismos (ou dígitos)

Leia mais

Estruturas de Repetição

Estruturas de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números

Leia mais

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

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

Leia mais

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian Algoritmos e Programação Informática II Ciência da Computação Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian 1 Sumário Tipos de Dados Variáveis Modelo esquemático Características e Regras para

Leia mais

Estrutura de Decisão - Case

Estrutura de Decisão - Case FTC Faculdade de Tecnologia e Ciências Engenharia Civil 1º Semestre Estrutura de Decisão - Case Rafael Barbosa Neiva rafael@prodados.inf.br Definição Para a execução de um determinado comando CASE, somente

Leia mais

Aula 4 Introdução ao C

Aula 4 Introdução ao C Considere o nosso MSC. O Processador Central, entende o conjunto de instruções, leia, imprima, atribuição e condicional e com ela resolvemos vários problemas, construindo vários algoritmos. As instruções

Leia mais

Linguagem Computacional. Estruturas de Controle: Estruturas de Decisão ou de Seleção. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

Linguagem Computacional. Estruturas de Controle: Estruturas de Decisão ou de Seleção. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves 1 Algoritmos e Programação Linguagem Computacional Estruturas de Controle: Estruturas de Decisão ou de Seleção Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves O que veremos: Estruturas de Controle

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

Introdução à programação em PASCAL. Aula de 22/10/2001. Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores

Introdução à programação em PASCAL. Aula de 22/10/2001. Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores Introdução à programação em PASCAL Aula de 22/10/2001 Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores Conteúdo Conceito de linguagem de programação O processo

Leia mais

LISTA DE EXERCÍCIOS O que será escrito quando os algoritmos/trechos de algoritmos abaixo forem executados (fazer no papel)?

LISTA DE EXERCÍCIOS O que será escrito quando os algoritmos/trechos de algoritmos abaixo forem executados (fazer no papel)? LISTA DE EXERCÍCIOS 09 1 O número 3025 possui a seguinte característica: 30 + 25 = 55 55² = 3025 Elabore um algoritmo que pesquise e imprima todos os números de quatro algarismos que possuam esta característica.

Leia mais

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho Gilson de Souza Carvalho gaucho.gilson@hotmail.com 4.3 Comandos de repetição encadeados Apesar de seguir o mesmo padrão de encadeamento de outros comandos já vistos, a utilização de comandos de repetição

Leia mais

Universidade Veiga de Almeida Algoritmos e Linguagem I

Universidade Veiga de Almeida Algoritmos e Linguagem I Aula 9 Conteúdo: 12. Estruturas de repetição 12.1. Laços contados 12.2. Laços condicionais 13. Estruturas de controle encadeadas ou aninhadas 12. Estruturas de Repetição São muito comuns as situações em

Leia mais

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1 INE5603 Introdução à POO Prof. A. G. Silva 28 de agosto de 2017 Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de 2017 1 / 1 Comandos de decisão simples e compostas Objetivos: Utilização de controles

Leia mais

Comandos em C (cont.)

Comandos em C (cont.) Comandos em C (cont.) Operador ternário:? O operador condicional possui uma opção um pouco estranha. É o único operador C que opera sobre três expressões. Sua sintaxe geral possui a seguinte construção:

Leia mais

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se

Leia mais

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8 unesp UNIVERSIDADE ESTADUAL PAULISTA Apostila Pascal Ed 2006 Prof Dr Galeno José de Sena DMA/FEG CAPÍTULO 8 ARQUIVOS DE DADOS EM PASCAL: ARQUIVOS SEQUENCIAIS - UMA INTRODUÇÃO 81 ARQUIVOS SEQUENCIAL E DIRETO

Leia mais

Unidade VI. Técnicas de Teste de Software Teste Estrutural. Profa. Dra. Sandra Fabbri

Unidade VI. Técnicas de Teste de Software Teste Estrutural. Profa. Dra. Sandra Fabbri Unidade VI Técnicas de Teste de Software Profa. Dra. Sandra Fabbri Os requisitos de teste são extraídos de uma implementação em particular Teste dos detalhes procedimentais A maioria dos critérios dessa

Leia mais

Algoritmos e Técnicas - Estruturas de Controle de Fluxo Laboratório

Algoritmos e Técnicas - Estruturas de Controle de Fluxo Laboratório Algoritmos e Técnicas - Estruturas de Controle de Fluxo Laboratório Execute o programa abaixo para os números 0, 3 e -2 PROGRAM CalculaRaiz; var Num : real; Writeln('Cálculo de raiz quadrada'); Write('Digite

Leia mais

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana Estrutura Condicional: aninhada, seleção de casos e outras. Aula 06 Prof. Piva Exercício... Faça um algoritmo que leia dois números inteiros e

Leia mais

Refinamentos sucessivos

Refinamentos sucessivos Refinamentos sucessivos Objetivos: Estudar a técnica de refinamentos sucessivos Jogo: 2048 Implementaremos o jogo 2048, com o objetivo de estudar a manipulação dos elementos de uma matriz Utilizaremos

Leia mais

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS PROFESSOR : Romilson Lopes Sampaio Introdução a Lógica de Programação

Leia mais

Departamento de Engenharia Rural Centro de Ciências Agrárias. 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 Programação I Tipos definidos pelo programador Variáveis compostas heterogêneas Tipos definidos pelo usuário Os tipos integer, real, boolean,

Leia mais

Apostila de Fortran. É uma pseudo-linguagem a qual oferece recursos para que o programador possa codificar e testar os seus algoritmos.

Apostila de Fortran. É uma pseudo-linguagem a qual oferece recursos para que o programador possa codificar e testar os seus algoritmos. Apostila de Fortran Fortran Uma das linguagens de programação mais velhas, o FORTRAN foi desenvolvido por uma equipe de programadores conduzida por John Backus na IBM, e foi primeiramente publicada em

Leia mais

ENQUANTO condição FAÇA comando 1. ENQUANTO condição FAÇA INÍCIO comando 1; comando 2 ; comando 3 FIM ENQUANTO X < Y FAÇA INÍCIO FIM

ENQUANTO condição FAÇA comando 1. ENQUANTO condição FAÇA INÍCIO comando 1; comando 2 ; comando 3 FIM ENQUANTO X < Y FAÇA INÍCIO FIM ESTRUTURA DE REPETIÇAO ESTRUTURA DE REPETIÇÃO PARA NÚMERO INDEFINIDO DE REPETIÇÕES E TESTE NO INÍCIO (ESTRUTURA ENQUANTO - FAÇA) Essa estrutura de repetição é utilizada quando não se sabe o número de vezes

Leia mais

ESTRUTURA DE DADOS -ARQUIVOS. Prof. Angelo Augusto Frozza, M.Sc.

ESTRUTURA DE DADOS -ARQUIVOS. Prof. Angelo Augusto Frozza, M.Sc. ESTRUTURA DE DADOS -ARQUIVOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br DEFINIÇÃO DO ARQUIVO Opção 1 type = [text] [file [of ]]; = ; Opção 2

Leia mais

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta? 23 Algoritmos com Repetição Nos exemplos e exercícios vistos até agora, sempre foi possível resolver os problemas com uma sequência de instruções que eram executadas apenas uma vez. Existem três estruturas

Leia mais

Capítulo 8. Estruturas de Controle no Nível de Sentença

Capítulo 8. Estruturas de Controle no Nível de Sentença Capítulo 8 Estruturas de Controle no Nível de Sentença Níveis de fluxo de controle Computações são realizadas por meio da avaliação de expressões e da atribuição dos valores a variáveis Para tornar a computação

Leia mais