Digma Опубликовано 14 апреля, 2009 Жалоба Поделиться Опубликовано 14 апреля, 2009 Пожалуйсто помогите, я в паскале вобще не понимаю.1. Около стены наклонно стоит палка заданной длины. Известно расстояние от стены до конца палки. Определить значение угла между полом и палкой.2. Найти значение функции, заданной графиком.Как я понял надо программу составить! Ссылка на комментарий
martinges Опубликовано 14 апреля, 2009 Жалоба Поделиться Опубликовано 14 апреля, 2009 1) арккосинус(x/L) x катет, L гипотенуза2) находим уравнение прямой проходящей через 2 точки (x-x1)/(x2-x1)=(y-y1)/(y2-y1)если x<-3 то вывод("не попал ")иначе если (x>=-3)и(x<=3) то вывод(смотри формулу прямой) иначе вывод("значение функции=6"); Ссылка на комментарий
Digma Опубликовано 14 апреля, 2009 Жалоба Поделиться Опубликовано 14 апреля, 2009 martingesСорри, я не знаю как программу написать. Будь добр напиши если можеш на 2 задачки, ОТБЛАГОДАРЮ чем смогу! Ссылка на комментарий
martinges Опубликовано 14 апреля, 2009 Жалоба Поделиться Опубликовано 14 апреля, 2009 дык так неинтересно))учись прогу писать) нафига ты учишься то?)1)var x,l:real;beginreadln(x,l);writeln(arctan(sqrt(sqr(l)-sqr(x))/x)*(180)/pi:5:2);end.{гг вспомнил что вроде нет арккосинуса в паскале зато есть арктангенс путём нехитрых вычислений понимаем что тангенс это частное катетов) дальше преобразование в градусы, иначе будешь получать всё в радианах и тебе это не понравится }2) имеются 2 точки (-3,0) и (3,6) формулу сверху видишь оттуда следует что x1=-3 y1=0 x2=3 y2=6 далее оставляешь y в правой части уравнения всё остальное угоняешь влевую часть и о алелуя получаем уравнение прямой)далее код : if x<-3 then write('Акела промахнулся :)')else if (x>=-3)and(x<=3) then write('значение уравнения равно ',{а тут формулка прямой})else write('значение уравнения равно 6');end.там где формулка советую сделать форматный вывод без мантисы)последний else равно 6 думаю и так понятно почему Ссылка на комментарий
PapiruS Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 Дано натуральное число k. Напечатать k-ую цифру последовательности: 12345678910111213..., в которой выписаны подряд все натуральные числа. помогите плз решить, мне нужно блок-схему составить, но можна проста на паскале тока без масивов и процедур там всяких паскалевских.заранее всем спасиба) Ссылка на комментарий
Inclodes Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 Дано натуральное число k. Напечатать k-ую цифру последовательности: 12345678910111213..., в которой выписаны подряд все натуральные числа.создаестся строка (изначально присваеваешь строке пустое значение(прим s=''))считываешь с клавы значение k делаешь цикл for от 1 до кв цикле делаешь что-то подобное s=s+str(i)затем выводишь на экран элемент s(k)там в цикле можно и не до k но у мну щас мозга не соображают, посему более рационального решения я представить не могу. Ссылка на комментарий
PapiruS Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 Inclodesты маленько не понял задание) последовательность тут идет бесконечная 1234567891011..1920..2930..3940..49.....99100...199..1000..1999......... и нужно выдать к-ую цифру этой послед-тиДобавлено спустя 1 минуту 19 секунд:и строки и масивы не используются, а тока циклы да деления целочисленные Ссылка на комментарий
X-tender Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 PapiruSчто-то типа того(синтаксис паскаля не очень помню):function dec_cnt(t:integer):integer;var i:integer;begin i=1; while (t>=10) do begin t:=t div 10; inc(i); end result:=i;end;function n_dec(t,i:integer):integer;var j:integer;begin j=dec_cnt(t)+1-i; while (j>=0) begin t:=t div 10; dec(j); end;result:=t mod 10;end;var i,k:integer;beginreadln(k);i=1;while (k>dec_cnt(i)) dobegin k:=k-dec_cnt(i); inc(i);end;writeln("Result = ",n_dec(i,k));ps. Написал для теста на перле и попытался перевести в паскаль, сорри если что-то не так. на перле:use strict;sub dec_cnt{ my $t=shift; my $i=1; while ($t>=10) { $t/=10; $i++; } return $i;}sub n_dec{ my $t=shift; my $i=shift; my $j=dec_cnt($t)+1-$i; while (--$j) { $t/=10;} return $t%10;}my $k=<>;my $i=1;while ($k>dec_cnt($i)){$k-=dec_cnt($i);$i++;}print "Result=".n_dec($i,$k); Ссылка на комментарий
Lakers Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 да че ты масифчик на блоксехе нарисовать не можеш то? Ссылка на комментарий
Digma Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 martingeswriteln(arctan(sqrt(sqr(l)-sqr(x))/x)*(180)/pi:5:2);Зачем умножаем на (180)/pi:5:2); Ссылка на комментарий
X-tender Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 да че ты масифчик на блоксехе нарисовать не можеш то?Это кому было-то?Добавлено спустя 1 минуту 28 секунд:Зачем умножаем на (180)/pi:5:2);Переводит в градусы из радиан. Ссылка на комментарий
Digma Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 Плиз как из (x-x1)/(x2-x1)=(y-y1)/(y2-y1) выразить у??? Помогите плиз! Ссылка на комментарий
Трали-Вали Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 Задан массив действительных чисел. Определите, сколько раз меняется знак в данной последовательности чисел, запомнить номера позиций, в которых происходит смена знака.... пздц, стыдно Помогите ))) Ссылка на комментарий
X-tender Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 Трали-Вали,a - заданный массив, b - массив в котором будут хранится номера позиций в которых меняется знак, j - количество изменений знакаj=0;for (int i=0;i{if (a[i]*a[i+1]<0) { b[j++]=i+1; }} Ссылка на комментарий
Digma Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 Плиз как из (x-x1)/(x2-x1)=(y-y1)/(y2-y1) выразить у??? Помогите плиз! Ссылка на комментарий
X-tender Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 Digmaиздеваешься? математика обычная же.y= ( (x-x1)/(x2-x1) ) * (y2-y1) +y1 Ссылка на комментарий
D3V3L0p3R Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 народ нид Бэкап!#include #pragma hdrstop#include "Unit1.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){}//---------------------------------------------------------------------------void __fastcall TForm1::Button2Click(TObject *Sender){ if (Edit1->Text==""){ShowMessage("Enter your nickname"); return;}ServerSocket1->Active = true ;Button3->Enabled = true;Button4->Enabled = true ;Button1->Enabled = false ;Memo1->Lines->Add("Server Created") ;}//---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){Edit2->Text=ClientSocket1->Address;ClientSocket1->Active = true ;Button2->Enabled = false ;Button4->Enabled = true ;}//---------------------------------------------------------------------------void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender, TCustomWinSocket *Socket){Memo1->Lines->Add("Client connected");}//---------------------------------------------------------------------------void __fastcall TForm1::ClientSocket1Connect(TObject *Sender, TCustomWinSocket *Socket){Memo1->Lines->Add("Connected");}//---------------------------------------------------------------------------void __fastcall TForm1::Button3Click(TObject *Sender){if (ServerSocket1->Active==true){ServerSocket1->Socket->Connections[1]->SendText(Edit1->Text+"::"+Edit3->Text); }else{ ClientSocket1->Socket->SendText(Edit1->Text+"::"+Edit3->Text);}Memo1->Lines->Add(Edit1->Text+"::"+ Edit3->Text) ;Edit3->Text="";}//---------------------------------------------------------------------------void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender, TCustomWinSocket *Socket){Memo1->Lines->Add(Socket->ReceiveText()) ;}//---------------------------------------------------------------------------void __fastcall TForm1::ClientSocket1Read(TObject *Sender, TCustomWinSocket *Socket){Memo1->Lines->Add(Socket->ReceiveText()) ;}//---------------------------------------------------------------------------//---------------------------------------------------------------------------Блин выдает error: list index out of boundsГде именно я накосячил? Ссылка на комментарий
Трали-Вали Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 X-tender, профессиональный подход к делу! Благодарствую Ссылка на комментарий
haha Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 D3V3L0p3Rошибка говорит: "индекс ушел за пределы массива", подозреваю это о переполнении в сокетах.Но, так как я сам лабу про чатик не сделал, могу ошибаться.и это не паскаль, это си., хотя не суть важно. Ссылка на комментарий
X-tender Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 {ServerSocket1->Socket->Connections[1]->SendText(Edit1->Text+"::"+Edit3->Text); }Тут имхо Connections[0] должно быть Ссылка на комментарий
D3V3L0p3R Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 Да тут и не ноль. Сделал карочь по человечески,т.е. заново.#include #pragma hdrstop#include "Unit1.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){}//---------------------------------------------------------------------------void __fastcall TForm1::Button2Click(TObject *Sender){ if (Edit1->Text==""){ShowMessage("Enter your nickname"); return;}ServerSocket1->Active = true ;Button3->Enabled = true;Button4->Enabled = true ;Button1->Enabled = false ;Memo1->Lines->Add("Server Created") ;}//---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){Edit2->Text=ClientSocket1->Address;ClientSocket1->Active = true ;Button2->Enabled = false ;Button4->Enabled = true ;}//---------------------------------------------------------------------------void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender, TCustomWinSocket *Socket){Memo1->Lines->Add("Client connected");}//---------------------------------------------------------------------------void __fastcall TForm1::ClientSocket1Connect(TObject *Sender, TCustomWinSocket *Socket){Memo1->Lines->Add("Connected");}//---------------------------------------------------------------------------void __fastcall TForm1::Button3Click(TObject *Sender){ int i;if (ServerSocket1->Active==true){ for (i=0;i<(ServerSocket1->Socket->ActiveConnections-1);i++) {ServerSocket1->Socket->Connections[i]->SendText(Edit1->Text+"::"+Edit3->Text); } }else{ ClientSocket1->Socket->SendText(Edit1->Text+"::"+Edit3->Text);}Memo1->Lines->Add(Edit1->Text+"::"+ Edit3->Text) ;Edit3->Text="";}//---------------------------------------------------------------------------void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender, TCustomWinSocket *Socket){Memo1->Lines->Add(Socket->ReceiveText()) ;}//---------------------------------------------------------------------------void __fastcall TForm1::ClientSocket1Read(TObject *Sender, TCustomWinSocket *Socket){Memo1->Lines->Add(Socket->ReceiveText()) ;}//---------------------------------------------------------------------------//--------------------------------------------------------------------------- Ссылка на комментарий
X-tender Опубликовано 16 апреля, 2009 Жалоба Поделиться Опубликовано 16 апреля, 2009 D3V3L0p3R, мде... в том то и дело... Я как раз и говорил что не единица должна быть. Счет начинается с 0, а не с 1. Тебе ошибку и выдавало на то, что обращается к не существующему элементу. Ссылка на комментарий
D3V3L0p3R Опубликовано 17 апреля, 2009 Жалоба Поделиться Опубликовано 17 апреля, 2009 так пробовал все элементы, 0 ,1 и даже -1, всё равно эрорр был. Вот щас робит норм Ссылка на комментарий
X-tender Опубликовано 17 апреля, 2009 Жалоба Поделиться Опубликовано 17 апреля, 2009 значит вообще массив был пустой Ссылка на комментарий
PapiruS Опубликовано 18 апреля, 2009 Жалоба Поделиться Опубликовано 18 апреля, 2009 PapiruSчто-то типа того(синтаксис паскаля не очень помню):function dec_cnt(t:integer):integer;var i:integer;begin i=1; while (t>=10) do begin t:=t div 10; inc(i); end result:=i;end;function n_dec(t,i:integer):integer;var j:integer;begin j=dec_cnt(t)+1-i; while (j>=0) begin t:=t div 10; dec(j); end;result:=t mod 10;end;var i,k:integer;beginreadln(k);i=1;while (k>dec_cnt(i)) dobegin k:=k-dec_cnt(i); inc(i);end;writeln("Result = ",n_dec(i,k));ps. Написал для теста на перле и попытался перевести в паскаль, сорри если что-то не так. на перле:use strict;sub dec_cnt{ my $t=shift; my $i=1; while ($t>=10) { $t/=10; $i++; } return $i;}sub n_dec{ my $t=shift; my $i=shift; my $j=dec_cnt($t)+1-$i; while (--$j) { $t/=10;} return $t%10;}my $k=<>;my $i=1;while ($k>dec_cnt($i)){$k-=dec_cnt($i);$i++;}print "Result=".n_dec($i,$k);можешь без процедур и функций сделать?Добавлено спустя 2 минуты 20 секунд:Lakersпомнишь ты решал задачуuses crt;var x,m1,m2:integer;beginclrscr;read(x);m1:=x;m2:=x;while x<>0 dobeginif (xm1) then m2:=x;if (xbeginm2:=m1;m1:=x;end;read(x);end;writeln('MIN1: ',m1);writeln('MIN2: ',m2);readkey;end. когда вводишь последовательность 1 2 0 он выдает типа: Min1=1; min2=1как исправить? Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти