Перейти к содержимому

Фото
- - - - -

Turbo Pascal


  • Вы не можете создать новую тему
  • Please log in to reply
17 ответов в этой теме

#1 kirillsp

kirillsp
  • Постоялец
  • 1 050 сообщений

Отправлено 20 Ноябрь 2006 - 15:22

Народ, кто в этом понимает, можете мне помочь написать программу для Turbo Pascal?

1. Написать программу проверки знания основания Сантк-Петербурга. В случае ответа пользователя программа должна воодить правильный ответ. Нижу представлен рекомендуемый вид экрана во время работы программы:

В каком году основан Санкт-Петербург?
Введите число и нажмите ЕНТЕР
->1705
Вы ошиблись, Санкт-Петербург был основан в 1703 году.



2. Написать программу, которая вычисляет сумму первых n целых положительных четных чисел. Кол-во суммируемых чисел должно вводится во время рабты программы. Ниже представлен рекомендуемый вид экрана во время работы программы:

Вычисление суммы четных положительных чисел.
Введите кол-во суммируемых чисел и нажмите ЕНТЕР
->12
Сумма первых 12 положительных чисел равно 156.

Сообщение изменено: kirillsp (20 Ноябрь 2006 - 15:28 )

  • 0

#2 Буквнехвати

Буквнехвати
  • Постоялец
  • 6 724 сообщений
  • Откуда:вы такие умные ?

Отправлено 20 Ноябрь 2006 - 20:26

сейчас скачаю паскаль повспоминаю ... первую то точно написать нопроблемс ... :)
  • 0

на этом месте могла быть ваша реклама. но вы проспрали все возможности.


#3 Буквнехвати

Буквнехвати
  • Постоялец
  • 6 724 сообщений
  • Откуда:вы такие умные ?

Отправлено 20 Ноябрь 2006 - 21:11

Первая :
только не вспомнить как проверку на numeric format сделать ... если домучаю выложу ещё разок ...
uses crt;
var
a:integer;
begin
clrscr;
repeat
write('sankt-peter:');
read(a);
if a<>1703 then writeln('No ...') else Writeln('Yes ...');
until a=1703;
readkey;
end.

Сообщение изменено: дмитник_тут (20 Ноябрь 2006 - 21:13 )

  • 0

на этом месте могла быть ваша реклама. но вы проспрали все возможности.


#4 kirillsp

kirillsp
  • Постоялец
  • 1 050 сообщений

Отправлено 20 Ноябрь 2006 - 21:33

дмитник_тут, спасибо, проверил, работает как надо ;)
  • 0

#5 kirillsp

kirillsp
  • Постоялец
  • 1 050 сообщений

Отправлено 20 Ноябрь 2006 - 22:05

Вторая программа:
program SUMMA;

Var
a: array [1..100] of integer;
sum, k, i: integer;

Begin
randomize;
for i := 1 to 100 do a[i] := random(101) - 50;
writeln('Вычисление суммы четных положительных чисел.');
writeln;
writeln('Введите количество суммируемых чисел и нажмите ENTER:');
readln(k);
sum:=0;
for i:=1 to k do
 begin
  if (a[i] >= 0) and (a[i] mod 2 = 0) then sum := sum + a[i]
 end;
writeln('Сумма первых ',k,' положительных, чётных чисел равна ',sum);
readln;
End.

  • 0

#6 Буквнехвати

Буквнехвати
  • Постоялец
  • 6 724 сообщений
  • Откуда:вы такие умные ?

Отправлено 20 Ноябрь 2006 - 22:23

вот только не вкурить мне - нахрена рандом :)
  • 0

на этом месте могла быть ваша реклама. но вы проспрали все возможности.


#7 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 20 Ноябрь 2006 - 22:54

а легче вторую сделать так:

((2*2 + (n-1)*2)*n)/2


первые положительные четные числа это 2, 4, 6 ... rand не нужен
  • 0
int main(void)

#8 Буквнехвати

Буквнехвати
  • Постоялец
  • 6 724 сообщений
  • Откуда:вы такие умные ?

Отправлено 20 Ноябрь 2006 - 22:58

а легче вторую сделать так:

((2*2 + (n-1)*2)*n)/2
первые положительные четные числа это 2, 4, 6 ... rand не нужен

:) я искал эту формулу ... но моя математика . увы :) . массив - это простой путь :)
  • 0

на этом месте могла быть ваша реклама. но вы проспрали все возможности.


#9 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 20 Ноябрь 2006 - 22:59

да я ее тоже не помнил =)
  • 0
int main(void)

#10 Буквнехвати

Буквнехвати
  • Постоялец
  • 6 724 сообщений
  • Откуда:вы такие умные ?

Отправлено 20 Ноябрь 2006 - 23:07

да я ее тоже не помнил =)

так ... что то не сходится :) ... для S n=3 подошла :) ... для n = 4 нет :)





((4 + (n-1)^2)*n) / 2

такая формула ?
значок ^ - степень ...

Сообщение изменено: дмитник_тут (20 Ноябрь 2006 - 23:07 )

  • 0

на этом месте могла быть ваша реклама. но вы проспрали все возможности.


#11 Cryptoboy

Cryptoboy
  • Пользователь
  • 280 сообщений

Отправлено 20 Ноябрь 2006 - 23:10

V^v, залезай в топкодер=)
  • 0

#12 Буквнехвати

Буквнехвати
  • Постоялец
  • 6 724 сообщений
  • Откуда:вы такие умные ?

Отправлено 20 Ноябрь 2006 - 23:18

ахах :) .. формула то ... пришлось поискать сайт с формулами по прогрессии :) ... и вышло : n+n^2 .

ппц ... смешно .
  • 0

на этом месте могла быть ваша реклама. но вы проспрали все возможности.


#13 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 20 Ноябрь 2006 - 23:19

((4 + (n-1)^2)*n) / 2

такая формула ?
значок ^ - степень ...

не степень, а умножение, в общем виде:
((2*a1 + (n-1)*d)*n)/2,
где а1 первый элемент прогресси, d - это разница прогресси, n - количество элементов

V^v, залезай в топкодер=)

Unable to Launch Arena,
глючит что-то
  • 0
int main(void)

#14 Буквнехвати

Буквнехвати
  • Постоялец
  • 6 724 сообщений
  • Откуда:вы такие умные ?

Отправлено 20 Ноябрь 2006 - 23:21

забей .. я уже на бумажке всё упростил :)

n+n^2
  • 0

на этом месте могла быть ваша реклама. но вы проспрали все возможности.


#15 Cryptoboy

Cryptoboy
  • Пользователь
  • 280 сообщений

Отправлено 20 Ноябрь 2006 - 23:23

V^v, У меня работает
  • 0

#16 Буквнехвати

Буквнехвати
  • Постоялец
  • 6 724 сообщений
  • Откуда:вы такие умные ?

Отправлено 20 Ноябрь 2006 - 23:30

uses
crt;
var
n:integer;
begin
Write('vvedi kolli4estvo ... :');
read(n);
WriteLn('Summa perv6h ',n,' 4etn6h 4isel ravna :',n+n*n ) ;
Readkey;
end.

вот и вся беда :) .. а стоило лишь вспомнить математику 9го класса...
  • 0

на этом месте могла быть ваша реклама. но вы проспрали все возможности.


#17 Буквнехвати

Буквнехвати
  • Постоялец
  • 6 724 сообщений
  • Откуда:вы такие умные ?

Отправлено 21 Ноябрь 2006 - 00:05

V^v, ты чего сидишь ? перепроверяешь ? :)
  • 0

на этом месте могла быть ваша реклама. но вы проспрали все возможности.


#18 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 21 Ноябрь 2006 - 00:39

да не, все правильно должно быть
  • 0
int main(void)