Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Решение задач по Pascal (http://www.tehnari.ru/f41/t92572/)

PomaST 25.11.2013 16:03

Решение задач по Pascal
 
Привет всем. Никогда не понимал информатику, а сейчас учусь в универе, и у нас тема идёт по информатике Pascal
Задали 3 задачи, которые понятие не имею как решать. Помогите кто может:

1. Вычислить 1/a!

2. Подсчитать количество нечетных цифр в записи натурального числа n.

3. Даны сведения о количестве забитых голов каждого футболиста команды в 3 матчах чемпионата. Проверить, сколько в команде есть футболистов забивавших голы в каждом матче


(Решается всё отдельно, извините за наглость) :(

Первая и вторая задачи решаются с помощью операторов цикла, поэтому при их решении нужно использовать два различных оператора цикла. Третья задача - на использование одномерных или двумерных массивов.
Помогите !:cry:

Vladimir_S 25.11.2013 16:08

Цитата:

Сообщение от PomaST (Сообщение 973286)
Помогите !:cry:

Сколь скоро надо?

PomaST 25.11.2013 16:28

Vladimir_S, можно до завтра до 9мск. Извини, что так настойчиво, у меня с МСК просто +2

Vladimir_S 25.11.2013 16:40

Цитата:

Сообщение от PomaST (Сообщение 973291)
Vladimir_S, можно до завтра до 9мск. Извини, что так настойчиво, у меня с МСК просто +2

Ладно, попробую.

Vladimir_S 25.11.2013 16:50

Ну вот первая с тремя вариантами цикла:
Код:

Var
 a,i:Integer;
 R:Real;
Begin
 R:=1;
 Write('a= ');
 Readln(a);
 for i:=0 to a-1 do R:=R/(a-i);
 Writeln('Result= ',R);
 i:=0;
 R:=1;
 While i<a do
  begin
  Inc(i);
  R:=R/i;
  end;
 Writeln('Result= ',R);
 i:=0;
 R:=1;
 Repeat
  Inc(i);
  R:=R/i;
 Until i>a-1;
 Writeln('Result= ',R);
 Readln
End.


Vladimir_S 25.11.2013 17:06

А это вторая - с двумя вариантами. И да, если у Вас этот грёбаный лжепаскаль АВС, то LongInt замените на Integer.
Код:

Var
 n,n1,m:LongInt;
 num:byte;
Begin
 Write('n= ');
 Readln(n);
 n1:=n;
 num:=0;
 Repeat
  m:=n mod 10;
  if (m mod 2)=1 then Inc(num);
  n:=n div 10;
 Until n=0;
 Writeln('Result: ',num,' figures');
 n:=n1;
 num:=0;
 While n>0 do
  begin
  m:=n mod 10;
  if (m mod 2)=1 then Inc(num);
  n:=n div 10;
  end;
 Writeln('Result: ',num,' figures');
 Readln
End.


PomaST 25.11.2013 17:15

Vladimir_S, спасибо большое, выручил !!!

PomaST 25.11.2013 17:20

Vladimir_S, а почему лжепаскаль, для интереса спрашиваю :)
Третья задача нужно что-то словами писать, да ?

Vladimir_S 25.11.2013 17:23

Ну и третья:
Код:

Var
 fu:Array[1..11,1..3] of Byte;
 i,j,num:Byte;
Begin
 num:=0;
 for i:=1 to 11 do
  begin
  Writeln('Results of footballer N',i,':');
  for j:=1 to 3 do
    begin
    Write('Number of goals in ',j,' match: ');
    Readln(fu[i,j]);
    end;
  Writeln;
  end;
 Writeln;
 for i:=1 to 11 do
  if (fu[i,1]>0) and (fu[i,2]>0) and (fu[i,3]>0) then Inc(num);
 Writeln('Result: ',num,' footballers');
 Readln
End.


Vladimir_S 25.11.2013 17:29

Цитата:

Сообщение от PomaST (Сообщение 973309)
Vladimir_S, а почему лжепаскаль, для интереса спрашиваю

Ну это моё такое мнение. По-моему, дурь смертельная: то, что было не нужно, впихнули (квазидельфийскую графику), то, что было нужно позарез - выкинули (типизированные константы-массивы, возможности модуля CRT и др.), зачем-то перелопатили удобную и стройную иерархию целочисленных форматов, в общем, сыграли на "квасном" патриотизме некоторых горе-руководителей ВУЗов: вот, мол, "наше", отечественное изделие, а потому на нём студентов и учите!


Часовой пояс GMT +4, время: 00:30.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.