Страница 1 из 1

Информатика. Программирование О_о

Добавлено: Вт окт 06, 2009 16:51:55
кт3102
Началось программирование :o :( На паскале. Понятно на 20-30%. Задали ДЗ. Нуждаюсь в помощи.

1.
Составить программу возведения в n-ную степень целого числа х.

2.
Написать программу по блок-схеме.

Начало
вводN
S:=0
N<>0
S:=S+N
вводN
выводS

3.Составить программу вычисления суммы всех натуральных чисел не превышающих задонного натурального числа. Построить троссировочную таблицу.

Добавлено: Вт окт 06, 2009 17:25:12
kalobyte
и в чем гимор посмотреть функции ввода вывода в мануале или гугле?
обязательно в первую очередь бежать в уютненький форум искать халявы?

Добавлено: Вт окт 06, 2009 17:44:49
Cat_CooLeR
А что именно сложного? :)) Хочешь чтобы за тебя написали? :)

Добавлено: Вт окт 06, 2009 18:44:33
кт3102
Да именно так. Не рублю я в этом програмировании. Не могу уловить суть всего этого.
Ну хотя бы первое с последним помогите :oops:

Добавлено: Вт окт 06, 2009 19:49:26
Redrik Shuhart
Uses CRT;
Var a,b,c,d:integer;
Begin
ClrScr;
Writeln('--->');
Readln(a);
b:=0
if (n=0) then writeln('n=0')
else b:=b+a;
Writeln('b=',b);
Readkey;
End.


это была 2-я, ща вспомню как в степень возводить,а то у нас там массивы.....

Добавлено: Вт окт 06, 2009 19:55:34
Redrik Shuhart
ось перва


Uses CRT;
Var a,b,c,d:integer;
begin
ClrScr;
Writeln('4ucJlo-->');
Readln(a)
Writeln('ctepin-->');
readln(b);
for d:=1 to b do
begin
c:=b*a;
end;
Writeln('=',c);
Readkey;
End.

Добавлено: Вт окт 06, 2009 19:57:10
Redrik Shuhart
скачай паскаль и проверь, попробуй, а то не очень помню....у нас щас такое..... ну короче АД(пысы: ятакое есче в 7 класе учил)

Добавлено: Вт окт 06, 2009 19:58:34
Redrik Shuhart
Не рублю я в этом програмировании
тогда либо не ходи, либо вон на*** из математического класса, если не хочешь запороть себе атестат

Добавлено: Вт окт 06, 2009 20:08:04
Cat_CooLeR
Редрик, пеши все в одном посте. Есть прекрастная кнопка - править. К тому же, сам бы пошел из мат. класса тогда уж, степени позабыл.
и еще, тег code тоже не просто так :))

Код: Выделить всё

program Project2;

  var
  i,n,x:integer;
begin
Write('Enter the number: ');
Read(x);
Write('Enter the degree: ');
Read(n);
i:=0;
repeat
i:=i+1;
x:=x*x;
until n<>i;
WriteLn('Result: ',x);
Readkey;
end.
Это первое.

Добавлено: Вт окт 06, 2009 20:45:02
кт3102
Ну да, первое вроде как правильно, только Readkey говорит, неизвестный идентификатор :shock: Хотя 3 в 3степени разве 9 будет?

Второе не правильно.
if (n=0) then writeln('n=0')
Неизвестный идентификатор n. И в натуре, откуда ты его взял? :)))

2Редрик. А куда идти? в соц эконом. Тем более информатика не профиль. :music: Всего 2урока. А вот в параллели 4 урока. не Айс :)))

Добавлено: Вт окт 06, 2009 20:56:36
Cat_CooLeR
прошу прощения...
как всегда моя рассеяность...

Код: Выделить всё

program Project2;

  var
  i,n,x,c:integer;
begin
Write('Enter the number: ');
Read(x);
Write('Enter the degree: ');
Read(n);
i:=0;
c:=x;
repeat
i:=i+1;
x:=x*c;
until n=i;
WriteLn('Result: ',x);
ReadLn(x);
end.
а можно про блок схему поподробнее?

Добавлено: Вт окт 06, 2009 21:33:05
кт3102
Дык вроде и так подробно.

1
b:=0
Где точка с запятой? Ну это понятно. а вот откуда n взялась?
if (n=0) then writeln('n=0')
Прога выдаёт Неизвестный идентификатор n. Не знаю что и делать. :oops:

Добавлено: Вт окт 06, 2009 21:43:17
IfoR
Redrik Shuhart писал(а): for d:=1 to b do
begin
c:=b*a;
end;
Молодец! :))

Вот первая:

Код: Выделить всё

uses crt;
var x,y,r,result:integer;

begin

 result:=1;

 clrscr;

 Write ('Chislo: '); ReadLn(x);
 Write ('Stepen: '); ReadLn(y);

 for r:=1 to y do
  result:=result*x;

 Write('Rezultat: ', result);
 readln;

end.
Третья:

Код: Выделить всё

uses crt;
var x,r,result:integer;

begin

 result:=0;

 clrscr;

 Write ('Chislo: '); ReadLn(x);
 Writeln;

 for r:=0 to x do
 begin
  Write(result, ' + ', r, ' = ' )
  result:=result+r;
  Writeln(resultat);
 end;

 Writeln;
 Write('Rezultat: ', result);
 readln;

end.

Ну ладно, на счёт второй...
Если блок-схема вида:

Код: Выделить всё

Начало
   |
|Ввод N|
   |
 |S:=0|
   |<-----------------------------|
 <N<>0> - Да - |S:=S+N| - |Ввод N|-|
   | Нет
|Вывод S|
   |
|Конец|
Тогда программа будет...

Код: Выделить всё

uses crt;
var S,N:integer;

begin
 
 S:=-1;
 N:=1;

 clrscr;

 while (N<>0) do
 begin
  S:=S+N;
  Write ('Chislo N: '); ReadLn(N);
 end.

 Write('Rezultat S: ', S);
 readln;

end.
P.S. Пишу в реальном времени, поэтому могут быть синтаксесасические ошибки. :)
--------------------------------
кт3102 писал(а):Дык вроде и так подробно.
В вашей схеме блоки после Условия можно расположить как угодно, т.к. без линий непонятно, что происходит, если условие истино или ложно и как всё это скреплено.
кт3102 писал(а):
if (n=0) then writeln('n=0')
Прога выдаёт Неизвестный идентификатор n. Не знаю что и делать. :oops:
1. n не объявлена в var
2. Знак равенства ==, а не =.

Добавлено: Вт окт 06, 2009 22:26:07
kalobyte
кт3102 писал(а): Тем более информатика не профиль. :music: Всего 2урока. А вот в параллели 4 урока. не Айс :)))
пример из жизни
есть огромный файл базы данных в неком известном формате офиса
надо написать скрипт или прогу для взятия адреса и печати его в письме с модификатором пола в словах
надо так же печатать адрес на конвертах
и надо делать рассылки по электронным адресам из той же базы по группам

правильная секретарша потратит 1 день на написание скрипта или бва проги
быдло потратит месяц на ручную копипасту
не совсем уж тупое и скупое быдло отдало почти штуку евров за написание проги чуть посложнее скрипта

это я к тому, что основы программирования нужны в любой работе, чтобы хотя бы в экселе собрать данные с ячеек на разных листах и построить график
когда петух уже клюнет, офисный планктон начинает жалеть, что программирование не учил и идет на курсы за свои деньги

пример 2
контора набрала новых сотрудников штук 20+
быдлоадмин будет возьмет у секретарши листок и будет вбивать руками
правильный админ дает каждому свой адрес и просит написать свою инфу в формате с темой ххх
>>имя!фамилия!адрес!телефон!мыло<<
делает фильтр на почте с темой ххх, которые упадут в отдельную папку
сохраняет их разом, натравливает свой скрипт из 30 строк и он выдергивает инфу, запускает в цикле консольные утилиты создания нового пользователя и записывает все данные

это экономия часа времени как минимум

недавно мне ннадо было поменять 25 адресов мыла, листок уже был распечатан, но я попросил файл
кроме смены адресов в профилях, надо было еще на сборщике почты с внешнего сервера прописать эти новые акаунты, а там у той проги конфиг в реестре

парсер накидал в пхп и быстренько все сделал за минут 30
если бы я кликал, то кликал бы до самого вечера

хотя если ты с почасовой оплатой, то почему бы и не посидеть до вечера? а если на зарплате, то вообще можно и пару дней покликать

мне этот список новых сотрудников вообще месяц делали, а можно было бы использовать утилиты транслитерации и регулярные выражения для обрезки букв
например вася петров получится строка, удобная для последущей обработки
vasya petrov|v.petrov@firma.com|325fET - пароль случайный, который тоже генерится консольной утилитой

но быдлу легче руками набивать в ворде с таблицами, чем напрягать мозги

у нас на экзамене выпусном в пту надо было создать по 10 пользователей с определенными параметрами
95% прокликали свое время и не успели сделать другие задания
4% вспомнили консольную утилиту
и только я и один программер порылись в диске к серверу и нашли там пример вбс скрипта и дописали его под наши задачи (добавить еще парсер групп пользователей)

на скрипт у меня ушло 10 минут, при том, что никогда раньше вбс я в глаза не видел

зы
программировать не умею и не люблю
еще больше не люблю работать, посему заставляю работать компутер

Добавлено: Вт окт 06, 2009 23:00:25
Redrik Shuhart
параллели 4 урока. не Ай
5 пар в неделю

Добавлено: Ср окт 07, 2009 17:36:01
кт3102
Во второй ошибочка.
result:=result+r;
Программа на это отвечает
Ожидался идентефикатор, но result обнаружено
Вроде ведь правильно всё. Что делать? :oops:

Добавлено: Ср окт 07, 2009 17:50:53
demson
php
....
/$i = 5;
/$i = (/$i++) + (/$i++);
echo /$i;
....
/php
простой участок кода. скажите пожалуйста сколько получится а главное почему так.

Добавлено: Ср окт 07, 2009 17:55:01
Cat_CooLeR
IfoR писал(а): 2. Знак равенства ==, а не =.
Это в php, а в паскале - =
Вроде ведь правильно всё. Что делать?
Посмотри на строчку выше, ничего не видишь? в самом конце строчки? :))

Добавлено: Ср окт 07, 2009 18:38:17
кт3102
Ух ... Точно. ; не хватает, и вместо resultat? нужно result! :beer:

Всем спасибо.

Добавлено: Ср окт 07, 2009 22:51:24
IfoR
demson писал(а):php
....
/$i = 5;
/$i = (/$i++) + (/$i++);
echo /$i;
....
/php
Что-то с написанием не то. :)
Может быть 6? Т.к. после выполнения этой строчки $i присваивается 5+1.
Или 11? Т.е. сначала при вычислении $i=5, а после $i присваивается $i+1.
Хотя, тут я сам тонкости PHP не знаю. :)
P.S. Во, ща проверил, получается 11. :)
Cat_CooLeR писал(а):Это в php, а в паскале - =
Не, не, не... Это у меня мозг переключился не на php на c++ :)
А так да, точно =.