Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ! Início do programa:
- PROGRAM priii
- ! Declaração das variáveis:
- CHARACTER(10) :: names(0:9), temp
- REAL :: prices(0:9)
- INTEGER :: i, j, o
- ! Mensagem de boas-vindas:
- WRITE (*,*) "Seja bem-vindo(a) ao programa priii"
- WRITE (*,*) "Por favor, digite na sequência o nome e o respectivo preço de 10 produtos"
- ! Percorre a lista de nomes e preços:
- DO i = 0, 9, 1
- ! Lê o nome do produto:
- WRITE (*,*) "Nome do produto", i
- READ (*,*) names(i)
- ! Lê o preço do produto:
- WRITE (*,*) "Preço do produto", i
- READ (*,*) prices(i)
- END DO
- ! Exibe o menu:
- MENU: DO
- WRITE (*,*) "1. Mostrar a lista de nomes e preços em ordem alfabética"
- WRITE (*,*) "2. Mostrar a lista de nomes e preços ordenado por preços de menor a maior"
- WRITE (*,*) "3. Mostrar a lista de nomes e preços ordenado por preços de maior a menor"
- WRITE (*,*) "0. Sair"
- ! Lê a opção desejada do menu:
- READ (*,*) o
- ! Seleciona o valor de o:
- SELECT CASE (o)
- ! Se for o item 1 do menu:
- CASE (1)
- ! Implementação do algoritmo Bubble Sort para ordenação:
- ! Percorre a lista completa:
- DO i = 0, 9, 1
- ! Percorre a lista parcialmente:
- DO j = 0, i, 1
- ! Verifica a precedência dos nomes dos produtos i e j:
- IF (names(j) < names(i)) THEN
- ! Se o produto j deverá aparecer antes de i, troca-os de posição:
- temp = names(j)
- names(j) = names(i)
- names(i) = temp
- END IF
- END DO
- END DO
- ! Exibe a lista de nomes e preços:
- DO i = 0, 9, 1
- WRITE (*,*) names(i), prices(i)
- END DO
- CASE (2)
- ! Implementação do algoritmo Bubble Sort para ordenação:
- ! Percorre a lista completa:
- DO i = 0, 9, 1
- ! Percorre a lista parcialmente:
- DO j = 0, i, 1
- ! Verifica a precedência de preços:
- IF (prices(j) < prices(i)) THEN
- ! Se o preço de j for menor que de i, troca-os de posição:
- temp = names(j)
- names(j) = names(i)
- names(i) = temp
- END IF
- END DO
- END DO
- ! Exibe a lista de nomes e preços:
- DO i = 0, 9, 1
- WRITE (*,*) names(i), prices(i)
- END DO
- CASE (3)
- ! Implementação do algoritmo Bubble Sort para ordenação:
- ! Percorre a lista completa:
- DO i = 0, 9, 1
- ! Percorre a lista parcialmente:
- DO j = 0, i, 1
- ! Verifica a precedência de preços:
- IF (prices(j) > prices(i)) THEN
- ! Se o preço de j for maior que de i, troca-os de posição:
- temp = names(j)
- names(j) = names(i)
- names(i) = temp
- END IF
- END DO
- END DO
- ! Exibe a lista de nomes e preços:
- DO i = 0, 9, 1
- WRITE (*,*) names(i), prices(i)
- END DO
- CASE default
- EXIT MENU
- END SELECT
- END DO MENU
- WRITE (*,*) "Obrigado por utilizar nosso programa. Passe bem!"
- END PROGRAM priii
Advertisement
Add Comment
Please, Sign In to add comment