Programao II Prof Jano Moreira de Souza e

  • Slides: 81
Download presentation
Programação II Prof. Jano Moreira de Souza e Jonice Oliveira

Programação II Prof. Jano Moreira de Souza e Jonice Oliveira

Objetivos l Conceitos mais profundos de programação Pascal. Revisão Programação I; l Bibliotecas; l

Objetivos l Conceitos mais profundos de programação Pascal. Revisão Programação I; l Bibliotecas; l Arquivo Texto; l Arquivo Binário; l Ponteiros e Estruturas Encadeadas; l Estruturas Avançadas de Busca. l

O Curso Aulas Teóricas – 2ª. Feira (8: 00/10: 00); l Exercícios Práticos -

O Curso Aulas Teóricas – 2ª. Feira (8: 00/10: 00); l Exercícios Práticos - sem nota; l Trabalhos em Grupo de 3 -5 pessoas; l l Definam os grupos; 2 Provas; l Período: 06/agosto 3/Dezembro (18 aulas) l Monitor: Rafael De Martino l

Avaliação l 2 provas (60%) 1ª Prova: 24 setembro l 2ª Prova: 12 novembro

Avaliação l 2 provas (60%) 1ª Prova: 24 setembro l 2ª Prova: 12 novembro l Prova 2ª. Chamada: 26 novembro l l Matéria l Completa Trabalhos em Grupo (40%)

Contatos Prof. Jano – jano@cos. ufrj. br l Jonice Oliveira – jonice@cos. ufrj. br

Contatos Prof. Jano – jano@cos. ufrj. br l Jonice Oliveira – jonice@cos. ufrj. br l Página do curso: l http: //www. cos. ufrj. br/~jonice/classes/comp 2/index. htm Obs: Ainda NÃO atualizada!!!

O Primeiro Programar significa resolver um problema usando uma solução que o computador seja

O Primeiro Programar significa resolver um problema usando uma solução que o computador seja capaz de realizar; l Para tanto, usamos uma linguagem de programação que o computador seja capaz de “entender”; l l Linguagens de Alto Nível

Tipos de Linguagem l Linguagem de alto nível l l Este é o tipo

Tipos de Linguagem l Linguagem de alto nível l l Este é o tipo de linguagem de programação que é usado efetivamente na prática para escrever programas O grau de abstração é bem alto, próximo ao modo de o ser humano pensar Neste nível, não trabalhamos com o conceito de instrução de máquina e sim com o de comando Um comando perfaz várias instruções de máquina As posições de memória são denotadas por variáveis e constantes

Tipos de Linguagem l Linguagem de alto nível l Todo programa escrito em linguagem

Tipos de Linguagem l Linguagem de alto nível l Todo programa escrito em linguagem de alto nível também tem que passar por um processo de tradução para linguagem de máquina Esse processo é executado por um programa tradutor chamado compilador ou, em certas situações, interpretador Sem um compilador ou interpretador, os programas escritos em linguagem de alto nível resultam em peças inúteis na prática, pois o computador não é capaz de executá-los diretamente

Compilador X Interpretador l 1. Compilador Erros de Compilação Editor Compilador Código Fonte Bibliotecas

Compilador X Interpretador l 1. Compilador Erros de Compilação Editor Compilador Código Fonte Bibliotecas Externas Erros de Linkedição Linkeditor Código Objeto Código Executável Erros na Execução

Compilador X Interpretador l Interpretador, que traduz os comandos ``passo-a -passo'' e na medida

Compilador X Interpretador l Interpretador, que traduz os comandos ``passo-a -passo'' e na medida da necessidade; l Leitura Tradução Execução de cada linha do programa-fonte,

Linguagem Pascal é uma linguagem de alto nível l Ela consiste em: l comandos

Linguagem Pascal é uma linguagem de alto nível l Ela consiste em: l comandos l tipos de dados l l Ela contém também maneiras de modularizar o desenvolvimento de programas l funções e procedimentos

Esquema de Programa Pascal l Todo programa escrito em Pascal tem a seguinte forma

Esquema de Programa Pascal l Todo programa escrito em Pascal tem a seguinte forma geral: program Nome_do_Programa; Declarações begin Comandos end.

O Primeiro Programa l Problema Efigênia e Cristóvão querem calcular a média de dois

O Primeiro Programa l Problema Efigênia e Cristóvão querem calcular a média de dois números inteiros por meio de um computador l Eles sabem como calcular média, mas não sabem usar computador l Para tanto, pediram ajuda a vocês. l

O Primeiro Programa l Solução l l l A média é uma estatística muito

O Primeiro Programa l Solução l l l A média é uma estatística muito utilizada na prática, quando se quer representar por apenas um valor um conjunto de valores numéricos Uma forma fácil de estimar a média de um conjunto de dados numéricos é somar todos os dados e, depois, dividir essa soma pelo número de dados do conjunto No nosso caso, temos apenas dois dados o que torna a solução mais fácil ainda

Algoritmo da Solução 1. 2. 3. 4. Entre com os dois números no computador

Algoritmo da Solução 1. 2. 3. 4. Entre com os dois números no computador Calcule a soma dos dois números Calcule a média dos números Imprima a média

Programa da Solução program Media( input, output ); { Calcula a média de dois

Programa da Solução program Media( input, output ); { Calcula a média de dois números inteiros. } var x, y : integer; m : real; begin { Lê dois números inteiros. } writeln( 'Digite dois números inteiros: ' ); readln( x, y ); { Calcula a média dos números. } m : = (x + y)/2; { Imprime a média. } writeln( 'A média deles é ', m ); end.

Execução do Programa Digite dois números inteiros: 56 75 A média deles é 6.

Execução do Programa Digite dois números inteiros: 56 75 A média deles é 6. 550000000 E+001

O Alfabeto do Pascal l O alfabeto da linguagem Pascal consiste em: letras l

O Alfabeto do Pascal l O alfabeto da linguagem Pascal consiste em: letras l dígitos l símbolos especiais l palavras-chaves l

O Alfabeto do Pascal l Letras l Consiste nas letras latinas maiúsculas e minúsculas

O Alfabeto do Pascal l Letras l Consiste nas letras latinas maiúsculas e minúsculas B, C, . . . , Y, Z l a, b, c, . . . , y, z l A, l Dígitos l São os dígitos decimais indo-arábicos l 0, 1, 2, . . . , 9

O Alfabeto do Pascal l Símbolos especiais l São os símbolos usados para delimitadores,

O Alfabeto do Pascal l Símbolos especiais l São os símbolos usados para delimitadores, pontuação, operadores, etc. +, -, *, /, =, <>, <, >, <=, >=, (, ), [, ], : =, . , , , : , ; , . . , ', ^ l Palavras-chaves l São palavras da língua inglesa usadas como se fossem símbolos individuais em várias partes de um programa

O Alfabeto do Pascal l Palavras-chaves l Elas são: l div, mod, nil, in,

O Alfabeto do Pascal l Palavras-chaves l Elas são: l div, mod, nil, in, or, and, not, if, then, else, case, of, repeat, until, while, do, for, to, downto, begin, end, with, goto, const, var, type, array, record, set, file, function, procedure, label, packed, program As palavras-chaves da linguagem Pascal são reservadas l A linguagem Pascal não distingue letras maiúsculas de minúsculas l

Números Os números podem ser representados em Pascal em duas formas: l inteiros l

Números Os números podem ser representados em Pascal em duas formas: l inteiros l reais l Um número inteiro pode ser positivo, negativo ou zero l Um número inteiro é escrito como uma seqüência de dígitos que pode ser precedida por um sinal, + ou l

Números l Exemplos de números inteiros válidos: 6 0 -6 +7000000 l Números inteiros

Números l Exemplos de números inteiros válidos: 6 0 -6 +7000000 l Números inteiros inválidos: 6. 437. 271 -6, 0 -6. 0

Números Os números reais contêm uma parte fracionária ou um fator de escala l

Números Os números reais contêm uma parte fracionária ou um fator de escala l A parte fracionária é separada da parte inteira por um ponto decimal l O fator de escala é um sufixo contendo a letra E ou e, seguida de um inteiro. Este inteiro é a potência de 10 pela qual se deve multiplicar o número para obter sua grandeza correta l

Números l Exemplos de números reais válidos: 0. 0 0. 873 -74. 1 73.

Números l Exemplos de números reais válidos: 0. 0 0. 873 -74. 1 73. 36789 0 E 0 8. 73 E+02 -741 E-1 0. 7336789 E 2

Números l Exemplos de números reais inválidos 0. . 736 2, 736. 45 25.

Números l Exemplos de números reais inválidos 0. . 736 2, 736. 45 25. 94 E 245. 62 E 0. 5 E 34 5. E 2

Números l As seguintes formas são todas corretas para escrever o número real 253.

Números l As seguintes formas são todas corretas para escrever o número real 253. 0: 253. 0 2. 53 E 2 25. 3 E+01 253 E 0 2530 E-1

Identificadores Certos itens de um programa requerem um nome para que sejam identificados l

Identificadores Certos itens de um programa requerem um nome para que sejam identificados l Os nomes são chamados de identificadores l Um identificador consiste em uma letra seguida por qualquer quantidade de outras letras ou dígitos l Na prática, os identificadores devem ser significativos l

Identificadores l Exemplos de identificadores válidos I ovni PC 49 Umnomelongodefato Um. Exemplo. Qualquer

Identificadores l Exemplos de identificadores válidos I ovni PC 49 Umnomelongodefato Um. Exemplo. Qualquer l Exemplos de identificadores inválidos 1 abc erva-doce $100

Identificadores Padrões l l Existem alguns identificadores que são pré-declarados em qualquer implementação do

Identificadores Padrões l l Existem alguns identificadores que são pré-declarados em qualquer implementação do Pascal padrão Eles são: abs eoln maxint pred round trunc arctan exp new put sin unpack boolean false odd read sqr write char get ord readln sqrt writeln chr input output real succ cos integer pack reset text eof ln page rewrite true

Cadeias de Caracteres Uma seqüência de caracteres entre apóstrofes forma uma cadeia de caracteres

Cadeias de Caracteres Uma seqüência de caracteres entre apóstrofes forma uma cadeia de caracteres l Pode ser chamada também pelo nome em inglês: string l Exemplos de cadeias l 'Isto é um exemplo de cadeia' '? ' 'Seu nome é Joana D''Arc'

Comentários São frases colocadas por todo um programa com o objetivo de explicar ou

Comentários São frases colocadas por todo um programa com o objetivo de explicar ou clarear partes do código-fonte l Eles vêm entre chaves { e }, ou, às vezes, (* e *). Ainda existe // l Comentários são completamente ignorados pelos compiladores l Sua função é apenas aumentar a clareza e documentar um programa l

Estrutura Básica de um Programa em Pascal program identificador; parte_das_declarações begin parte_dos_comandos end.

Estrutura Básica de um Programa em Pascal program identificador; parte_das_declarações begin parte_dos_comandos end.

Variáveis Variável de programa é uma abstração para célula de memória l Portanto uma

Variáveis Variável de programa é uma abstração para célula de memória l Portanto uma variável armazena um valor ou estado l

Declaração de Variáveis l l l Em Pascal, toda variável para ser usada em

Declaração de Variáveis l l l Em Pascal, toda variável para ser usada em um programa tem que ser declarada antes As variáveis de um programa são declaradas na parte de declarações Declarar uma variável significa instruir o computador a reservar espaço na memória o qual passará a ser referenciado pelo nome da variável apresentado na declaração

Declaração de Variáveis l l Além disso, na declaração, um tipo é associado à

Declaração de Variáveis l l Além disso, na declaração, um tipo é associado à variável Ou seja, o tipo de uma variável determina quais valores podem ser armazenados pela variável Em Pascal, desde o momento em que uma variável é criada, seu tipo não pode ser modificado mais posteriormente Dizemos assim que a linguagem é estaticamente tipada

Declaração de Variáveis l Sintaxe var lista_de_variáveis : tipo; . . . lista_de_variáveis :

Declaração de Variáveis l Sintaxe var lista_de_variáveis : tipo; . . . lista_de_variáveis : tipo;

Declaração de Variável l Exemplos var x : integer; a, b : char; area,

Declaração de Variável l Exemplos var x : integer; a, b : char; area, perimetro : real; tem. Telefone : boolean;

Criação de Variáveis A partir do momento em que uma variável é criada, ela

Criação de Variáveis A partir do momento em que uma variável é criada, ela já possui um valor l Este valor inicial conhecido pode ser modificado durante a execução do programa l

Destruição de Variáveis Uma variável deixa de existir quando o bloco de programa ou

Destruição de Variáveis Uma variável deixa de existir quando o bloco de programa ou de subprograma em que ela foi criada termina de ser executado l Ao ser executado o último comando de um programa, toda a memória que foi alocada para o nosso programa é liberada para o sistema operacional e assim as variáveis do programa são destruídas l

Comandos Os comandos têm a função essencial de manipular e alterar o estado armazenado

Comandos Os comandos têm a função essencial de manipular e alterar o estado armazenado nas variáveis l Existem vários comandos em Pascal, porém o mais fundamental de todos é o comando de atribuição l O comando de atribuição modifica explicitamente o valor que uma variável armazena l

Comando de Atribuição l Sintaxe variável : = expressão l Semântica A expressão que

Comando de Atribuição l Sintaxe variável : = expressão l Semântica A expressão que aparece do lado direito do operador de atribuição, : =, é avaliada. O valor resultante da avaliação é então atribuído à variável que aparece do lado esquerdo l Isto é, o valor atual da variável é reposto pelo novo valor resultante da avaliação da expressão l

Comando de Atribuição l l l O comando de atribuição destrói o valor corrente

Comando de Atribuição l l l O comando de atribuição destrói o valor corrente armazenado na variável—obviamente, ele não destrói a variável O valor da expressão passa a ser o novo valor armazenado na variável Exemplos a a j p c : = : = : = 3. 52 b*b*b j + 1; (j > 0) or (c <> ' ') '. '

Entrada e Saída Simples de Dados Dentre os comandos simples da linguagem, podemos considerar

Entrada e Saída Simples de Dados Dentre os comandos simples da linguagem, podemos considerar os de entrada e saída de dados l Na realidade, em Pascal, a entrada e a saída são realizadas por meio de chamadas de procedimentos padrões l Por detrás, esses procedimentos de entrada/saída utilizam estruturas de arquivo para realizar as operações l

Entrada de Dados l Toda informação que quisermos passar para o computador é realizada

Entrada de Dados l Toda informação que quisermos passar para o computador é realizada por meio dos procedimentos: l readln l Sintaxe read( lista_de_variáveis )

Procedimento read l Exemplos read( l a ) alfa, beta, gama ) input, alfa,

Procedimento read l Exemplos read( l a ) alfa, beta, gama ) input, alfa, beta, gama ) A chamada read( v 1, v 2, v 3, . . . , vn ) l é equivalente a read( v 1 ); read( v 2 ); read( v 3 ); . . . ; read( vn )

Saída de Dados Qualquer informação produzida por um computador fica conhecida por nós somente

Saída de Dados Qualquer informação produzida por um computador fica conhecida por nós somente se for realizada alguma operação de saída l Em Pascal, podemos realizar uma saída de dados por meio dos procedimentos padrões: l writeln l

Procedimento write l Exemplos write( write( a, b, c 2*x + 7 output, 'a

Procedimento write l Exemplos write( write( a, b, c 2*x + 7 output, 'a = ', + 1 ) ) a, b, c + 1 ) 2*x + 7 ) x*x - 2*x - 5 )

Saída Formatada l l l A linguagem Pascal permite uma capacidade limitada de formatação

Saída Formatada l l l A linguagem Pascal permite uma capacidade limitada de formatação do texto de saída por meio dos procedimentos write ou writeln A cada valor de saída podemos acrescentar até dois sufixos separados pelo símbolo especial dois-pontos Sintaxe valor_de_saída : largura_do_campo : comprimento_da_fração

Saída Formatada l Exemplo l Suponha que a variável a seja do tipo real

Saída Formatada l Exemplo l Suponha que a variável a seja do tipo real e contenha o valor -0. 357000000 E+02 Comando Saída write( a ) -0. 357000000 E+02 write( a: 10 ) -0. 357 E+02 write( a: 5: 1 ) -35. 7 write( 'a = ', a: 5: 1 ) a = -35. 7

Projeto de Programação l Problema l l Queremos calcular a área e o perímetro

Projeto de Programação l Problema l l Queremos calcular a área e o perímetro de um círculo dado seu raio Análise do problema O cálculo da área e do perímetro de um círculo já foi bem estudado pela geometria, desde a época dos gregos antigos l Descobriu-se que estes cálculos envolviam o número irracional l

Projeto de Programação l Análise (cont. ) l Dado o comprimento do raio r

Projeto de Programação l Análise (cont. ) l Dado o comprimento do raio r de um círculo, temos que sua área A e seu perímetro P são dados pelas fórmulas:

Projeto de Programação l Algoritmo l Dados l l l 1. 2. 3. 4.

Projeto de Programação l Algoritmo l Dados l l l 1. 2. 3. 4. raio do tipo real área do tipo real perímetro do tipo real Leia o raio do círculo Calcule a área Calcule o perímetro Imprima a área e o perímetro

Implementação 1 program Circulo; 2 { Calcula a área e o perímetro de um

Implementação 1 program Circulo; 2 { Calcula a área e o perímetro de um círculo dado o raio. } 3 const 4 PI = 3. 141592653589793; Definição de constante 5 var 6 raio, area, perimetro : real; 7 begin 8 writeln( 'Entre com o raio do círculo: ' ); 9 readln( raio ); 10 11 area : = PI * sqr( raio ); 12 perimetro : = 2. 0 * PI * raio; Saídas com a formatação default para números reais 13 14 writeln( 'A área do círculo é: ', area ); 15 writeln( 'O perímetro é: 16 end. ', perimetro );

Testes ______________________ Entre com o raio do círculo: 2 A área do círculo é:

Testes ______________________ Entre com o raio do círculo: 2 A área do círculo é: 1. 256637061435917 E+001 O perímetro é: 1. 256637061435917 E+001 ______________________ Entre com o raio do círculo: 3 A área do círculo é: 2. 827433388230814 E+001 O perímetro é: 1. 884955592153876 E+001

Comandos Estruturados Os comandos estruturados contêm outros comandos em sua constituição l Eles estabelecem

Comandos Estruturados Os comandos estruturados contêm outros comandos em sua constituição l Eles estabelecem o fluxo de execução dos comandos simples de um programa l O poder de um computador reside na sua capacidade de executar ações seqüenciais, repetitivas e seletivas a grande velocidade e confiabilidade l

Comandos Estruturados l Pascal fornece várias estruturas de controle: Comandos compostos l Comandos repetitivos

Comandos Estruturados l Pascal fornece várias estruturas de controle: Comandos compostos l Comandos repetitivos l Comandos condicionais l

Comando Composto l Sintaxe begin C 1; C 2; . . . Cn end

Comando Composto l Sintaxe begin C 1; C 2; . . . Cn end l Cada Ci é um comando qualquer

Comando Composto l Semântica l l A execução do comando composto envolve a execução

Comando Composto l Semântica l l A execução do comando composto envolve a execução de seus comandos componentes Ci na ordem em que são escritos Exemplo begin a : = b; b : = c; c : = a end

Comando Composto l Semântica (fluxograma) C 1 C 2 C 3

Comando Composto l Semântica (fluxograma) C 1 C 2 C 3

Comandos Compostos l Uso de ponto-e-vírgula em comandos l l Em Pascal, o símbolo

Comandos Compostos l Uso de ponto-e-vírgula em comandos l l Em Pascal, o símbolo especial ; é usado na parte de comandos para separar um comando do outro O ponto-e-vírgula não é parte integrante de nenhum comando Observe que o último comando de qualquer comando composto não tem ponto-e-vírgula Porém, se o programador colocar um ponto-e-vírgula após o último comando, não causará nenhum erro de sintaxe, porque existe o conceito de comando vazio em Pascal

Comandos Condicionais É muito comum tornar a execução de um comando dependente de alguma

Comandos Condicionais É muito comum tornar a execução de um comando dependente de alguma condição l Pascal fornece duas formas de comandos com este propósito: l Comandos if l Comandos case l l Por enquanto, vamos estudar apenas os comandos if

Comandos if l Sintaxe l Forma simples if condição then comando l Forma completa

Comandos if l Sintaxe l Forma simples if condição then comando l Forma completa if condição then comando else comando

Comando if Simples l Semântica (fluxograma) l Vamos considerar primeiro a forma simples: if

Comando if Simples l Semântica (fluxograma) l Vamos considerar primeiro a forma simples: if B then C l onde B é uma expressão lógica e C é um comando qualquer F B V C

Exemplos 1) if c = '? ' then pergunta : = true 2) if

Exemplos 1) if c = '? ' then pergunta : = true 2) if i > 0 then begin t : = x; x : = y; y : = t end

Comando if Completo l Semântica (fluxograma) l A forma completa do if: V l

Comando if Completo l Semântica (fluxograma) l A forma completa do if: V l if B then C 1 else C 2 onde B é uma expressão lógica e C 1 e C 2 são comandos C 1 B F C 2

Exemplo if sqr(b) < 4*a*c then write('A equação tem raízes complexas') else begin d

Exemplo if sqr(b) < 4*a*c then write('A equação tem raízes complexas') else begin d : = sqrt(sqr(b) - 4*a*c); x 1 : = (-b + d)/(2*a); x 2 : = (-b - d)/(2*a) end

Projeto de Programação l Problema Eufrásia fez três provas para avaliação do seu rendimento

Projeto de Programação l Problema Eufrásia fez três provas para avaliação do seu rendimento na disciplina de Semiótica. Ela gostaria de saber se foi aprovada, baseandose no seguinte critério: se a média das três notas for maior ou igual a 60, foi aprovada; caso contrário, foi reprovada. l Faça um programa em Pascal para ajudar Eufrásia a determinar sua aprovação ou reprovação por meio do uso de computador. l

Projeto de Programação l Análise do problema A determinação da média de três números

Projeto de Programação l Análise do problema A determinação da média de três números é trivial: basta somá-los e depois dividir a soma por 3 l Tendo a média, podemos determinar a aprovação ou reprovação pelo seguinte teste: l l Se a média for maior ou igual a 60, então aprovação l Senão reprovação

Projeto de Programação l Algoritmo da solução l Dados l 1. 2. 3. 4.

Projeto de Programação l Algoritmo da solução l Dados l 1. 2. 3. 4. nota 1, nota 2, nota 3, média : real Leia as três notas Calcule a soma das três notas Calcule a média Se média ≥ 60, então imprima 'Aprovado(a)' senão imprima 'Reprovado(a)'

Implementação em Pascal 1 program Avaliacao( input, output ); 2 { Determina a aprovação

Implementação em Pascal 1 program Avaliacao( input, output ); 2 { Determina a aprovação de um aluno em uma disciplina, baseado na 3 4 média de três notas de provas. } var 5 nota 1, nota 2, nota 3 : real; 6 media : real; 7 begin 8 writeln( 'Digite as três notas das provas: ' ); 9 readln( nota 1, nota 2, nota 3 ); 10 11 media : = (nota 1 + nota 2 + nota 3) / 3. 0; Comando if completo 12 13 write ('Sua média foi ', media: 5: 1 ); 14 if media >= 60. 0 then writeln( ' ===> Aprovado(a)' ) 15 else writeln( ' ===> Reprovado(a)' ) 16 end.

Teste do Programa ___________________ Digite as três notas das provas: 50 50 50 Sua

Teste do Programa ___________________ Digite as três notas das provas: 50 50 50 Sua média foi 50. 0 ===> Reprovado(a) ___________________ Digite as três notas das provas: 64 75 43 Sua média foi 60. 7 ===> Aprovado(a)

Comandos if Aninhados l Testes com casos múltiplos são implementados comandos if dentro de

Comandos if Aninhados l Testes com casos múltiplos são implementados comandos if dentro de outros comandos if: if condição then comando else. . .

Nova Implementação O programa do cálculo da média e teste de aprovação feito a

Nova Implementação O programa do cálculo da média e teste de aprovação feito a pedido de Eufrásia pode ser melhorado l No caso de reprovação, Eufrásia gostaria de que fosse feita uma recomendação ao usuário l A nova implementação vem a seguir l

1 program Avaliacao( input, output ); 2 { Determina a aprovação de um aluno

1 program Avaliacao( input, output ); 2 { Determina a aprovação de um aluno em uma disciplina, baseado na 3 4 média de três notas de provas. } var 5 nota 1, nota 2, nota 3 : real; 6 media : real; 7 begin 8 writeln( 'Digite as três notas das provas: ' ); 9 readln( nota 1, nota 2, nota 3 ); 10 11 media : = (nota 1 + nota 2 + nota 3) / 3. 0; 12 Observe que, para colocar mais de um comando dentro das alternativas de um if, é necessário criar um comando composto delimitado por begin -end 13 write ('Sua média foi ', media: 5: 1 ); 14 if media >= 60. 0 then writeln( ' ===> Aprovado(a)' ) 15 else 16 begin 17 writeln( ' ===> Reprovado(a)' ); 18 writeln( 'Você deve fazer a disciplina novamente!' ) 19 20 end.

Teste do Programa ____________________ Digite as três notas das provas: 64 75 43 Sua

Teste do Programa ____________________ Digite as três notas das provas: 64 75 43 Sua média foi 60. 7 ===> Aprovado(a) _______________________ Digite as três notas das provas: 50 50 50 Sua média foi 50. 0 ===> Reprovado(a) Você deve fazer a disciplina novamente!

Projeto de Programação l l Eufrásia gostou tanto do programa feito pelos alunos que

Projeto de Programação l l Eufrásia gostou tanto do programa feito pelos alunos que até pediu uma nova versão, agora para calcular também o conceito recebido, de acordo com a média final Sua universidade usa o seguinte critério para atribuição de conceitos: l Notas entre 90 (inclusive) e 100, conceito A; notas entre 80 (inclusive) e 90, conceito B; notas entre 70 (inclusive) e 80, conceito C; notas entre 60 (inclusive) e 70, conceito D; e notas menores que 60, conceito R

Projeto de Programação l Algoritmo l Dados nota 1, nota 2, nota 3, média

Projeto de Programação l Algoritmo l Dados nota 1, nota 2, nota 3, média : real conceito : caracter 1. 2. 3. Leia as notas Calcule a média Se média ≥ 90 então conceito 'A' senão se média ≥ 80 então conceito 'B' senão se média ≥ 70 então conceito 'C' senão se média ≥ 60 então conceito 'D' senão conceito 'R'

1 program Avaliacao( input, output ); 2 { Calcula a média de três notas

1 program Avaliacao( input, output ); 2 { Calcula a média de três notas e atribui conceitos de acordo com a média. } 3 var 4 nota 1, nota 2, nota 3, media : real; 5 conceito : char; 6 begin 7 writeln( 'Digite suas três notas: ' ); 8 readln( nota 1, nota 2, nota 3 ); 9 10 media : = (nota 1 + nota 2 + nota 3) / 3. 0; 11 12 write( 'Sua média foi ', media: 5: 1 ); 13 14 if media >= 90. 0 then conceito : = 'A' 15 else if media >= 80. 0 then conceito : = 'B' 16 else if media >= 70. 0 then conceito : = 'C' 17 else if media >= 60. 0 then conceito : = 'D' 18 else conceito : = 'R'; 19 writeln( ' ===> Conceito ', conceito ) 20 end. Comandos if aninhados

Teste do Programa ___________________ Digite suas três notas: 64 75 43 Sua média foi

Teste do Programa ___________________ Digite suas três notas: 64 75 43 Sua média foi 60. 7 ===> Conceito D ___________________ Digite suas três notas: 50 50 50 Sua média foi 50. 0 ===> Conceito R

Para Casa Eufrásia que melhorar o programa. Como funcionalidade adicional ela quer saber a

Para Casa Eufrásia que melhorar o programa. Como funcionalidade adicional ela quer saber a sua menor nota e qual foi (primeira, segunda ou terceira). Além disto, caso tenha sido reprovada, ela quer saber o quanto faltou na média para ela passar. . . Se a diferença for até 5 pontos, ela quer ser notificada para pedir revisão de prova.