Scripts sugeridos

soma da diagonal principal de uma matriz

progrma para efetuar a soma da diagonal principal de uma matriz, após armazenar esta em um vetor.

Por: NewLinuxer


Função Fatorial Recursiva em Ada 95

Este é um exemplo simples de uma função fatorial recursiva em Ada 95. Cheguei a ler um texto onde era citado que Ada é uma linguagem da família Pascal. Até parecem um pouco. Para a compilação pode ser usado o gnatmake. Ele vem junto com o pacote GNAT nas principais distribuições Linux. Uso: $ gnatmake fatorial-0001.adb Caso seja feita uma tentativa de compilação com o gnat, resultará no seguinte, conforme abaixo: $ gnat fatorial-0001.adb gcc-4.9 -c fatorial-0001.adb fatorial-0001.adb:4:11: warning: file name does not match unit name, should be "mostra.adb" Esta crítica sugere que o nome do arquivo deve ter o mesmo nome do programa declarado na primeira declaração Procedure. Mesmo sem fazer isto, tudo parece funcionar normalmente. Continuando: Este é um exemplo simples, sem aprofundamento. O objetivo é ilustrar uma pequena parte da sintaxe de um programa em ADA. No caso um programa com função recursiva. Posso dizer que até onde vi, Ada parece uma espécie de mistura de Pascal com Java. Coisas como System.out.println() são semelhantes a Ada.Text_IO.Get() ou Ada.Text_IO.Put(). As semelhanças com Pascal são maiores e aparecem mais em outras instruções de declaração de tipos e registros, que não constam no exemplo. Uma semelhança relevante é que não é case sensitive. A diferença é que colocando as bibliotecas com With e Use na primeira linha estes comandos podem ser abreviados para Get() e Put(). Get não foi usado nesta oportunidade. Uma coisa que chama a atenção é o fato de que todo programa deve estar declarado como "Procedure Nome_do_Programa" (semelhante ao "Program Nome_do_Programa" do Pascal) e ainda deve ser seguido da partícula is. Os comandos do programa são implementados entre um Begin e um End. Este último End do programa não termina com o ponto final igual ao Pascal, mas sim com "End Nome_do_Programa", seguido de um ponto-e-vírgula. A implementação da função Fatorial se dá antes do Begin de início do código. Ao invés de se igualar o retorno da função ao nome da mesma, retorna-se o resultado com o comando Return (semelhante ao C). A estrutura de decisão IF é semelhante ao Pascal, com IF, THEN, ELSE, mas neste caso completa-se com END IF. Neste exemplo não aparece o que seria semelhante à estrutura CASE, ficando para uma próxima. Ao invés de se usar um WriteLn para a mudança de linha, usa-se simplesmente o comando New_Line. O comando Put é usado semelhante ao comando Write, sem mudança de linha. A linguagem Ada é poderosa, tendo inúmeros usos estratégicos na indústria, como programação concorrente e orientada a objetos. Não é o objetivo de abordá-los neste micro-artigo.

Por: Perfil removido


Calculo do Fatorial Utilizando-se de for

Programa para efetuar o Calculo de Fatorial Utilizando-se de for

Por: NewLinuxer


Média e soma de números

Programa pede uma quantidade ilimitada de números e como saída dá a soma e a média dos números.

Por: Santiago Staviski


Crivo de Eratóstenes Simples em Pascal

Esta implementação do Crivo de Erastótenes possui diretivas de pré-compilação que permitem que o código seja compilado por fpc (Free Pascal) ou gpc (GNU Pascal). Na prática é igual a um IF ... THEN ... sem usar BEGIN ... END e usando ENDIF. Sendo também que esta etapa ocorre como uma filtragem de código, antes deste ser compilado. No caso os compiladores consideram na compilação o código dentro de {$ifdef X} ... {$endif} somente se houver uma identificação de um símbolo (aqui chamado de X) no contexto Já {$ifndef X} ... {$endif} faz o contrário: compila se a definição do símbolo não for encontrada. A pré-definição "FPC" indica uso do compilador Free Pascal. A pré-definição __GPC_RELEASE__ indica uso do compilador GNU PASCAL. O código demarcado, portanto, só será usado conforme estes símbolos aparecerem {ifdef ...} ou não {ifndef ...}, isto é, conforme os compiladores utilizados. O nome dos tipos de dados numéricos para valores grandes é diferente nos dois compiladores e foi utilizada uma predefinição na área TYPE do código. Dentro desta área o código é selecionado em tempo de compilação conforme a diretiva. Mais abaixo também está outro par de compilações condicionais. A procedure Inc (...) parece não funcionar com valores não-ordinais ou inteiros no Free Pascal, portanto foi escolhido o incremento na forma-padrão como opção. Acredito que o uso de Inc (...) funcione do mesmo modo que a variável com "duplo mais" (V++) ou "mais igual" (V+=2) funcionam otimizados em C.

Por: Perfil removido





Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts