25.11.2013, 16:03 | #1 (permalink) |
Новичок
Регистрация: 25.11.2013
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Решение задач по Pascal
Задали 3 задачи, которые понятие не имею как решать. Помогите кто может: 1. Вычислить 1/a! 2. Подсчитать количество нечетных цифр в записи натурального числа n. 3. Даны сведения о количестве забитых голов каждого футболиста команды в 3 матчах чемпионата. Проверить, сколько в команде есть футболистов забивавших голы в каждом матче (Решается всё отдельно, извините за наглость) Первая и вторая задачи решаются с помощью операторов цикла, поэтому при их решении нужно использовать два различных оператора цикла. Третья задача - на использование одномерных или двумерных массивов. Помогите !:cry: |
25.11.2013, 16:03 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Подскажу вам, что можно обратить внимание на той же породы обсуждения Решение задачи на Pascal Решение задач на подпрограммы с рекурсиями, Паскаль ABC Заплачу за решение задач |
25.11.2013, 16:50 | #5 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну вот первая с тремя вариантами цикла:
Код:
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. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
25.11.2013, 17:06 | #6 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
А это вторая - с двумя вариантами. И да, если у Вас этот грёбаный лжепаскаль АВС, то 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. |
25.11.2013, 17:23 | #9 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну и третья:
Код:
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. |
25.11.2013, 17:29 | #10 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну это моё такое мнение. По-моему, дурь смертельная: то, что было не нужно, впихнули (квазидельфийскую графику), то, что было нужно позарез - выкинули (типизированные константы-массивы, возможности модуля CRT и др.), зачем-то перелопатили удобную и стройную иерархию целочисленных форматов, в общем, сыграли на "квасном" патриотизме некоторых горе-руководителей ВУЗов: вот, мол, "наше", отечественное изделие, а потому на нём студентов и учите!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|