ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1711  
Старый 27.09.2009, 09:55
Аватар для .::BARS::.
.::BARS::.
Постоянный
Регистрация: 13.10.2007
Сообщений: 347
Провел на форуме:
1345617

Репутация: 115
По умолчанию

Работа с памятью EEPROM ATmega16

Задание1. Сложить два числа хранящиеся в ячейках памяти по адресам 120H и 121H, записать полученную сумму в ячейку памяти по адресу 122H. В области EEPROM, начиная с адреса 008Н , содержащей 32 байта, поместить константу ААН.

------------------

асемблер
 
Ответить с цитированием

  #1712  
Старый 27.09.2009, 12:11
Аватар для Dosia
Dosia
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме:
1313455

Репутация: 249
По умолчанию

По итерациям что то вроде того:

Код:
program Iteraz;
uses graph,crt;
var
a,b,x1,x,f1,f2,e:real;
i,n:integer;

function ArcSin ( X : Real ): Real;
begin
if X = 1.0 then { чтобы не было деления на 0 }
ArcSin := Pi / 2.0
else
ArcSin := ArcTan ( X / Sqrt ( 1 - X * X ) );
end;

function f(tmpX:real):real;
begin
f:=sqrt(1*tmpX*tmpX)-ArcSin(tmpX);
end;

begin
a:=0;
b:=0.99;
x1:=a;
f1:=f(x1);
e:=0.001;
n:=round((b-a)/e);
writeln('Metod iterazii');
for i:=1 to n do begin
x:=x1+(b-a)/n;
f2:=f(x);
if f1*f2<=0 then begin
writeln('Done. X = ',(X+x1)/2:6:4);
writeln('Kolichectvo iterazii = ',i);
end;
x1:=x;f1:=f2;
end;

readkey;
end.
Метод итераций.
При решении нелинейного уравнения методом итераций воспользуемся записью уравнения в виде x=f(x). Задаются начальное значение аргумента x0 и точность e. Первое приближение решения x1 находим из выражения x1=f(x0), второе - x2=f(x1) и т.д. В общем случае i+1 приближение найдем по формуле xi+1 =f(xi). Указанную процедуру повторяем пока |f(xi)-xi| >eУсловие сходимости метода итераций |f'(x)<1| . Структограмма метода итераций:



Не знаю корректно ли работает программа, но я в свое время её сдал ;D

Если подставить в качестве верхнего предела 1, то будет переполнение.

По сути все верно, так как если изменить интервал, то программа вообще не найдет решения.

Другой вариант:

Код:
program ITERAT;
uses crt;

const max_iter=100;   {максимальное количество итераций}

var
 i :integer;
 x,x0,eps,M:real;

function ArcSin ( X : Real ): Real;
begin
if X = 1.0 then { чтобы не было деления на 0 }
ArcSin := Pi / 2.0
else
ArcSin := ArcTan ( X / Sqrt ( 1 - X * X ) );
end;


function F(tmpX:real):real; {функция}
 begin
   f:=sqrt(1*tmpX*tmpX)-ArcSin(tmpX);
 end;

begin {основная программа}
clrscr;
x:=0;
x0:=0.99;
eps:=0.001;

 i:=0;
 repeat
   M:=-(F(x+eps)-F(x-eps))/(2*eps); {коэффициент для улучшения сходимости}
   x0:=x;
   x:=x0+F(x0)/M; {сердце метода итераций}
   inc(i);
 until (abs(x-x0)<=eps)or(i>max_iter);

 if (abs(x-x0)<=eps) then writeln('Otvet: X= ',x:6:4,' naiden za ',i,' shagov')
 else writeln('Otvet ne naiden! Za ',max_iter:0,' shagov.');

readkey;
end.
Программа взята отсюда и немного подредактирована.

Последний раз редактировалось Dosia; 27.09.2009 в 13:08..
 
Ответить с цитированием

  #1713  
Старый 27.09.2009, 13:13
Аватар для G4bR1eL
G4bR1eL
Познающий
Регистрация: 25.03.2008
Сообщений: 65
Провел на форуме:
190034

Репутация: 3
По умолчанию

Задача на TurboP связанная с циклами.
Найти среднее геометрическое всех целых положительных чисел меньше 10.
 
Ответить с цитированием

  #1714  
Старый 27.09.2009, 15:05
Аватар для Dosia
Dosia
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме:
1313455

Репутация: 249
По умолчанию

Код:
program SREDNEE_GEOMETRICHESKOE;

var
SrGeoM:real;
i:integer;

begin
SrGeom:=1;
for i:=1 to 9 do SrGeom:=SrGeom*i;
srGeom:=exp(ln(srGeom)/i);
writeln('Srednee geometricheskoe vseh zelih polozhitelnix chisel menshe 10 [1..9] = ',SrGeom:6:4);

readln;
end.
Результат работы:
Код:
Srednee geometricheskoe vseh zelih polozhitelnix chisel menshe 10 [1..9] = 4.147
2
Проверил на калькуляторе - сходится.
 
Ответить с цитированием

  #1715  
Старый 27.09.2009, 23:26
Аватар для Validol
Validol
Участник форума
Регистрация: 15.12.2006
Сообщений: 212
Провел на форуме:
587761

Репутация: 144
По умолчанию

Цитата:
Создайте текстовый файл, содержащий сведения о телефонах абонентов: фамилия абонентов, год установки телефона. Напишите программу, которая формирует двоичный файл, каждый элемент которого является структурой, составленной на основе данных текстового файла. Отсортируйте данные бинарного файла в алфавитном порядке фамилий абонентов и по вводимой фамилии абонента выведите его номер телефона
Цитата:
Создать текстовый файл, содержащий сведения о сотрудниках института: фамилия работающего, название отдела, год рождения, стаж работы, должность, оклад. Напишите программу, которая формирует двоичный файл, каждый элемонт которого является структурой, составленной на основе данных текстового файла. Отсортируйте данные бинарного файла в порядке возрастания стажа работы. Выведите на экран информацию о сотрудниках, чей стаж работы больше Х лет.
С++

Ребят выручите.
 
Ответить с цитированием

  #1716  
Старый 28.09.2009, 18:29
Аватар для jecka3000
jecka3000
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме:
2052341

Репутация: 95
По умолчанию

Составить программу, вычисляющую значение переменной F по правилу:
min(x,y), если а -цифра
F=
max(x,y), если а - не цифра
Переменные x,y,F – вещественные, переменная a – символьная. Значение переменных x,y,a ввести с клавиатуры. На экран вывести значение переменных x,y,a и вычисленное значение переменной F.

язык - с#
ИСпользовать жедательно толко оператор if else.

Заранее спасибо)
 
Ответить с цитированием

  #1717  
Старый 28.09.2009, 18:58
Аватар для Kaimi
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Код:
Console.WriteLine("Enter x: ");
int x = int.Parse(Console.ReadLine());
Console.WriteLine("Enter y: ");
int y = int.Parse(Console.ReadLine());
Console.WriteLine("Enter a: ");
char a = char.Parse(Console.ReadLine());
int F = 0;
if(Char.IsDigit(a))
	{
		F = x > y ? y : x;
	}
else if(Char.IsLetter(a))
	{
		F = x > y ? x : y;
	}
Console.WriteLine("\nX: {0} ; Y: {1} ; A: {2}\nF: {3}", x,y,a,F);
Console.ReadLine();
 
Ответить с цитированием

  #1718  
Старый 28.09.2009, 19:06
Аватар для ss88
ss88
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме:
298300

Репутация: 128
Отправить сообщение для ss88 с помощью ICQ
По умолчанию

Цитата:
Сообщение от Validol  
С++

Ребят выручите.
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define ABONENTS_COUNT_MAX 500
#define LINE_MAX 256

typedef struct {
	char name[LINE_MAX];
	char phone_number[LINE_MAX];
	unsigned int installation_year; 
} abonent;

int abonents_compare (const void * a, const void * b) {
  return strcmp(((abonent*)a)->name,((abonent*)b)->name);
}

int main(int argc, char** argv){

	FILE * text_file = fopen(argv[1],"rt");
    
    abonent abonents[ABONENTS_COUNT_MAX];
    
    int abonents_count = 0;
    
    char buf_name[LINE_MAX], buf_number[LINE_MAX];
    
    int buf_year;
    
	while( fscanf(text_file,"%s %s %d", buf_name,buf_number,&buf_year)!= EOF){
		strcpy(abonents[abonents_count].name,buf_name);
		strcpy(abonents[abonents_count].phone_number,buf_number);
		abonents[abonents_count++].installation_year = buf_year;
	}
	
	fclose(text_file);
	
   qsort (abonents, abonents_count, sizeof(abonent), abonents_compare);
   FILE * struct_file = fopen("base.txt","w");	
   fwrite(abonents,sizeof(abonent),abonents_count,struct_file);
   fclose(struct_file);
	
	char name[LINE_MAX];
	while(1){
		printf("Enter the name: ");
		scanf("%s",name);
		for(int i=0; i<abonents_count; i++)
			if(strcmp(abonents[i].name,name)==0)
				printf("%s\n",abonents[i].phone_number);
  }
	
	return 0;
}
Делов-то, это про телефоны, второе делай по аналогии. Перед тем, как идти сдавать, разберись, что в проге происходит. Она выполняет все, что от тебя требовалось.

Текстовый файл в таком формате
Цитата:
abonent 884756739 1998
hd 8288374 1999
1_abonent 44556654 1967

Последний раз редактировалось ss88; 28.09.2009 в 19:10..
 
Ответить с цитированием

  #1719  
Старый 29.09.2009, 00:06
Аватар для fker
fker
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
Провел на форуме:
2816163

Репутация: 158
По умолчанию

ss88
А как лучше - читать текстовый, создавать массив потом сортировать и записывать в бинарный файл или - сразу читать текстовик и записывать в бинарный а потом сортировать(уже в бинаре) ?
 
Ответить с цитированием

  #1720  
Старый 29.09.2009, 01:08
Аватар для Ra$cal
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

зависит от количества записей. если их очень много - то чтобы не убить оперативу делаешь сортировку слиянием, она работает с файлами. если записей не фатально много - сортировка в памяти и лишь потом запись.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! nigger Сотовый фрикинг 5 11.04.2009 11:15
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ