13.05.2009, 00:59 | #21 (permalink) |
Новичок
Регистрация: 12.05.2009
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Код:
uses crt; type TList = ^List; List = record znach : integer; Next: TList; end; procedure CreateList(var L: TList); begin L := nil; end; procedure DeleteList(var L: TList); var L1, L2: TList; begin if L = nil then exit; if L^.Next = L then begin Dispose(L); exit; end; L2 := L; L := L^.Next; while L <> L2 do begin L1 := L; L := L^.Next; Dispose(L1); end; Dispose(L2); end; procedure AddToList(var L: TList; S : integer); var L1, L2: TList; begin L1 := L; if L1 = nil then begin new(L1); L1^.Znach := S; L := L1; L^.Next := L; exit; end; while L1^.Next <> L do L1 := L1^.Next; new(L2); L2^.Znach := S; L2^.Next := L; L1^.Next := L2; end; procedure OutList(L: TList); var L1: TList; begin if L = nil then exit; Writeln(L^.Znach); L1 := L^.Next; while L1 <> L do begin Writeln(L1^.Znach); L1 := L1^.Next; end; end; var ListExample: TList; i: integer; begin clrscr; CreateList(ListExample); writeln('Введите числа!0 - конец ввода'); read(i); while i<>0 do begin AddToList(ListExample,i); read(i); end; writeln; OutList(ListExample); readln; readln; end. |
15.05.2009, 01:10 | #22 (permalink) |
Новичок
Регистрация: 15.05.2009
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Strawberry Prolog
Три миссионера и три каннибала хотят переправиться с левого берега на правый. Как это сделать за минимальное число шагов, если в их распоряжении имеется трехместная лодка и ни при каких обстоятельствах (в лодке или на берегу) миссионеры не должны оставаться в меньшинстве.
Вот результаты нашей работы: /*3 kannibala*/ move(state(X,X,X,M1,M2,M3),state(Y,Y,Y,M1,M2,M3)):-opposite(X,Y). /*1 missioner*/ move(state(K1,K2,K3,X,M2,M3),state(K1,K2,K3,Y,M2,M 3)):-opposite(X,Y). move(state(K1,K2,K3,M1,X,M3),state(K1,K2,K3,M1,Y,M 3)):-opposite(X,Y). move(state(K1,K2,K3,M1,M2,X),state(K1,K2,K3,M1,M2, Y)):-opposite(X,Y). /*2 missionera*/ move(state(K1,K2,K3,X,X,M3),state(K1,K2,K3,Y,Y,M3) ):-opposite(X,Y). move(state(K1,K2,K3,M1,X,X),state(K1,K2,K3,M1,Y,Y) ):-opposite(X,Y). move(state(K1,K2,K3,X,M2,X),state(K1,K2,K3,Y,M2,Y) ):-opposite(X,Y). /*3 missionera*/ move(state(K1,K2,K3,X,X,X),state(K1,K2,K3,Y,Y,Y)):-opposite(X,Y). /*1 kannibal, 1 missioner*/ move(state(X,K2,K3,X,M2,M3),state(Y,K2,K3,Y,M2,M3) ):-opposite(X,Y). move(state(K1,X,K3,X,M2,M3),state(K1,Y,K3,Y,M2,M3) ):-opposite(X,Y). move(state(K1,K2,X,X,M2,M3),state(K1,K2,Y,Y,M2,M3) ):-opposite(X,Y). move(state(X,K2,K3,M1,X,M3),state(Y,K2,K3,M1,Y,M3) ):-opposite(X,Y). move(state(K1,X,K3,M1,X,M3),state(K1,Y,K3,M1,Y,M3) ):-opposite(X,Y). move(state(K1,K2,X,M1,X,M3),state(K1,K2,Y,M1,Y,M3) ):-opposite(X,Y). move(state(X,K2,K3,M1,M2,X),state(Y,K2,K3,M1,M2,Y) ):-opposite(X,Y). move(state(K1,X,K3,M1,M2,X),state(K1,Y,K3,M1,M2,Y) ):-opposite(X,Y). move(state(K1,K2,X,M1,M2,X),state(K1,K2,Y,M1,M2,Y) ):-opposite(X,Y). /*1 kannibal, 2 missionera*/ move(state(X,K2,K3,X,X,M3),state(Y,K2,K3,Y,Y,M3)):-opposite(X,Y). move(state(X,K2,K3,M1,X,X),state(Y,K2,K3,M1,Y,Y)):-opposite(X,Y). move(state(X,K2,K3,X,M2,X),state(Y,K2,K3,Y,M2,Y)):-opposite(X,Y). move(state(K1,X,K3,X,X,M3),state(Y,K2,K3,Y,Y,M3)):-opposite(X,Y). move(state(K1,X,K3,M1,X,X),state(K1,Y,K3,M1,Y,Y)):-opposite(X,Y). move(state(K1,X,K3,X,M2,X),state(K1,Y,K3,Y,M2,Y)):-opposite(X,Y). move(state(K1,K2,X,X,X,M3),state(K1,K2,Y,Y,Y,M3)):-opposite(X,Y). move(state(K1,K2,X,M1,X,X),state(K1,K2,Y,M1,Y,Y)):-opposite(X,Y). move(state(K1,K2,X,X,M2,X),state(K1,K2,Y,Y,M2,Y)):-opposite(X,Y). opposite(east,west). opposite(west,east). /*2 kannibala, 1 missioner*/ unsafe(state(X,X,Y,X,Y,Y)):-opposite(X,Y). unsafe(state(Y,X,X,X,Y,Y)):-opposite(X,Y). unsafe(state(X,Y,X,X,Y,Y)):-opposite(X,Y). unsafe(state(X,X,Y,Y,X,Y)):-opposite(X,Y). unsafe(state(Y,X,X,Y,X,Y)):-opposite(X,Y). unsafe(state(X,Y,X,Y,X,Y)):-opposite(X,Y). unsafe(state(X,X,Y,Y,Y,X)):-opposite(X,Y). unsafe(state(Y,X,X,Y,Y,X)):-opposite(X,Y). unsafe(state(X,Y,X,Y,Y,X)):-opposite(X,Y). /*3 kannibala, 1 missioner*/ unsafe(state(X,X,X,X,Y,Y)):-opposite(X,Y). unsafe(state(X,X,X,Y,X,Y)):-opposite(X,Y). unsafe(state(X,X,X,Y,Y,X)):-opposite(X,Y). /*3 kannibala, 2 missionera*/ unsafe(state(X,X,X,X,X,Y)):-opposite(X,Y). unsafe(state(X,X,X,Y,X,X)):-opposite(X,Y). unsafe(state(X,X,X,X,Y,X)):-opposite(X,Y). path(S,G,L,L1):- move(S,S1), not(unsafe(S1)), not(member(S1,L)), path(S1,G,[S1|L],L1),!. path(G,G,T,T):-!. /*The final state is reached*/ go:-go(state(east,east,east,east),state(west,west,west ,west)). go(S,G):- path(S,G,[S],L),nl,write("A solution is: "),nl,write_path(L),fail. go(_,_). member(X,[X|_]). member(X,[_|L]):-member(X,L). /*1 kannibal*/ write_move(state(X,K2,K3,M1,M2,M3),state(Y,K2,K3,M 1,M2,M3)):-!, write("The 1 kannibal crosses the river from "), write(X), write(" to "), write(Y),nl. write_move(state(K1,X,K3,M1,M2,M3),state(K1,Y,K3,M 1,M2,M3)):-!, write("The 1 kannibal crosses the river from "), write(X), write(" to "), write(Y),nl. write_move(state(K1,K2,X,M1,M2,M3),state(K1,K2,Y,M 1,M2,M3)):-!, write("The 1 kannibal crosses the river from "), write(X), write(" to "), write(Y),nl. /*2 kannibala*/ write_move(state(X,X,K3,M1,M2,M3),state(Y,Y,K3,M1, M2,M3)):-!, write("The 1 kannibal takes the 1 kannibala from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(K1,X,X,M1,M2,M3),state(K1,Y,Y,M1, M2,M3)):-!, write("The 1 kannibal takes the 1 kannibala from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(X,K2,X,M1,M2,M3),state(Y,K2,Y,M1, M2,M3)):-!, write("The 1 kannibal takes the 1 kannibala from "), write(X), write(" of the river to "), write(Y),nl. /*3 kannibala*/ write_move(state(X,X,X,M1,M2,M3),state(Y,Y,Y,M1,M2 ,M3)):-!, write("The 3 kannibala crosses the river from "), write(X), write(" to "), write(Y),nl. /*1 kannibal, 1 missioner*/ write_move(state(X,K2,K3,X,M2,M3),state(Y,K2,K3,Y, M2,M3)):-!, write("The 1 kannibal takes the 1 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(K1,X,K3,X,M2,M3),state(K1,Y,K3,M1 ,Y,M3)):-!, write("The 1 kannibal takes the 1 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(K1,K2,X,X,M2,M3),state(K1,K2,Y,M1 ,M2,Y)):-!, write("The 1 kannibal takes the 1 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(X,K2,K3,M1,X,M3),state(Y,K2,K3,M1 ,Y,M3)):-!, write("The 1 kannibal takes the 1 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(K1,X,K3,M1,X,M3),state(K1,Y,K3,M1 ,Y,M3)):-!, write("The 1 kannibal takes the 1 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(K1,K2,X,M1,X,M3),state(K1,K2,Y,M1 ,Y,M3)):-!, write("The 1 kannibal takes the 1 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(X,K2,K3,M1,M2,X),state(Y,K2,K3,M1 ,M2,Y)):-!, write("The 1 kannibal takes the 1 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(K1,X,K3,M1,M2,X),state(K1,Y,K3,M1 ,M2,Y)):-!, write("The 1 kannibal takes the 1 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(K1,K2,X,M1,M2,X),state(K1,K2,Y,M1 ,M2,Y)):-!, write("The 1 kannibal takes the 1 missionera from "), write(X), write(" of the river to "), write(Y),nl. /*1 kannibal, 2 missionera*/ write_move(state(X,K2,K3,X,X,M3),state(Y,K2,K3,Y,Y ,M3)):-!, write("The 1 kannibal takes the 2 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(X,K2,K3,M1,X,X),state(Y,K2,K3,M1, Y,Y)):-!, write("The 1 kannibal takes the 2 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(X,K2,K3,X,M2,X),state(Y,K2,K3,Y,M 2,Y)):-!, write("The 1 kannibal takes the 2 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(K1,X,K3,X,X,M3),state(Y,K2,K3,Y,Y ,M3)):-!, write("The 1 kannibal takes the 2 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(K1,X,K3,M1,X,X),state(K1,Y,K3,M1, Y,Y)):-!, write("The 1 kannibal takes the 2 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(K1,X,K3,X,M2,X),state(K1,Y,K3,Y,M 2,Y)):-!, write("The 1 kannibal takes the 2 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(K1,K2,X,X,X,M3),state(K1,K2,Y,Y,Y ,M3)):-!, write("The 1 kannibal takes the 2 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(K1,K2,X,M1,X,X),state(K1,K2,Y,M1, Y,Y)):-!, write("The 1 kannibal takes the 2 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_move(state(K1,K2,X,X,M2,X),state(K1,K2,Y,Y,M 2,Y)):-!, write("The 1 kannibal takes the 2 missionera from "), write(X), write(" of the river to "), write(Y),nl. write_path([H1,H2|T]):-!, write_move(H1,H2),write_path([H2|T]). write_path(_). ?-go. Ответ почему-то выдает просто Yes... Помогите пожалуйста, буду очень признательна. Правильный ответ вот такой: Первыми пересекают реку миссионер и каннибал. После этого миссионер возвращается. Затем пересекают реку два каннибала. Один из них возвращается. Потом два миссионера пересекают реку. Миссионер и каннибал возвращаются. Два миссионера пересекают реку. Один каннибал возвращается. Два каннибала пересекают реку. Один каннибал возвращается. Два оставшихся каннибала пересекают реку. Последний раз редактировалось blondinka62733; 15.05.2009 в 01:16 |
16.05.2009, 14:01 | #23 (permalink) |
Member
Регистрация: 03.07.2008
Сообщений: 588
Записей в дневнике: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1300
|
Привет всем! Помогите пожалста!
Язык - PASKAL
Задание такое : Вычислить значение функции Y(x). Значения переменных a и x должен задавать пользователь. Вид функция : Ссылка удалена Нужна программа и блок схема Заранее Огроомное спасибо! Последний раз редактировалось Fenix; 11.06.2013 в 11:17 Причина: Ссылка мертва |
16.05.2009, 18:03 | #24 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
VAR a,x,Y:REAL; Function Tan(x:REAL):Real; BEGIN Tan:=Sin(x)/Cos(x); END; BEGIN Write('a = '); Readln(a); Write('x = '); Readln(x); IF x>1/SQR(a) THEN Y:=SQR(Tan(x))*SQRT(Ln(a)) ELSE Y:=Sin(x)+Ln(a); WriteLn('Y = ', Y); ReadLn; END. А вот с блок-схемой, извините, помочь не могу. Никогда ими не интересовался. Последний раз редактировалось Vladimir_S; 16.05.2009 в 18:36 Причина: Заметил: не Ln(x), a Ln(a) надо. Исправил. |
|
16.05.2009, 18:09 | #25 (permalink) |
Новичок
Регистрация: 06.05.2009
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите пожалуйста с задачей) заранее очень благодарен.
Задание: написать на "Си", модуль для операций с таблицей переменных (на основе кэш таблицы), использовать алгоритм elf. модуль должен выполнять операции: 1) получить переменную по её имени; 2) установить значение переменной по её имени. в универе делаем все на dev_cpp... |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
17.05.2009, 13:55 | #26 (permalink) |
Новичок
Регистрация: 15.02.2009
Сообщений: 4
Записей в дневнике: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите решить пожалуйста...Задачка на паскале!
Указатели и списки Упорядочить элементы динамического списка по возрастанию. Заранее огромное спасибо... |
18.05.2009, 22:19 | #27 (permalink) |
Новичок
Регистрация: 18.05.2009
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Здраствуйте я не могу решить задачу на Delphi,помогите пожалуйста!!!
Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен 2, 1 или 0 (число очков, набранных в игре: 2 – выигрыш, 1 – ничья, 0 – проигрыш). Определить номера команд, проведших чемпионат без поражений. помогите ,очень нужно....заранее благодарен |
19.05.2009, 11:19 | #28 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Поскольку в Делфи нет консольного ввода и вывода, а программировать окно мне недосуг, будем считать, что исходная матрица сидит в файле 'InP', и в файл же ('OutP') выводим результат. CONST N = 10; VAR A:ARRAY[1..N,1..N] of BYTE; B:ARRAY[1..N] of BYTE; i,j,p:BYTE; f:TEXTfile; BEGIN AssignFile(f,'InP'); ReSet(f); FOR i:=1 TO N DO BEGIN FOR j:=1 TO N DO Read(f, A[i,j]); ReadLn(f); END; CloseFile(f); AssignFile(f,'OutP'); ReWrite(f); WriteLn(f,'Team numbers are:'); FOR i:=1 TO N DO BEGIN p:=0; FOR j:=1 TO N DO IF A[i,j]=0 THEN INC(p); IF p=1 THEN Write(f, i:4); END; Writeln(f); CloseFile(f); END. |
|
20.05.2009, 01:36 | #29 (permalink) |
Специалист
Регистрация: 17.07.2007
Адрес: Мордовия
Сообщений: 875
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 4825
|
Извините меня, но я почему-то не нашел кнопки редактирования..
Ребят, помоите пожалуйста еще с несколькими прогами (язык програмирования Паскаль): 1. Размерность массива задается именованной константой. Задание: В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1.Номер минимального элемента массива. 2.Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает единицу, а потом — все остальные. 2. Размерности массивов следует задать именованными константами. Задание: Дана целочисленная прямоугольная матрица. Определить: 1. Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрица¬тельный элемент. 2. Найти номер первого из столбцов, не содержащих ни одного положительного элемента. 3.Задана строка символов. Задание: определить длину самого короткого слова. 4. Создайте список с указанием ваших фамилий, имён, телефонных номеров и дат рождения (число, месяц, год). Использовать тип запись (RECORD), вывести в удобном для просмотра формате. 5. Из множества целых чисел [1..100] выделить следующие множества: делящихся без остатка на 10 6. Оформить решение задачи (см. пункт 1. в данном посте) в виде подпрограммы функции. Привести решения этих задач различными способами, используя в качестве фактических параметров: параметры-значения, параметры-переменные и параметры-константы. Объясните различия. 7. Оформить решение задач (см. пункт 2. в данном посте) в виде подпрограммы процедуры. Привести решения этих задач различными способами, используя в качестве фактических параметров: параметры-значения, параметры-переменные и параметры-константы. Объясните различия. 8. Вычислить и вывести на экран в виде таблицы значения функции, заданной с по¬мощью ряда Тейлора, на интервале от хнач до xкон с шагом dx с точностью е. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содер¬жать значение аргумента, значение функции и количество просуммированных членов ряда. Номер варианта задания равен номеру компьютера. Задание: http://www.tehnari.ru/imagehosting/2...3185c8291a.jpg |
20.05.2009, 10:03 | #30 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
N=10; VAR A:ARRAY[1..N] of REAL; B:ARRAY[1..N+1] of REAL; Min:REAL; i,j,Ncur,Nmin:INTEGER; BEGIN Randomize; FOR i:=1 TO N DO BEGIN A[i]:=(Random-0.5)*10; B[i]:=A[i]; END; Min:=A[1]; Nmin:=1; FOR i:=2 TO N DO IF A[i]<Min THEN BEGIN Min:=A[i]; Nmin:=i END; WriteLn('Nmin = ',Nmin:2); i:=1; Ncur:=N; REPEAT IF ABS(B[i])>1 THEN BEGIN B[N+1]:=B[i]; FOR j:=i+1 TO N+1 DO B[j-1]:=B[j]; DEC(i); DEC(Ncur); END; INC(i); UNTIL i=Ncur+1; FOR i:=1 TO N DO Write(A[i]:5:2,' '); Writeln; FOR i:=1 TO N DO Write(B[i]:5:2,' '); Writeln; ReadLn; END. |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Метки |
задачи по информатике, помощь, решение задач, студент |
|
|