Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.11.2010, 19:24
QMike QMike вне форума
Прохожий
 
Регистрация: 11.11.2010
Сообщения: 10
Репутация: 10
Сообщение Задания

Привет всем. Из-за того, что военкомат заставил проходить мед.обследование в поликлинике, были пропущены некоторые пары по программированию. Думаю, что здесь кто-нибудь поможет мне с заданиями и объяснит что и почему. Программы выполнять в консоли, для вас они будут скорей всего простыми, а вот для меня....увидим
Вот задания:
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  
Старый 11.11.2010, 20:24
QMike QMike вне форума
Прохожий
 
Регистрация: 11.11.2010
Сообщения: 10
Репутация: 10
По умолчанию

Очень прошу, помогите
Ответить с цитированием
  #3  
Старый 11.11.2010, 20:41
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Прежде чем объяснять, хотелось бы определится с вашим уровнем знаний.
Можете объяснить, что делает код который я написал:
Код:
Var Val,i: Integer;
begin 
 for i := 1 to 6
 do ReadLn(Val); 
end.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #4  
Старый 11.11.2010, 20:44
QMike QMike вне форума
Прохожий
 
Регистрация: 11.11.2010
Сообщения: 10
Репутация: 10
По умолчанию

при числе от 1 до 6 сделать вывод VAl
Ответить с цитированием
  #5  
Старый 11.11.2010, 20:53
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Уже неплохо, только не вывод а ввод.
Ну а тут, что я написал?:
Код:
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  
Старый 11.11.2010, 20:57
QMike QMike вне форума
Прохожий
 
Регистрация: 11.11.2010
Сообщения: 10
Репутация: 10
По умолчанию

как я понял нахождение минимального из 6 чисел
Ответить с цитированием
  #7  
Старый 11.11.2010, 21:00
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Молодца, ну а почему код который я привел ранее будет плохо работать, а вот этот уже лучше?
Код:
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  
Старый 11.11.2010, 21:03
QMike QMike вне форума
Прохожий
 
Регистрация: 11.11.2010
Сообщения: 10
Репутация: 10
По умолчанию

Потому что writeln чтобы вывести на экран, а readln в конце, чтобы консоль не закрылась
Ответить с цитированием
  #9  
Старый 11.11.2010, 21:09
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Это внешние отличия, а основное отличие в определении первоначального минимального числа. В первом примере считается что минимальное это ноль, но ведь это очень грубое допущение, можно вообще ввести 6 чисел от 10 до 20, а программа выдаст минимальное 0, что будет неверно.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #10  
Старый 11.11.2010, 21:10
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

По первой задаче вопросы есть?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #11  
Старый 11.11.2010, 21:11
QMike QMike вне форума
Прохожий
 
Регистрация: 11.11.2010
Сообщения: 10
Репутация: 10
По умолчанию

аа, да...не заметил, что было задано минимальное сразу 0
Ответить с цитированием
  #12  
Старый 11.11.2010, 21:15
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Продолжим лекцию
Какие еще циклы кроме for ты знаешь?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #13  
Старый 11.11.2010, 21:16
QMike QMike вне форума
Прохожий
 
Регистрация: 11.11.2010
Сообщения: 10
Репутация: 10
По умолчанию

По первой нет, вроде сделал, работает. А вот с 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  
Старый 11.11.2010, 21:17
QMike QMike вне форума
Прохожий
 
Регистрация: 11.11.2010
Сообщения: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Продолжим лекцию
Какие еще циклы кроме for ты знаешь?
If, while, case
Ответить с цитированием
  #15  
Старый 11.11.2010, 21:25
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Код:
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;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:34.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025