Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2009, 13:53   #1
LAM 757
Пользователь
 
Регистрация: 30.10.2009
Сообщений: 13
Стрелка Задачка по Pascal

Помоги пожалуйсто преобразовать задачку в "Двух уровневом меню:тремя циклами"!! только если не трудно распишите по подробнее, а то я не сильно шарю в этом. Здача: Дано целое число K. Найти знакочередующуюся сумму цифр числа К. (Пусть запись К в десятичной системе есть a[n]...a[2] a[1] a[0];найти a[0]+a[1]+a[2]+...+a[n]).
Решение:

найти a[0]+a[1]+a[2]+...+a[n]

program Project2;
var K,S:integer;
begin
write('K='); Readln(K);
S:=0;
while K<>0 do
begin
S:=S+(K mod 10);
write('+',K mod 10);
k:=K div 10;
end;
write('=',S);
readln
end.

Найти знакочередующуюся сумму цифр: a[0]-a[1]+a[2]-...+a[n]

program Project2;
var K,S,i:integer;
begin
write('K='); Readln(K);
S:=0;
i:=0;
while K<>0 do
begin
if (i mod 2=0) then begin S:=S+(K mod 10); write('+',K mod 10); end
else begin S:=S-(K mod 10); write('-',K mod 10); end;
inc(i);
k:=K div 10;
end;
write('=',S);
readln
end.

Вот это решение надо сделать "Двух уровневом меню:тремя циклами"...
LAM 757 вне форума Ответить с цитированием
Старый 07.11.2009, 17:42   #2
LAM 757
Пользователь
 
Регистрация: 30.10.2009
Сообщений: 13
По умолчанию

Помогите плиз,в понедельник сдавать надо!!!!!
LAM 757 вне форума Ответить с цитированием
Старый 07.11.2009, 18:01   #3
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Код:
program Project2;
var K,S:integer;
begin
write('K='); Readln(K);
S:=0;
repeat 
begin
S:=S+(K mod 10);
write('+',K mod 10);
k:=K div 10;
until k=0;
write('=',S);
readln
end.
Код:
program Project2;
var s,i:integer;
k:string
begin
write('K='); Readln(K);
S:=0;
for i:=1 to length(k) do
if (i mod 2=0)  then S:=S-((ord(K[i])-ord('0'))
else  S:=S+ord(K[i])-ord('0')

write('=',S);
readln
end.
Код:
program Project2;
var i,S:integer;
    k:string;
begin
write('K='); Readln(K);
S:=0;
for i:=1 to length(k) do
begin
S:=S+ord(K[i])-ord('0');
end;
write('s=',S);
readln
end.
Код:
program Project2;
var K,S,i:integer;
begin
write('K='); Readln(K);
S:=0;
i:=0;
repeat
if (i mod 2=0) then begin S:=S+(K mod 10); write('+',K mod 10); end
else begin S:=S-(K mod 10); write('-',K mod 10); end;
inc(i);
k:=K div 10;
until k=0;
write('=',S);
readln
end.

вот еще 2 циклами! в одну прогу с Двухуровневым меню сами собьете!
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одна задачка по Pascal LAM 757 Помощь студентам 6 04.12.2011 12:11
Pascal. Математическая задачка Stenka Помощь студентам 9 08.11.2009 11:11
Задачка с цикломв Turbo Pascal Semych Помощь студентам 2 18.06.2009 16:16
задачка в Turbo Pascal Semych Помощь студентам 2 17.06.2009 20:56
Задачка на Pascal miron Фриланс 9 30.03.2008 15:03