UMC – Engenharia Civil – Informática Aplicada à Engenharia

Apresentações semelhantes


Apresentação em tema: "UMC – Engenharia Civil – Informática Aplicada à Engenharia"— Transcrição da apresentação:

1 UMC – Engenharia Civil – Informática Aplicada à Engenharia

2 PRÁTICA 1 – OBSERVANDO OS ELEMENTOS BÁSICOS E A EXECUÇÃO DE ALGORITMOS SIMPLES
Objetivos Identificar características básicas de um algoritmo computacional Observar a execução de um algoritmo simples pelo interpretador Visualg Editar e executar algoritmos usando o programa Visualg

3 Conceitos de Algoritmos
“Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido” (FORBELLONE, 1999) “Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a realização de uma tarefa” (ASCENCIO, 1999) “Algoritmo é uma sequência de instruções ou operações cuja execução, em tempo finito, resolve um problema computacional, qualquer que seja sua instância.” (SALVETI, 1999) “Algoritmo são regras formais para a obtenção de um resultado ou da solução de um problema, englobando fórmulas de expressões aritméticas.” (MANZANO, 1997)

4 Método para construção de Algoritmos
Passos a serem seguidos, segundo ASCÊNCIO, 1999: Compreender completamente o problema a ser resolvido, destacando os pontos mais importantes e os objetos que o compõem; Definir os dados de entrada, ou seja, quais dados serão fornecidos e quais objetos fazem parte desse cenário-problema; Definir o processamento, ou seja, quais cálculos serão efetuados e quais as restrições para esses cálculos. O processamento é responsável pela transformação dos dados de entrada em dados de saída. Além disso, deve-se identificar quais objetos são responsáveis pelas atividades. Definir os dados de saída, ou seja, quais dados serão gerados após o processamento. Elaborar e representar o algoritmo usando uma das formas usuais. Nesta disciplina serão enfatizadas as representações em fluxograma e em pseudocódigo. Testar o algoritmo realizando simulações.

5 Formas de Representação do Algoritmo
Descrição narrativa Fluxograma Pseudocódigo ou portugol

6 Sobre o VisualG O programa Visualg é um interpretador de uma linguagem para descrição de algoritmos em pseudocódigo. Ele será usado com o propósito de facilitar e incentivar o estudo de algoritmos. O programa tem versões para serem executadas em computadores de mesa e notebooks e também em dispositivos móveis com sistema Android. Referências sobre a linguagem interpretada pelo programa estão disponíveis na ajuda online.

7 Prática – Instalando o VisualG

8 Prática – Instalando o VisualG

9 Prática – Instalando o VisualG

10 Prática – Instalando o VisualG

11 Prática – Instalando o VisualG

12 Prática – Instalando o VisualG

13 Prática – Instalando o VisualG

14 VisualG

15 VisualG Observe que, ao abrir, a janela apresenta uma área (Área dos programas) com um esqueleto de algoritmo já definido. Nesse esqueleto aparecem palavras reservadas da linguagem de representação em azul, comentários usados para documentação em verde, e valores literais (constantes) em vermelho. Os valores em azul apresentados no esqueleto indicam as seções (partes) constituintes de um algoritmo. Nas próximas aulas, você editará esse pseudocódigo básico para fazê-lo corresponder ao código elaborado por você em cada atividade prática. Aproveite para explorar os itens de menu e os botões de acesso rápido, passando o mouse sobre eles e lendo as eventuais mensagens de ajuda que possam aparecer.

16 VisualG Edite o pseudocódigo de modo que ele fique idêntico ao mostrado na Figura 2 a seguir. Para especificar o operador de atribuição <- que aparece na linha indicada pelo número 19 na Figura 2, você deve teclar < (sinal menor que) e depois teclar –(sinal de menos).

17 VisualG

18 VisualG Faça clique sobre o item de menu Run (executar) e selecione a opção Rodar passo a passo F8 no menu suspenso que se abrirá, para observar a sequência na qual as linhas do pseudocódigo serão interpretadas e como os resultados vão aparecendo nas outras áreas da janela. O menu suspenso será semelhante ao mostrado na Figura 3 a seguir

19 VisualG Veja que aparece em destaque a primeira linha do pseudocódigo na Área dos programas. Isso indica que essa linha será a primeira a ser executada. Veja também que aparece uma área mostrando o resultado da execução do código no modo DOS, com nenhum resultado ainda. Tecle F8 (uma das teclas de função na parte superior do teclado. Em alguns teclados, para que a tecla F8 seja ativada é preciso manter pressionada a tecla Fn enquanto se tecla simultaneamente F8) para prosseguir com a execução passo a passo. Ao teclar F8 a linha em destaque é executada, o resultado da execução aparece na janela do DOS, e a próxima linha a ser executada aparece em destaque na Área dos programas. Note que a próxima linha a ser executada contém apenas o cabeçalho da seção de declaração de variáveis e, por isso, nenhum resultado prático visível decorrerá da sua execução. Sendo assim, tecle F8 novamente para prosseguir.

20 VisualG A linha em destaque agora contém as declarações de variáveis. Tecle F8 para que essa linha seja executada e as variáveis sejam criadas na memória do computador. Observe na janela Áreas das variáveis de memória que já aparecerão informações sobre as variáveis criadas, incluindo seus escopos, nomes, tipos de dados e valores iniciais, como mostrado na Figura 4.

21 VisualG Prossiga na execução teclando F8 para executar a linha com o identificador Início. Nenhum resultado prático visível deve ser esperado, já que essa linha apenas marca o início da seção de comandos. A próxima linha a ser executada contém o comando escreva, o qual será responsável pela exibição do texto Digite um valor para n1 na tela do DOS (janela Console simulando o modo texto do MS-DOS). Tecle F8 e veja como a execução do comando escreva altera a aparência da janela do console, a qual deve ter aparência semelhante à mostrada na Figura 5.

22 VisualG

23 Exemplo 2

24 Exemplo 2 Identifique e responda: a) Quais são os dados de entrada? b) Qual o processamento usado para transformar dados de entrada em dados de saída? c) Qual o dado de saída produzido? Edite o algoritmo para ficar como na Figura 7. Execute a nova versão no modo passo a passo verificando o caminho seguido. Digite os seguintes valores, quando solicitado, f = 5, d = 3, e verifique que o resultado final exibido deve coincidir com momento no engaste = 15 Nm.

25 Exemplo 3

26 PRÁTICA 2 – IDENTIFICANDO TRANSFORMAÇÕES EQUIVALENTES ENTRE AS REPRESENTAÇÕES EM FLUXOGRAMA E PORTUGOL

27 OBJETIVOS Identificar transformações equivalentes entre as representações de algoritmos em Fluxograma e Portugol; Representar em Portugol algoritmos apresentados em Fluxograma; Praticar a execução de algoritmos simples usando o programa Visualg

28 Fluxograma É uma representação gráfica de algoritmos na qual formas geométricas diferentes implicam ações (instruções, comandos) distintas. Tal propriedade facilita o entendimento das ideias contidas nos algoritmos e justifica sua popularidade. A seguir são apresentados os principais símbolos e suas descrições, para a representação de algoritmos com estruturas sequenciais simples. É importante lembrar que existem pequenas diferenças entre as simbologias utilizadas pelos diferentes autores

29 Fluxograma

30 Fluxogramas Observe que na representação em Fluxograma não há um símbolo que indique declaração de variáveis, nem comentários. Podem ser estabelecidas equivalências entre os símbolos usados nos fluxogramas e as palavras-reservadas usadas na descrição em pseudocódigo, conforme mostrado no quadro a seguir

31 Fluxograma / Portugol

32 Fluxograma O sentido indicado pelas setas de fluxo de dados do fluxograma determina a sequência das instruções no pseudocódigo.

33 Fluxograma

34 Prática O Quadro 1 mostra, na coluna da esquerda, a representação em fluxograma de um algoritmo para o cálculo da tensão normal de tração produzido por uma força de tração N aplicada na direção normal à seção transversal de uma barra prismática com área A e no centro de gravidade dessa seção. Seguindo o fluxo de dados percebe-se que o fluxograma sugere que o usuário deve primeiro fornecer valores para a força N e para a área da seção transversal da barra A. Em seguida, o fluxo sugere que deva ser calculado o valor da tensão normal de tração T, dividindo o valor da força N pela área A e atribuindo o resultado à variável T. Depois, continuando no mesmo fluxo sugerido pelo fluxograma, devem ser exibidos na tela o conjunto de letras que forma a frase “Tensão = ” seguida pelo valor da variável T. Observe que, apenas observando o fluxograma, não é possível saber o tipo de dado das variáveis nem as unidades usada.

35 Prática É função do projetista determinar essas características e informa-las ao projetista de software que tratará da implementação do algoritmo em alguma linguagem de programação. Só para lembrar, nas aulas de resistência dos materiais o valor de uma força costuma ser um número real e a unidade usada é Newton (N); a área da seção transversal é um número real e a unidade usada é milímetro quadrado (mm2); e o valor da tensão normal é um número real com unidade mega Pascal (Mpa). Uma representação equivalente do algoritmo em pseudocódigo é mostrada na coluna da direita. Digite o algoritmo da coluna da direita no Visualg e execute-o no modo passo a passo. Anote os valores que você forneceupara a força normal e para a área da seção transversal e o valor calculado para a tensão normal. Associe os comandos no pseudocódigo com os símbolos no fluxograma.

36 Prática

37 Prática 2 O Quadro 2 mostra, na coluna da esquerda, a representação em fluxograma de um algoritmo para o cálculo do custo de mão de obra para a construção de um muro de alvenaria dados o comprimento e a altura do muro em metros e o custo da mão de obra em reais por metro quadrado. Seguindo o fluxo de dados percebe-se que o fluxograma sugere que o usuário deve primeiro fornecer valores para o comprimento L e para a altura H do muro, além do valor do custo da mão de obra por metro quadrado de construção C. Em seguida, o fluxo sugere que deva ser calculado o valor do custo da mão de obra, multiplicando o custo por metro quadrado pelo comprimento e pela altura e atribuindo o resultado à variável T. Depois, continuando no mesmo caminho sugerido pelo fluxograma, devem ser exibidos na tela o conjunto de letras que forma a frase “Custo total = ” seguida pelo valor da variável T. Uma representação equivalente do algoritmo em pseudocódigo é mostrada na coluna da direita. Digite o algoritmo da coluna da direita no Visualg e execute-o no modo passo a passo. Anote os valores que você forneceu para os dados de entrada e o valor calculado para o dado de saída. Associe os comandos no pseudocódigo com os símbolos no fluxograma

38 Prática 2

39 Prática 3 A representação na forma de fluxograma não exige que sejam especificadas mensagens de texto usadas para orientar o usuário sobre como usar o algoritmo ou sobre o significado dos dados. O Quadro 3 mostra, na coluna da esquerda, a representação em fluxograma de um algoritmo para estimar o número de lâmpadas idênticas necessário para iluminar uma sala retangular com uma determinada iluminância mínima em Lux (Iluminância é a quantidade de luz por metro quadrado). O usuário deve fornecer como dados de entrada as dimensões da sala em metros (comprimento e largura); a iluminância mínima desejada em Lux; e o fluxo luminoso emitido por cada lâmpada em lumens. O processamento desses dados para a determinação da saída é feito através da expressão Número de Lâmpadas = (Iluminância desejada x Área da sala) / fluxo luminoso de cada lâmpada. O número de lâmpadas deveria ser um número inteiro mas, para facilitar a compreensão, foi usado o tipo de dado real. Caberá ao usuário arredonda-lo para cima. Uma representação equivalente do algoritmo em pseudocódigo é mostrada na coluna da direita. Digite o algoritmo da coluna da direita no Visualg e execute-o no modo passo a passo. Anote os valores que você forneceu para os dados de entrada e o valor calculado para o dado de saída. Associe os comandos no pseudocódigo com os símbolos no fluxograma.

40 Prática 3

41 Prática 4 Desenhe uma representação equivalente para cada um dos algoritmos representados em pseudocódigo e mostrados a seguir. Determine, para cada um, quais são os dados de entrada, de saída e o processamento efetuado. Quando terminar, mostre o resultado ao professor.

42 Prática 5

43 Prática 6

44 Desafio Tente vencer o seguinte desafio: Elaborar um algoritmo que receba o raio (r) e a altura (h) de uma lata de óleo para calcular e apresentar o valor do volume (V) desta lata, sabendo que V=π*r2*h. Represente seu algoritmo na forma de fluxograma.

45 Exercícios 1ºElabore um diagrama de blocos para efetuar uma operação lógica (Verdadeiro ou Falso) na leitura de um número para verificar se o mesmo é positivo ou negativo, armazenando este valor em uma variável. Exiba o resultado Final. 2º Elabore um diagrama de blocos para efetuar uma operação lógica (Verdadeiro ou Falso) na leitura de um número para verificar se o mesmo é par ou impar, armazenando esses valores em variáveis e exibindo os resultados.

46 PRÁTICA 1 – OBSERVANDO OS ELEMENTOS BÁSICOS E A EXECUÇÃO DE ALGORITMOS SIMPLES

47 Objetivos Observar a execução de algoritmos usando estrutura de decisão com o Visualg Editar e executar algoritmos usando o programa Visualg

48 Introdução A estrutura de decisão simples permite desviar o fluxo do algoritmo para um ou para outro caminho de acordo com o valor de uma expressão lógica, isto é, uma expressão cujo valor seja falso ou verdadeiro apenas.

49 Fluxograma A estrutura de decisão simples é representada no fluxograma conforme ilustrado na Figura a seguir. A expressão lógica a ser avaliada é escrita dentro do losango e o projetista deve indicar com as palavras falso e verdadeiro ou com as letras V e F, respectivamente, os caminhos a serem seguidos após a avaliação da expressão. Os caminhos a serem seguidos após a avaliação devem se encontrar em um ponto indicado por um sinal de conector para indicar o fim da estrutura de decisão. O caminho correspondente ao valor Falso pode conter nenhuma ação porém não pode ser omitido, devendo, este caso, ser desenhado como uma seta contínua do losango até o conector.

50 Fluxograma

51 Fluxograma A representação dessa estrutura no pseudocódigo interpretado pelo Visualg usa as palavras-chave se, entao, senao, e fimse, sendo admitidas duas formas de representação da estrutura – com ou sem especificação do caminho a seguir caso a expressão lógica seja avaliada com o valor falso. Ao encontrar um comando com a forma se <expressão-lógica> entao <seqüência-de-comandos> fimse

52 Comandos VisualG O VisuAlg analisa a <expressão-lógica>. Se o seu resultado for VERDADEIRO, todos os comandos da <sequência-de-comandos> (entre esta linha e a linha com fimse) são executados. Se o resultado for FALSO, estes comandos são desprezados e a execução do algoritmo continua a partir da primeira linha depois do fimse. Se a forma representada for se <expressão-lógica> entao <sequência-de-comandos-1> senao <sequência-de-comandos-2> Fimse então

53 Comandos VisualG Se o resultado da avaliação de <expressão-lógica> for VERDADEIRO, todos os comandos da <sequência-de-comandos-1> (entre esta linha e a linha com senao) são executados, e a execução continua depois a partir da primeira linha depois do fimse. Se o resultado for FALSO, estes comandos são desprezados e o algoritmo continua a ser executado a partir da primeira linha depois do senao, executando todos os comandos da <sequência-de- comandos-2> (até a linha com fimse).

54 Prática O algoritmo a seguir foi proposto para resolver o problema de calcular a média semestral de um aluno da UMC e determinar se o aluno está aprovado ou não. O algoritmo está representado em fluxograma na coluna da esquerda do quadro e em pseudocódigo na coluna da direita. Os valores lidos M1, ND e PInt correspondem às notas regimentais e o critério de decisão usado é “o aluno está aprovado caso a média semestral seja igual ou superior a 4,95”. Inicie um novo arquivo no Visualg e edite-o para ficar idêntico ao mostrado na coluna da direita do quadro.

55 Prática

56 Prática Execute o algoritmo usando o modo de execução passo a passo (tecla F8) fornecendo como valores de entrada M1=5; ND=6 e PInt=7. Anote o valor calculado para MS após a execução da linha 22 e observe o caminho seguido pelo algoritmo nos próximos passos da execução, anotando os números das linhas executadas neste caminho. Não se esqueça de teclar ESC ao final da execução. Explique o caminho seguido pelo algoritmo e visualize-o no fluxograma da Figura anterior. MS = ______________________ Caminho = 22, _____________________________

57 Prática Execute novamente o algoritmo usando o modo de execução passo a passo (tecla F8) fornecendo como valores de entrada M1=5; ND=5 e PInt=2. Anote o valor calculado para MS após a execução da linha 22 e observe o caminho seguido pelo algoritmo nos próximos passos da execução, anotando os números das linhas executadas neste caminho. Não deixe de teclar ESC ao final da execução. Explique o caminho seguido pelo algoritmo e visualize-o no fluxograma da Figura anterior. MS = ______________________ Caminho = 22, _____________________________ Salve o algoritmo na Área de trabalho com o nome MediaUMC1.alg.

58 Prática 2 O algoritmo a seguir foi proposto para resolver o problema de calcular a área mínima de um tirante de telhado usando aço ou madeira. O algoritmo considera que a tensão admissível para o aço é de 1600 Kg/cm2 e para a madeira é de 170 kg/cm2. O usuário deve informar o valor da força de tração que o tirante deve suportar em kg e o tipo de material (tipo é 1 se for usado aço ou tipo é 2 se for usada madeira). O algoritmo está representado em fluxograma na coluna da esquerda do quadro a seguir e em pseudocódigo na coluna da direita. Inicie um novo arquivo no Visualg e edite-o para ficar idêntico ao mostrado na coluna da direita do quadro.

59 Prática 2

60 Prática 2 Execute o algoritmo usando o modo de execução passo a passo (tecla F8) fornecendo como valores de entrada tração de 8600 Kg (FN=8600) e material aço (Mat=1). Observe o caminho seguido pelo algoritmo após a execução da linha 18, anotando os números das linhas executadas neste caminho. Anote o valor calculado para a área mínima. Não se esqueça de teclar ESC ao final da execução. Explique o caminho seguido pelo algoritmo e visualize-o no fluxograma da Figura anterior. Caminho = 18, ___________________ Área = __________________ cm2

61 Prática 2 Execute novamente o algoritmo usando o modo de execução passo a passo (tecla F8) fornecendo como valores de entrada tração de 8600 Kg (FN=8600) e material madeira (Mat=2). Observe o caminho seguido pelo algoritmo após a execução da linha 17, anotando os números das linhas executadas neste caminho. Anote o valor calculado para a área mínima. Não se esqueça de teclar ESC ao final da execução. Explique o caminho seguido pelo algoritmo e visualize-o no fluxograma da Figura 4. Caminho = 18, __________________________ Área = __________________ cm2

62 Prática 3 Uma construtora utiliza dois tipos de veículos para o transporte de insumos do depósito central até os canteiros de obras. Os veículos leves têm consumo médio de 12 Km/l de diesel e 6,3 Km/l de gasolina, sendo usados para cargas com peso total menor ou igual a 1000 kg. Para cargas com peso superior, são usados veículos semi-leves, abastecidos apenas com diesel, com consumo de 6,7 Km/l de combustível. O engenheiro da construtora construiu o algoritmo ilustrado nas figuras a seguir para calcular e exibir o consumo total de combustível e o custo total com combustível para transportar uma carga do depósito até um canteiro de obra usando o tipo de veículo adequado ao peso da carga. O usuário deve fornecer o peso da carga (P em kg), a distância a ser percorrida do depósito até o canteiro (D em km) e o preço do litro combustível (C em real). Caso o veículo recomendado seja o leve (carga com kg ou menos), o usuário deve informar também o tipo de combustível (TC = 1 para diesel ou TC = 2 para gasolina). O algoritmo está representado em fluxograma na primeira linha do quadro a seguir e em pseudocódigo na segunda linha do quadro. Inicie um novo arquivo no Visualg e edite-o para ficar idêntico ao mostrado na segunda linha do quadro.

63 Prática 3

64 Prática 3

65 Prática 3 Execute o algoritmo usando o modo de execução passo a passo (tecla F8) fornecendo como valores de entrada peso da carga igual a 300 Kg (P=300), distância até o canteiro de 10 Km (D=10), combustível diesel (TC=1) e preço do litro de diesel igual a R$ 2,39 (PC=2.39). Observe o caminho seguido pelo algoritmo após a execução da linha 17, anotando os números das linhas executadas neste caminho. Anote o valor calculado para o consumo e para o custo totais. Não se esqueça de teclar ESC ao final da execução. Explique o caminho seguido pelo algoritmo e visualize-o no fluxograma da Figura 6. Caminho = 19, ___________ Consumo = ____________ Custo=R$_________

66 Prática 3 Execute novamente o algoritmo usando o modo de execução passo a passo (tecla F8) fornecendo como valores de entrada peso da carga igual a 300 Kg (P=300), distância até o canteiro de 10 Km (D=10), combustível gasolina (TC=2) e preço do litro da gasolina igual a R$ 3,29 (PC=3.29). Observe o caminho seguido pelo algoritmo após a execução da linha 17, anotando os números das linhas executadas neste caminho. Anote o valor calculado para o consumo e para o custo totais. Não se esqueça de teclar ESC ao final da execução. Explique o caminho seguido pelo algoritmo e visualize-o no fluxograma da Figura anterior. Caminho = 19, ___________________ Consumo = ____________ Custo=R$_________

67 Prática 3 Execute novamente o algoritmo usando o modo de execução passo a passo (tecla F8) fornecendo como valores de entrada peso da carga igual a 2000 Kg (P=2000), distância até o canteiro de 10 Km (D=10) e preço do litro de diesel igual a R$ 2,39 (PC=2,39). Observe o caminho seguido pelo algoritmo após a execução da linha 17, anotando os números das linhas executadas neste caminho. Anote o valor calculado para o consumo e para o custo totais. Não se esqueça de teclar ESC ao final da execução. Explique o caminho seguido pelo algoritmo e visualize-o no fluxograma da Figura 6. Caminho = 19, ____________ Consumo = __________ Custo=R$_________

68 Prática 3 Grave o algoritmo na Área de trabalho com o nome Transporte1.alg. Termine o Visualg. Mostre suas anotações ao professor.

69 PRÁTICA 4 – ESTRUTURA DE SELEÇÃO MÚLTIPLA, VARIÁVEIS E TIPOS DE DADOS

70 Objetivos Observar a execução de algoritmos usando estrutura de decisão do tipo seleção múltipla (escolha) com o Visualg Observar formas de declaração de variável e constante em pseudocódigo Editar e executar algoritmos usando o programa Visualg

71 Introdução Variáveis, constantes e tipos de dados
No contexto da programação de computadores, uma variável é um local, na memória principal do computador, reservado para que um programa possa armazenar dado. O dado corresponde ao conteúdo da variável e pode mudar durante a execução do programa. Cada variável recebe um nome, que a identifica de maneira única dentro do programa.

72 Variáveis, constantes e tipos de dados
Os nomes das variáveis são escolhidos pelo projetista do programa (ou do algoritmo) de acordo com regras de formação. Nesta disciplina, os nomes das variáveis devem começar por uma letra, a qual pode ser seguida por letras, números ou o símbolo “sublinhado” (underline em inglês). Não pode haver duas variáveis com o mesmo nome no mesmo algoritmo ou programa. Nos algoritmos representados e pseudocódigo, as variáveis devem ser declaradas antes de serem usadas. Na representação em fluxograma, não existe a necessidade nem mesmo um modo de declarar variáveis. A declaração de variável consiste na especificação do seu nome e do tipo de dado do seu conteúdo.

73 Variáveis, constantes e tipos de dados
O tipo de dado de uma variável define o conjunto dos valores que a variável poderá assumir e as operações que são permitidas sobre esses valores. No pseudocódigo interpretado pelo Visualg, a seção de declaração de variáveis começa com a palavra-chave var, e continua com as seguintes sintaxes: <lista-de-variáveis> : <tipo-de-dado> <lista-de-variáveis> : vetor "["<lista-de-intervalos>"]" de <tipo-de-dado>

74 Variáveis, constantes e tipos de dados
O VisuAlg prevê quatro tipos de dados: inteiro, real, cadeia de caracteres e lógico (ou booleano). As palavras-chave que os definem são as seguintes: inteiro: define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais. real: define variáveis numéricas do tipo real, ou seja, com casas decimais. caractere: define variáveis do tipo string, ou seja, cadeia de caracteres. logico: define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO

75 Variáveis, constantes e tipos de dados
Uma constante corresponde a um valor que não pode mudar durante a execução do algoritmo (ou programa). Constantes podem ser representadas diretamente por seu valor dentro do algoritmo ou podem receber nomes, como os de variáveis, que as identifiquem de forma única. Caso uma constante seja identificada por um nome, deve ser declarada e seu valor não poderá mudar durante a execução do algoritmo ou programa. As regras para criação de nomes para constantes são as mesmas usadas para a criação dos nomes das variáveis. A declaração do tipo de dado de uma constante é desnecessária, ficando definida implicitamente pelo seu valor. Constantes com valores do tipo caractere devem ser representadas entre aspas.

76 Estrutura de Decisão de Seleção Múltipla
A estrutura de decisão do tipo seleção múltipla (também referida como escolha- caso) permite desviar o fluxo do algoritmo para um dentre vários caminhos de acordo com o valor de uma variável (ou expressão ordinal). Cada caminho é selecionado sempre que o valor da variável coincidir com valores especificados pelo projetista do algoritmo. Os possíveis valores de expressão ordinal devem pertencer a um conjunto ordenado de valores, por exemplo, o conjunto dos números reais, ou o conjunto dos caracteres da tabela ASCII. Diferente da estrutura de decisão simples, na estrutura de seleção múltipla, a expressão não será uma expressão lógica. Muitas vezes, a expressão consiste de uma única variável.

77 Estrutura de Decisão de Seleção Múltipla

78 Estrutura de Decisão de Seleção Múltipla
Na Figura anterior, o nome da variável cujo valor definirá o caminho a ser seguido é especificado dentro do losango no início da estrutura. Na mesma figura, os possíveis valores que identificam os diversos caminhos são representados dentro de polígonos (Valor 1, Valor 2, e assim por diante). Apenas um dos caminhos será seguido, e ele corresponde à primeira coincidência de valor na ordem de cima para baixo. Caso nenhuma coincidência seja encontrada, será seguido o caminho default, representado na figura passando pelo Comando n+1.

79 Estrutura de Decisão de Seleção Múltipla
A representação dessa estrutura no pseudocódigo interpretado pelo Visualg usa as palavras-chave escolha, caso, outrocaso e fimescolha. Ao encontrar um comando com a forma escolha <expressão-de-seleção> caso <exp11>, <exp12>, ..., <exp1n> <sequência-de-comandos-1> caso <exp21>, <exp22>, ..., <exp2n> <sequência-de-comandos-2> outrocaso <sequência-de-comandos-extra> fimescolha

80 Estrutura de Decisão de Seleção Múltipla
O VisuAlg avalia a <expressão-de-seleção>, comparando o resultado com os valores das <expr11>, <exp12>, etc. especificadas após cada palavra reservada caso, buscando encontrar uma coincidência, para então, executar a <sequência-de- comandos-n> especificada naquele caso. Se nenhuma coincidência for encontrada, a <sequência-de-comandos-extra> especificada após outrocaso será executada. O algoritmo a seguir, representado em no pseudocódigo interpretado pelo Visualg, , ilustra o uso da estrutura de seleção múltipla e a sintaxe usada pelo Visualg. Por ser de fácil compreensão, o algoritmo não será explicado, ficando a cargo do estudante examinar sua estrutura e comprovar que qualquer que seja o valor da variável time, um dos caminhos será executado e alguma mensagem será apresentada na saída.

81 Estrutura de Decisão de Seleção Múltipla

82 Prática O algoritmo “Calculadora” a seguir foi proposto para resolver o problema de calcular e exibir na tela a soma, subtração, multiplicação ou a divisão de dois números reais. O usuário fornece os valores dos operandos (op1 e op2) e a operação (oper) a ser realizada (oper = +, -, *ou /). Caso o usuário forneça um sinal de operação diferente dos indicados, nenhuma operação deve ser feita e deve ser apresentada a mensagem de alerta “Operação inválida”. O algoritmo está representado em fluxograma na coluna da esquerda do quadro e em pseudocódigo na coluna da direita. Inicie um novo arquivo no Visualg e edite-o para ficar idêntico ao mostrado na coluna da direita do quadro.

83 Fluxograma

84 Algoritmo

85 Faça o que se pede Execute o algoritmo usando o modo de execução passo a passo (tecla F8) fornecendo como valores de entrada Op1=5; Op2=6 e Oper=”+”. Observe e anote o caminho seguido, indicando os números linhas executadas neste caminho. Não se esqueça de teclar ESC ao final da execução. Explique o caminho seguido pelo algoritmo. Caminho = ________________________________________________________________ Execute novamente o algoritmo usando o modo de execução passo a passo (tecla F8) fornecendo como valores de entrada Op1=5; Op2=6 e Oper=”-“. Observe e anote o caminho seguido, indicando os números linhas executadas neste caminho. Não se esqueça de teclar ESC ao final da execução. Explique o caminho seguido pelo algoritmo.

86 Faça o que se pede Execute novamente o algoritmo usando o modo de execução passo a passo (tecla F8) fornecendo como valores de entrada Op1=5; Op2=6 e Oper=”*“. Observe e anote o caminho seguido, indicando os números linhas executadas neste caminho. Não se esqueça de teclar ESC ao final da execução. Explique o caminho seguido pelo algoritmo. Caminho = ________________________________________________________________ Execute novamente o algoritmo usando o modo de execução passo a passo (tecla F8) fornecendo como valores de entrada Op1=6; Op2=3 e Oper=”/“. Observe e anote o caminho seguido, indicando os números linhas executadas neste caminho. Não se esqueça de teclar ESC ao final da execução. Explique o caminho seguido pelo algoritmo.

87 Faça o que se pede Execute novamente o algoritmo usando o modo de execução passo a passo (tecla F8) fornecendo como valores de entrada Op1=6; Op2=3 e Oper=”a“. Observe e anote o caminho seguido, indicando os números linhas executadas neste caminho. Não se esqueça de teclar ESC ao final da execução. Explique o caminho seguido pelo algoritmo Caminho = ________________________________________________________________ Grave o algoritmo na Área de Trabalho com o nome Calculadora.alg. O algoritmo proposto falhará caso o usuário informe o valor 0 (zero) para o segundo operando e opte por fazer uma divisão. Neste caso, ocorrerá um erro de divisão por zero. Para evitar isso, propõe-se a alteração mostrada no Quadro a seguir. O algoritmo está representado em fluxograma na coluna da esquerda do quadro e em pseudocódigo na coluna da direita. Inicie um novo arquivo no Visualg e edite-o para ficar idêntico ao mostrado na coluna da direita do quadro.

88 Prática 2

89 Algoritmo

90 Faça o que se pede Execute o algoritmo usando o modo de execução passo a passo (tecla F8) fornecendo como valores de entrada Op1 = 6, Op2 = 0 e Oper = “/”. “. Observe e anote o caminho seguido, indicando os números linhas executadas neste caminho. Não se esqueça de teclar ESC ao final da execução. Explique o caminho seguido pelo algoritmo. Caminho = ________________________________________________________________ Grave o algoritmo na Área de trabalho, usando a opção “Salvar como”, dando à nova versão o nome Calculadora2.alg. Termine o Visualg. Mostre suas anotações ao professor. Como um desafio, refaça o fluxograma da Figura 2, de modo que sejam usadas estruturas de decisão simples no lugar da estrutura de decisão do tipo seleção de múltipla escolha. Apresente ao professor a sua solução para o desafio.

91 PRÁTICA 5 – ESTRUTURAS DE REPETIÇÃO COM TESTE NO INÍCIO

92 Objetivos Observar a execução de algoritmos usando estrutura de repetição com teste no início com o Visualg Editar e executar algoritmos usando o programa Visualg

93 Estruturas de repetição com teste no início
Um programa possui trechos que precisam ser executados mais de uma vez. Quando isto acontece é necessário usar uma das três estruturas de repetição: “Para .. faça”, “Enquanto .. faça” e “Repita .. até”. As estruturas de repetição permitem que o fluxo de execução do algoritmo volte até um ponto já executado e repita sua execução. Nas estruturas de repetição com teste no início, antes de executar a sequência de instruções chamada de corpo do laço, é feita a avaliação de uma expressão lógica, que determinará se a execução do laço deve ocorrer ou não. Normalmente, a execução do corpo do laço ocorre caso a expressão lógica tenha valor verdadeiro, o que justifica chama-la de “condição para continuar”. As estruturas de repetição “Para .. faça” e “Enquanto ... faça” são estruturas com teste no início

94 Estrutura de repetição “Para .. faça
Também chamada de repetição com variável de controle ou repetição com contador, é usada quando o número de repetições de um trecho do programa é conhecido previamente. Por exemplo: o cálculo da média deve ser repetido pelo professor no final do semestre para uma determinada turma exatamente o número de vezes correspondente ao número de alunos da turma, então este será o número de repetições do trecho do algoritmo responsável por calcular a média de um aluno. As representações em fluxograma e em pseudocódigo do Visualg são mostradas na Figura a seguir.

95 Representação em fluxograma da estrutura "Para ... faça"
Na Figura 1, <variável> é chamada de variável de controle, pois ela recebe um valor numérico inicial e automaticamente é incrementada ou decrementada de 1 em 1 até atingir o valor final; <inicial> é o valor numérico menor do que o valor final atribuído à variável antes do primeiro teste para decidir se as instruções 1, 2, ..., n, do corpo do laço devem ser executadas; Instrução 1, instrução 2, ..., instrução n são as instruções do corpo do laço e serão executadas a cada repetição (iteração); e <fim> é o valor final numérico, maior do que valor inicial, que será o maior valor da variável contadora que fará com que o corpo do laço seja executado. No pseudocódigo interpretado pelo programa VisualG, a estrutura “Para ... faça” apresenta a seguinte sintaxe.

96 Algoritmo Repita repita Indica o início do laço.
<sequência-de-comandos> ate <expressão-lógica> Nesta sintaxe: repita Indica o início do laço. ate <expressão-lógica> Indica o fim da <sequência-de-comandos> a serem repetidos. Cada vez que o programa chega neste ponto, <expressão-lógica> é avaliada: se seu resultado for FALSO, os comandos presentes entre esta linha e a linha repita são executados; caso contrário, a execução prosseguirá a partir do primeiro comando após esta linha.

97 Algoritmo Note que a palavra-reservada ate não é acentuada.
O algoritmo representado em pseudocódigo a seguir ilustra o uso da estrutura de repetição com teste no final “Repita ... até”, para apresentar os números inteiros de 1 a 10. algoritmo "Números de 1 a 10 com teste no final"

98 Algoritmo var j: inteiro inicio j <- 1 repita escreva (j:3) j <- j + 1 ate j > 10 fimalgoritmo

99 Algoritmo Como o laço “Repita...até” testa sua condição de parada depois de executar sua sequência de comandos, esta sequência será executada pelo menos uma vez. Também é importante notar que, no corpo do laço de repetição deve existir algum comando que afete o valor da expressão logica de modo que, em algum momento, seu valor fique verdadeiro e a repetição termine.

100 Roteiro da aula Prática
O algoritmo a seguir calcula e exibe nove valores da expressão cos ( 𝜋 3 .𝑥+2.5) igualmente espaçados no intervalo x1  x  x2 com x2 > x1. O usuário deve fornecer os valores de x1 e x2 e cabe ao algoritmo verificar se x2 é maior do que x1. O algoritmo está representado em fluxograma na coluna da esquerda do quadro a seguir, e em pseudocódigo do VisualG na coluna da direita. Inicie o VisualG e digite nele o algoritmo tal como apresentado na coluna da direita do quadro a seguir.

101 Roteiro da aula Prática

102 Roteiro da Aula Ajuste o intervalo do timer para 2 segundos na barra de botões do VisualG e depois execute o algoritmo usando o modo “Rodar com tempo” (faça clique sobre o botão com a figura de um relógio). Durante a execução, forneça os valores x1 = 3 e x2 = 0 e observe o comportamento da primeira estrutura de repetição “repita até” que aparece entre as linhas 13 e 16. Quando for novamente solicitado, forneça os valores x1 = 0 e x2 = 3. Conte e anote quantas vezes a linha de número 21 é executada. Anote também o valor da variável x ao final da execução do algoritmo. Linha 21 executada ________________ vezes. Variável x vale ____________ ao final da execução.

103 Roteiro de Aula Edite o algoritmo, transformando o comando escrito na linha 22 em um comentário. Para isso, digite duas barras logo no início da linha (// x <- x + dx). Quando o algoritmo for novamente executado, isso provocará um erro de lógica chamado “looping infinito”, pois, desse modo, o valor de x nunca será maior do que o valor de x2 e a repetição nunca terminará. Execute novamente o algoritmo, deixando a execução prosseguir até que já linha 21 já tenha sido executada mais do que dez vezes. Interrompa a execução e anote o valor final de x. Edite o código retirando o comentário da linha 22. Depois salve o algoritmo. Quando a execução foi interrompida a variável x apresentava o valor: _______________________

104 Roteiro de Aula Altere o pseudocódigo de modo que o corpo da primeira estrutura de repetição “para ... até” fique como representado na figura a seguir. Execute o algoritmo na nova versão e teste seu correto funcionamento. Copie sua solução. Salve a nova versão do algoritmo com o nome Calcula_funcao_2.alg.

105 Roteiro de Aula Novo pseudocódigo para a primeira estrutura de repetição 13 repita 14 escreva(“Digite os valores para x1 e x2 (x2 > x1):”) 15 leia(x1,x2) 16 ___________________________________________________________________________ 17 ___________________________________________________________________________ 18 ___________________________________________________________________________ 19 ate x2 > x1

106 Roteiro de Aula Mostre suas anotações ao professor. Como desafio, elabore um algoritmo que determine e exiba os primeiros números inteiros ímpares entre 0 e N. O usuário deve fornecer o valor de N e seu algoritmo deve certificar que o valor de N seja maior do que 0. Lembre que o primeiro número inteiro ímpar no intervalo [0, N] é o número 1, e que se x é um número inteiro ímpar, então o próximo número inteiro ímpar maior do que x é o número x + 2. Represente seu algoritmo na forma de um fluxograma, e mostre-o ao professor.

107 Roteiro Resolva o mesmo problema do item 5) usando uma das estruturas de repetição com teste no início estudadas na prática 5 e mostre o novo fluxograma ao professor.

108 INTRODUÇÃO À EXECUÇÃO DE PROGRAMAS EM LINGUAGEM C
Prática 7 INTRODUÇÃO À EXECUÇÃO DE PROGRAMAS EM LINGUAGEM C

109 Objetivos Observar os componentes da arquitetura de um programa simples em linguagem C Editar e executar programas em linguagem C usando o ambiente de desenvolvimento integrado (IDE) Dev-C++

110 Linguagem de programação C
Um programa de computador pode ser escrito em diversas linguagens de programação, como por exemplo: Pascal, Fortran, COBOL, Clipper, Basic, e C. O C é uma linguagem de programação de propósito geral utilizada para a criação de programas diversos como: processadores de texto, planilhas eletrônicas, sistemas operacionais, programas de comunicação, programas para automação industrial, gerenciadores de banco de dados, programas de projetos assistidos por computador, programas de solução de problemas da Engenharia, Física, Química e outras ciências, e que tem grande aceitação entre os engenheiros.

111 Linguagem de programação C
As instruções da Linguagem C consistem de termos semelhantes a expressões algébricas, acrescidas de certas palavras chave em inglês, tendo sido desenvolvida a partir de duas linguagens anteriores, a BCPL e a B, criadas no final da década de 60. A linguagem C foi criada por Dennis Ritchie e Ken Thompson, em 1972, no centro de pesquisa da Bell Laboratories. Sua primeira utilização importante foi a reescrita do sistema operacional Unix. Em meados da década de 70, o Unix foi liberado para utilização nas universidades, dando o impulso para o sucesso da linguagem.

112 Linguagem de Programação C
ANSI C (American National Standards Institute) é a versão da linguagem C padronizada em nos EUA como também no mundo através da International Standards Organization — ISO. C++ é uma linguagem derivada da linguagem C. O conjunto de instruções que fazem parte da linguagem C também é parte de C++. Os elementos principais que foram adicionados à linguagem C para dar origem à C++ consistem na ideia de programação orientada a objetos. Qualquer programa em C compilado no padrão ANSI também pode ser compilado em C++, ou seja, C e C++ são compatíveis.

113 Linguagem de Programação C
O Dev-C++ oferece um ambiente que integra um editor de textos, um compilador para linguagem C, um depurador para auxiliar na localização de erros de sintaxe e na execução passo a passo para localização de erros de lógica, e um editor de ligações para criar um programa executável pelo processador do computador. O compilador usado pelo Dev-C++ é o gcc (Gnu C Compiler). O Bloodshed Dev-C++ é um software livre, distribuído sob a licença GPL, possuindo versões para execução nos ambientes Windows e Linux.

114 Prática Ambientando com o ambiente
Para iniciar o Bloodshed Dev-C++, clique em Iniciar – Programas – Bloodshed Dev-C++ - DevC++. Aparecerá no monitor uma janela semelhante à da Figura 1. Nela é possível ver, na parte superior, a barra de menus, com a barra de botões de acesso rápido logo abaixo. A tela refere-se à versão do programa, podendo ser ligeiramente diferente da versão instalada no computador do laboratório de informática.

115 Prática

116 Prática Nesta janela, clique em Arquivo –> Novo –> Arquivo Fonte. O Dev-C++ criará um novo arquivo de texto com o esqueleto básico de um programa em linguagem C. Edite o programa apresentado na janela de modo que ele fique idêntico ao da Figura 2. Dependendo da configuração do computador que você estiver utilizando, pode ser necessário pressionar a barra de espaço após digitar o caractere " para que ele apareça na tela. Você precisará utilizar este caractere para digitar os seus programas.

117 Prática

118 Prática Para compilar o programa clique em Executar – Compilar. Neste momento surgirá uma pequena janela com o título Salvar Arquivo. Crie uma nova pasta chamada DevCProjetos dentro da sua pasta Documentos. Selecione esta pasta e, no campo Nome do arquivo: digite o nome Exemplo1 e no campo Salvar como tipo: deve ser selecionado C source files (*.c). A seguir, clique no botão Salvar. Depois de salvo, o programa será compilado e surgirá uma pequena janela de título Compile Progress mostrando que não foi encontrado nenhum erro de sintaxe no programa (Errors: 0), como ilustrado na Figura 3. Clique em Fechar para encerrar essa janela.

119 Prática Com o programa compilado sem erros, a pasta onde foi salvo o arquivo contém agora o programa executável. Para executar o programa clique em Executar – Executar. Deverá surgir uma nova janela de DOS, mostrando a execução do programa, como ilustrado na Figura 4. Note que na janela do DOS aparece a mensagem Pressione qualquer tecla para continuar ...

120 Prática – Execução do Programa

121 Prática Depois de conferir o resultado, pressione qualquer tecla para que a janela do DOS desapareça. Se a janela do DOS não desaparecer, para fechá-la clique no X, no canto superior direito da mesma. Para encerrar o trabalho, basta clicar em Arquivo – Fechar. Crie um novo arquivo chamado primprog.c. Clique em Arquivo – Novo – Arquivo Fonte e digite o programa exatamente como mostrado na Figura 5

122 Prática Salve o programa com frequência, evitando possíveis acidentes. O programa pode ser salvo rapidamente pressionando as teclas CTRL+S. Se você digitou o programa como ele aparece acima, depois de salvá-lo e compilá-lo, a situação será, como a mostrada na Figura Falta declarar cont

123 Prática A tela do compilador mostrará um erro

124 Prática O compilador que é usado pelo Dev-C++, ou seja, o gcc, é capaz de identificar muitos erros de sintaxe nos programas. Preste atenção nas mensagens que aparecem na base da janela do Dev-C++. As linhas do seu programa onde foram encontrados erros estão na coluna do canto inferior esquerdo da janela do Dev- C++. Na figura, o Dev-C++ está indicando que ocorreram erros de compilação. No caso do seu programa, na linha 18. Na mensagem de erro (linha 18), a mensagem que diz ‘cont’ undeclared (first use in this function) indica que na linha 18 o identificador cont foi usado sem ter sido declarado. Para corrigir isso, altere a linha 11 para ficar com a seguinte sintaxe: int n, par, impar, num, cont;

125 Prática Salve o arquivo novamente clicando em Arquivo – Salvar ou nas teclas CTRL+S. Compile o programa novamente clicando em Executar – Compilar. O novo resultado da compilação mostra que não foram encontrados erros de sintaxe no programa. Para executar o programa clique no botão Executar – Executar. Uma janela do DOS aparecerá, com a mensagem Digite o tamanho da sequencia:. Digite o número 4 para indicar o número de elementos da sequência, seguido por Enter. Esse número determinará a quantidade de números que deverão ser digitados a seguir. Depois, a cada pergunta, digite um dos números da sequência (1, 2, 3, 4) seguido de Enter, o programa mostrará quantos números ímpares e quantos números pares foram digitados. Após o programa ser executado, aparecerá a mensagem "Pressione qualquer tecla para continuar...".

126 Prática Anote a mensagem exibida pelo programa ao final.
Para encerrar o Dev-C++ clique em Arquivo – Sair.

127 TIPOS DE DADOS, DECLARAÇÃO DE VARIÁVEIS, ENTRADA E SAÍDA DE DADOS EM C
Prática 8 TIPOS DE DADOS, DECLARAÇÃO DE VARIÁVEIS, ENTRADA E SAÍDA DE DADOS EM C

128 Objetivos Conhecer os tipos de dados e a forma de declaração de variáveis em linguagem C Conhecer os comandos de entrada e de saída de dados da linguagem C Editar e executar programas simples em linguagem C usando estrutura sequencial no ambiente de desenvolvimento integrado (IDE) Dev-C++

129 Tipos de dados da Linguagem C
Tipo de Dado Quantidade de Byte Descrição Faixa de Abrangência Equivalente em Algoritmo char 1 Armazena caracteres alfanuméricos -127 a 127 literal int 2 É utilizado para armazenar números inteiros negativos e positivos a inteiro float 4 Armazena números com casas decimais (números reais) Seis dígitos de precisão real double 8 Dez dígitos de precisão void É utilizado como retorno de funções e tipo de ponteiros - bool Valor booleano. Pode assumir um dos dois valores: true ou false NOTA: esse é um tipo que foi adicionado recentemente pelo padrão ANSI-C++. Nem todos os compiladores suportam-no. true ou false lógico

130 Declaração de variáveis em C
Um programa em linguagem C não funciona se você não declarar suas variáveis. As variáveis são declaradas em qualquer lugar do programa, desde que antes de serem utilizadas. Uma declaração de variável consiste no nome de um tipo seguido do nome da variável (identificador), seguido de ponto-e-vírgula. Por exemplo: int contador; float acumulador;

131 Declaração de variáveis em C
Inicializar uma variável significa atribuir um valor a ela na mesma instrução de sua declaração. Utiliza-se o operador de atribuição (=) para a definição do valor inicial. Exemplo: int contador = 0; float tempo = 30.00;

132 Declaração de variáveis em C
Você pode usar quantos caracteres quiser para um nome de variável, sendo o primeiro caractere obrigatoriamente uma letra ou o sublinhado. Somente os 32 primeiros caracteres de um nome de variável são significativos e não é permitido o uso de uma palavra-chave da linguagem. Em C, letras maiúsculas e minúsculas são diferentes. Exemplo de um programa com definição de variáveis:

133 Programa

134 Operações Um operador é um símbolo usado para criar expressões, a partir de constantes e variáveis. Operador de Atribuição É o sinal de igual (=). Atribui a expressão da direita à variável à sua esquerda. Em C podem ocorrer atribuições múltiplas. Operação Algoritmo Linguagem C Atribuição = y = 3; y = x = 3; y = ( x = 3 );

135 Operadores Aritméticos
Existem operadores denominados binários (trabalham com dois operandos) e unários (funcionam com um operando). Operação Algoritmo Linguagem C Soma + Subtração - Multiplicação * Divisão inteira div / Divisão real Resto da divisão inteira mod %

136 Incremento e Decremento
Incrementam (++) ou decrementam (–) a variável operando de 1. Podem ser prefixado ou pós- fixado. Ex.: x = x + 1; ++ x; ou x++; adiciona 1 a x

137 Aritmético de Atribuição
Combinam operações aritméticas com atribuições. Compactam as operações. Segue a regra: variável operação= expressão Ex.: i += 2; equivale a i = i + 2 x *= y + 1; equivale a x = x * (y + 1) t /= 2.5; equivale a t = t/2.5 p %= 5; equivale a p = p % 5

138 Relacionais Operação Algoritmo Linguagem C Maior > Maior ou igual
Maior ou igual >= Menor Menor ou igual <= Igual = == Diferente <>  !=

139 Operadores Lógicos && - E
B Algoritmo Linguagem C A e B A&&B 1


Carregar ppt "UMC – Engenharia Civil – Informática Aplicada à Engenharia"
Anúncios Google