![]() |
|
#1
|
|||
|
|||
![]() Привет всем. Из-за того, что военкомат заставил проходить мед.обследование в поликлинике, были пропущены некоторые пары по программированию. Думаю, что здесь кто-нибудь поможет мне с заданиями и объяснит что и почему.
![]() ![]() Вот задания: 1. Составьте программу позволяющую вводить с клавиатуры 6 целых чисел и определяющую наименьшее из них. 2. Составьте программы для выполнения задания 1, но с использованием других (по сравнению с заданием 2) операторов цикла. 3. Составьте программу позволяющую вводить с клавиатуры числа и определяющую их среднее геометрическое. Среднее геометрическое n чисел – корень n-й степени из произведения этих чисел. Программа прерывает работу, если введено неположительное число. 4. Найти сумму ряда 1/1*4 + 1/4*7 + 1/7*10... для 20 слагаемых. 5. Составить программу получения всех совершенных чисел меньших заданного числа n. Число называется совершенным, если равно сумме всех своих положительных делителей, кроме самого этого числа. Например, 28=1+2+4+7+14. Надеюсь на помощь ![]() Последний раз редактировалось QMike, 11.11.2010 в 19:27. |
#2
|
|||
|
|||
![]() Очень прошу, помогите
![]() |
#3
|
||||
|
||||
![]() Прежде чем объяснять, хотелось бы определится с вашим уровнем знаний.
Можете объяснить, что делает код который я написал: Код:
Var Val,i: Integer; begin for i := 1 to 6 do ReadLn(Val); end. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
|||
|
|||
![]() при числе от 1 до 6 сделать вывод VAl
|
#5
|
||||
|
||||
![]() Уже неплохо, только не вывод а ввод.
Ну а тут, что я написал?: Код:
Var Val,i,Min: Integer; begin Min := 0; for i := 1 to 6 do begin ReadLn(Val); if Val < Min then Min := Val; end; end. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
|||
|
|||
![]() как я понял нахождение минимального из 6 чисел
|
#7
|
||||
|
||||
![]() Молодца, ну а почему код который я привел ранее будет плохо работать, а вот этот уже лучше?
Код:
Var Val,i,Min: Integer; begin for i := 1 to 6 do begin ReadLn(Val); if i = 1 then Min := Val; if Val < Min then Min := Val; end; WriteLn(Min); ReadLn; end. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#8
|
|||
|
|||
![]() Потому что writeln чтобы вывести на экран, а readln в конце, чтобы консоль не закрылась
|
#9
|
||||
|
||||
![]() Это внешние отличия, а основное отличие в определении первоначального минимального числа. В первом примере считается что минимальное это ноль, но ведь это очень грубое допущение, можно вообще ввести 6 чисел от 10 до 20, а программа выдаст минимальное 0, что будет неверно.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#10
|
||||
|
||||
![]() По первой задаче вопросы есть?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#11
|
|||
|
|||
![]() аа, да...не заметил, что было задано минимальное сразу 0
![]() |
#12
|
||||
|
||||
![]() Продолжим лекцию
![]() Какие еще циклы кроме for ты знаешь? Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#13
|
|||
|
|||
![]() По первой нет, вроде сделал, работает. А вот с 3-ей что-то припарился как вставить проихведение при таком коде:
program Project2; {$APPTYPE CONSOLE} uses SysUtils, windows; var i, n: integer; a, midgeom: real; Begin Setconsoleoutputcp(1251); Setconsolecp(1251); Write('Введите количество чисел '); Readln(n); Writeln('Введите 1-е число'); Readln(a); For i:=2 To n Do Begin Writeln('Введите ',i,'-е число'); Readln(a); End; midgeom:=exp(ln(n)*(1/(...))); writeln('midgeom=',midgeom:5:3); Readln End. |
#14
|
|||
|
|||
![]() Цитата:
|
#15
|
||||
|
||||
![]() Код:
Writeln('Введите 1-е число'); Readln(a); For i:=2 To n Do Begin Writeln('Введите ',i,'-е число'); Readln(a); End; Код:
For i:=1 To n Do Begin Writeln('Введите ',i,'-е число'); Readln(a); if i := 1 then Sum := a else Sum := Sum * a; End; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |