JPiece Posted July 5, 2012 at 01:52 PM Report Share #467441 Posted July 5, 2012 at 01:52 PM Boas Caros Programadores Preciso de entregar uns pequenos trabalhos em Pascal, mas o problema é que eu nunca percebi muito daquilo. Mesmo estudando não me leva a lado nenhum. Gostava de saber se me podem ajudar não a resolver os problemas mas a ter uma ideia de como os resolver. São 3 perguntas aqui vão elas: 1-Ler as notas de 10 alunos para um vector e determinar a média das notas. As notas são do tipo inteiro. 2.Crie um programa em que é pedido ao utilizador o seu nome completo e apresenta no ecrã o primeiro e o último nome. Utilize a função COPY. 3.Elabore um programa que converta em Maiúsculas o nome de uma cidade. Utilize a função UPCASE. Agradecia muito a vossa ajuda. Obrigado Cumprimentos Link to comment Share on other sites More sharing options...
pokker Posted July 5, 2012 at 02:28 PM Report Share #467452 Posted July 5, 2012 at 02:28 PM Aconselho-te a ir dar uma vista de olhos aqui https://www.portugal-a-programar.pt/topic/35891-introducao-ao-pascal-6-partes/ tem tudo o que precisas, com exemplos bem faceis de entender, depois é só adaptares ao que pretendes. Link to comment Share on other sites More sharing options...
JPiece Posted July 5, 2012 at 02:58 PM Author Report Share #467462 Posted July 5, 2012 at 02:58 PM Sim mas dando exemplos aqui era mais fácil. O problema é adaptar aos programas 🙂 Link to comment Share on other sites More sharing options...
JPiece Posted July 5, 2012 at 03:25 PM Author Report Share #467469 Posted July 5, 2012 at 03:25 PM Já agora qual é a diferença entre o Ciclo IF e While?? Link to comment Share on other sites More sharing options...
passarito Posted July 5, 2012 at 03:29 PM Report Share #467473 Posted July 5, 2012 at 03:29 PM Boas e bem vindo. 1-Ler as notas de 10 alunos para um vector e determinar a média das notas. As notas são do tipo inteiro. 1.1 Usa a denominação de array em vez de vector. É mais correcto e não irá gerar confusão quando falares de arrays multidimensionais. 1.2.1 Faz um ciclo de 1 a 10 1.2.2 Lê para dentro de cada posição o valor. Algo do género: readln(notas); 1.2.3 Ainda dentro do ciclo faz um total 1.2.4 Por fim, e fora do ciclo, mostra o total dividido pelo número de alunos, neste caso , 10. 2.Crie um programa em que é pedido ao utilizador o seu nome completo e apresenta no ecrã o primeiro e o último nome. Utilize a função COPY. Isto pode ser feito de varias formas, vou te indicar uma delas... Antes de mais tens de conhecer a função COPY. COPY(s:string; Inicio, Qtd:integer):String; S é a String completa; Inicio é a partir de onde vai copiar, isto é, se for 5 vai copiar a partir do 5º caracter; Qtd é o número de caracteres que vai copiar, se for 3 e pegando no Inicio=5 então a função vai devolver o 5º, 6º e 7º caracteres. E a função POS que devolve a posição inicial de uma sub-string (ou caracter) na string. Pos(SubStr,S:String):byte; SubStr é a SubString ou caracter a procurar na String; S é a String onde vai ser procurada a SubString; Assim para o primeiro nome terias algo do género: primeiro_nome:=copy(nome, 1, pos(' ',nome)-1); Para o último nome usa um ciclo decremental que conte o numero de caracteres desde o fim da string até ao primeiro espaço e aplicaria a função copy semelhante ao exemplo anterior Usa a função LENGTH que devolve o tamanho máximo da string. 3.Elabore um programa que converta em Maiúsculas o nome de uma cidade. Utilize a função UPCASE. Esta é de caras. Sabes que s[4] te devolve o 4º caracter da string? Depois é só aplicares o upcase Já agora qual é a diferença entre o Ciclo IF e While?? Xiiiii isso está tão mau..... para começar o If não é um ciclo e depois como tu estás aconcelho-te a seguires o que te disse o Pokker Link to comment Share on other sites More sharing options...
thoga31 Posted July 5, 2012 at 03:35 PM Report Share #467477 Posted July 5, 2012 at 03:35 PM (edited) Sim mas dando exemplos aqui era mais fácil. O problema é adaptar aos programas 🙂 Os exemplos estão lá todos, mas vamos então por partes... 3.Elabore um programa que converta em Maiúsculas o nome de uma cidade. Utilize a função UPCASE. Esta é a questão mais fácil. Simplesmente tens de perguntar ao utilizador o nome de uma cidade, e fazer o output com o UpCase: UpCase(nome_cidade) 1-Ler as notas de 10 alunos para um vector e determinar a média das notas. As notas são do tipo inteiro. Esta é a seguinte quanto ao nível de dificuldade... tens de ter um Array (não gosto de lhe chamar "vector") com 10 elementos: array [1..10] of integer Depois, num ciclo For, lês as 10 notas. Depois tens duas formas de calcular a média, mas já que te pedem para atribuir a um Array, vamos calcular a média à parte. Para tal, segue-se outro ciclo For que vai somando os valores do Array para uma variável - a variável somatório -, e sabendo que são 10 notas, a média é dada por "somatório / 10". 2.Crie um programa em que é pedido ao utilizador o seu nome completo e apresenta no ecrã o primeiro e o último nome. Utilize a função COPY. Esta é possivelmente a mais complexa. Tens de determinar quantos nomes tem o nome completo - tal é feito detectando os espaços. Tens de guardar a posição dos espaços, e depois tens de fazer dois Copy's: um que começa no índice 1 e termina no índice do primeiro espaço, e outro que começa no índice do último espaço e termina no último índice da String (função length). Como detectar os espaços? Dica: no tutorial, vai ao Capítulo 6 da Parte II - faz a contagem de espaços e de palavras numa String 😉 Já agora qual é a diferença entre o Ciclo IF e While?? Como o @passarito já disse, "if" não é um ciclo - é uma estrutura de decisão. Um ciclo é, por sua vez, uma estrutura de repetição, como o "While". Se nem isto sabes, convém estudares bem Pascal: vê o tutorial indicado pelo @pokker (versão PDF) Cumprimentos. Edited July 5, 2012 at 03:35 PM by thoga31 Knowledge is free! Link to comment Share on other sites More sharing options...
JPiece Posted July 5, 2012 at 04:03 PM Author Report Share #467488 Posted July 5, 2012 at 04:03 PM Obrigado pelas respostas. Mas pouco percebo disto. Quer dizer não percebo nada. Iniciar o programa até sei, o pior é o resto Já não me lembro de interagir com o programa. Já não o uso a 2 anos 🙂 Link to comment Share on other sites More sharing options...
thoga31 Posted July 5, 2012 at 04:07 PM Report Share #467490 Posted July 5, 2012 at 04:07 PM Obrigado pelas respostas. Mas pouco percebo disto. Quer dizer não percebo nada. Iniciar o programa até sei, o pior é o resto Já não me lembro de interagir com o programa. Já não o uso a 2 anos 🙂 "Interagir com o programa", como assim? E claro que iniciar o programa é fácil: program, uses, begin e end. Já é compilável. Se não te lembras de nada, estuda a linguagem. A ajuda está cá toda. Agora é começares a montar os programas. Knowledge is free! Link to comment Share on other sites More sharing options...
passarito Posted July 5, 2012 at 04:35 PM Report Share #467506 Posted July 5, 2012 at 04:35 PM Quer dizer não percebo nada. Isso já é um principio que não disseste no inicio. Já não me lembro de interagir com o programa. Já não o uso a 2 anos Desculpa lá, mas eu não tenho cara de otário, quem não programa há 2, 3, 4, 10 anos não esquece a diferença de um IF com um WHILE Pior, é colocá-los no mesmo patamar como fizeste. É a base das bases para QUALQUER linguagem. Se não andares de bicicleta durante 10 anos, no inicio podes não ter a mesma agilidade, segurança, etc. mas sabes pedalar. Portanto, começaste bem, a admitir que não sabes, mas terminaste mal. Se não sabes o pessoal está cá para te ajudar, agora.... não inventes! Link to comment Share on other sites More sharing options...
JPiece Posted July 5, 2012 at 04:54 PM Author Report Share #467517 Posted July 5, 2012 at 04:54 PM Não chamei otário a ninguém... lol Só disse que não percebo nada de pascal Link to comment Share on other sites More sharing options...
thoga31 Posted July 5, 2012 at 05:02 PM Report Share #467520 Posted July 5, 2012 at 05:02 PM Não chamei otário a ninguém... lol Nem nunca ninguém disse que tinhas chamado. Só disse que não percebo nada de pascal Sinceridade acima de tudo, acho muito bem. Se não percebes nada, então trata de aprender. E tenho de concordar com o @passarito relativamente à questão de não distinguir um If de um While e dizer que isso é devido a 2 anos sem programar Pascal... Não são 2 anos que fazem esquecer a diferença entre estas 2 estruturas de controlo, seja nesta ou noutra LP. Knowledge is free! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now