Вопросы и ответы | 

Владимир Алексеев
Как получить Pascal-компилятор ?

Я нуждаюсь в помощи научиться программировать на языке Паскаль.
Я нашёл 3 Pascal-курса , читаю их описания оКурсе, чтоб выбрать из них полноценный , в котором предложены не только голая теория, но и компилятор для получения практических навыков. Но я нигде не вижу кнопок типа "Скачать Компилятор".
Например, на странице "Программирование на языке высокого уровня Паскаль" https://intuit.ru/studies/courses/628/484/lecture/10984 перечислены "Основные понятия языка", Презентация, "Дальше" (ссылки на следующие лекции), а где найти Компилятор?

Игорь Орещенков
Игорь Орещенков | Репутация: 80 (Без статуса) 31 декабря 2020 в 20:03

Здравствуйте!
Самый популярный компилятор языка Паскаль на сегодняшний день - это продукт проекта FreePascal (https://freepascal.org). Дистрибутив для Windows можно загрузить здесь: https://sourceforge.net/projects/freepascal/files/Win32/3.2.0/fpc-3.2.0....
Интерфейс среды разработки очень напоминает Borland/Turbo Pascal 7, программа из первой лекции успешно собралась и работает. Скорее всего, будут работать и другие примеры.

Владислав Бойко
Что у Вас с оптимизацией сайта?

Любое нажатие на кнопку приводит к зависанию. Это трэш полный. Комп можный, интернет вообще все рвет. Только на Вашем сайте так медленно и с ошибками. 

Алексей Семёнов
Алгоритм Флойда-Уоршелла

Задача: найти медиану графа, т.е такую его вершину. что сумма расстояний от нее до остальных вершин минимальна. 
Я пока пытаюсь найти только матрицу кратчайших расстояний(по алгоритму Флойда-Уоршелла).
У меня 2 матрицы(в виде StringGrid на форме), одна - матрица смежности, другая - матрица кратч. расстояний."inf" выводится во второй, при условии наличия ребра, которое отображается в первой
Я ввожу вес ребра прямо в матрицу(пока интерфейс не особо дружелюбен, потом исправлю..).

Код Delphi

var
  Form1: TForm1;
  r_g,i,j,k,s:Integer;
implementation
 
{$R *.dfm}
 
procedure TForm1.button1Click(Sender: TObject);
begin
if (length(Edit1.Text)>0)then
begin
  r_g:=StrToInt(Edit1.Text);
  StringGrid1.ColCount:= r_g;
  StringGrid1.RowCount:= r_g;
  StringGrid2.ColCount:= r_g;
  StringGrid2.RowCount:= r_g;
end
else
Application.MessageBox('Необходимо ввести число','Ошибка', MB_OK+MB_ICONSTOP);
end;
 
//задать граф
procedure TForm1.Button3Click(Sender: TObject);
begin
 for i:=0 to r_g-1 do
  for j:=0 to r_g-1 do
      begin
       if i=j then StringGrid1.Cells[i,j]:=IntToStr(0);  {между одной и той же вершиной}
       if i=j then StringGrid2.Cells[i,j]:=IntToStr(0)  {не может быть ребёр}
       else
       randomize;
       if i<>j then StringGrid1.Cells[i,j]:=IntToStr(random(2));
      end;
end;
 
//задать матрицу кратч. расстояний
procedure TForm1.Button2Click(Sender: TObject);
begin
 for i := 0 to StringGrid1.ColCount-1 do
       for j := 0 to StringGrid1.RowCount-1 do
         if StringGrid1.Cells[i, j] = ('0') then
            StringGrid2.Cells[i, j] := IntToStr(999)
         else
         if StringGrid1.Cells[i, j] = ('1') then
            StringGrid2.Cells[i, j] := 'inf';
end;
 
 //Медиана по алг Флойда
procedure TForm1.Button9Click(Sender: TObject);
begin
     k := 1;
     while k < StringGrid2.ColCount-1 do
       begin
         for i := 1 to StringGrid2.ColCount-1 do
           for j := 1 to StringGrid2.RowCount-1 do
             begin
               if (i <> k) and (j <> k) and (i <> j) then
               if StrToInt(StringGrid2.Cells[i, j]) > StrToInt(StringGrid2.Cells[i, k]) + StrToInt(StringGrid2.Cells[k, j]) then
                   begin
                     StringGrid2.Cells[i, j] := IntToStr(StrToInt(StringGrid2.Cells[i, k]) + StrToInt(StringGrid2.Cells[k, j]));
                   end;
             end;
         k := k + 1;
       end;
end;
 
end.

Помогите разобраться!

Евгний Егоров
Почему скрипт не работает?
Проблема в том что я хотел написать скрипт новостей. Соединение с БД вроди как проходит, но текста нету.
Файл config:

<?

$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "dble";

?>
Файл index:

<?php
session_start();
define( '_JEXEC', 1 );
$db = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db( $dbname, $db );

require 'core/config.php';

include_once('core/sheild.php'); //* Это цепляется защита от sql иньекций*//


function query($sql) {
mysql_set_charset(‘utf8);
$query = mysql_query($sql);

if (!$query) {
trigger_error(mysql_error() . $sql);
}

$result = array();
while ($row = mysql_fetch_assoc($query)) {
$result[] = $row;
}
return $result;
}


Файл main (шаблон с формами):

<?php
//* Пропустил весь код html *//
defined('_JEXEC') or die(' <style type="text/css">
body {background: url("error.png") repeat-y right #bcc5ca; font-family: arial; width: 99.8%; color:#9A022B; text-shadow:2px 2px 2px #ccc; overflow: hidden;}
h1 { font-size: 48px; margin: 0 20px;}
p {font-size: 32px; margin: 20px; }
img {margin: 0;}
a {text-decoration: none;}
</style> <H2>Ошибка 403 <br> Доступ запрещён! '); ?>

...

<?php
$result = query('select news.content from news');
echo $query;
?>

БД:

CREATE TABLE `news` (
`content` varchar(600) NOT NULL,
`Date` date NOT NULL,
`Title` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `news` (`content`, `Date`, `Title`) VALUES
('hello world', '2013-05-13', 'test');
Владимир Малиновский
Владимир Малиновский | Репутация: 922 (Специалист) 19 мая 2013 в 17:58

Не думаю, что ваш вопрос имеет какое-то отношение к учебным курсам ИНТУИТ. Советую вам задать его на одном из многочисленных форумов по программированию. Там вы быстрее получите ответ.

Александр Фоменко
Александр Фоменко | Репутация: 148 (Кандидат) 19 ноября 2013 в 03:33

require 'core/config.php'; в начале файла поствавь

Vika Gorina
Помогите пожалуйста составить программу. задание:
Найти первый член последовательности, для которого выполнено условие |an-an-1|
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Aa Aa
Aa Aa | Репутация: 2135 (Эксперт) 28 ноября 2010 в 18:12

Начните с составления блок-схемы алгоритма:
1. Вычисляете значение 1-го члена последовательности (A1).
2. Задаете положительное число E.
3. Вычисляете A(n+1).
4. Вычисляете R=|A(n+1)-An|
5. Если R<E, то переходим к 5, иначе перходим к 2.
6. Вывод ответа.
7. Конец.

Виталий Крылов
Виталий Крылов | Репутация: 1063 (Эксперт) 29 ноября 2010 в 01:38

На каком языке надо написать?
И к какому сроку?

Сергей Смирнов
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Светлана П
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Aa Aa
Aa Aa | Репутация: 2135 (Эксперт) 18 октября 2010 в 08:42

1. FTP-сервер может быть источником любой информации. Смотря что на него положить. Если это FTP-сервер учебного или научного заведения, то есть вероятность найти на нём научную информацию. Но чтобы сделать эту информацию доступной для других, ссылки на эти ресурсы часто располагают на web-сайтах.
2. http://www.intuit.ru/department/office/toolsyandex/3/4.html - пример использования FTP при создании сайта.

Антон Антонов
Антон Антонов | Репутация: 103 (Кандидат) 19 октября 2010 в 12:44

Вот также неплохой пример использования FTP при создании сайта

Сергей Сергеев
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Анатолий Кругляк
Анатолий Кругляк | Репутация: 100 (Кандидат) 13 июня 2010 в 21:15

В том что в телефоне установлена програмное обеспечение не рассчитанное для выполнения функций приравниемых к ПК, а КПК (коммуникаторы) их програмное обеспечение написано дабы уменьшить устройства с большими возможностями, такие как например в ПК только программы, не все будут работать, а возможно и вовсе не будут работать из за малого размера оперативной памяти и слабого процессора в отличии от ПК

Андрей Абрамов
Андрей Абрамов | Репутация: 563 (Специалист) 15 июня 2010 в 01:40

Именно ОС и будет отличаться, как минимум версией. Ну а ассемблер зависит только от процессора.

Виталий Роденбергер
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Александр Петров
Александр Петров | Репутация: 409 (Кандидат) 12 мая 2010 в 04:05

В функцию нельзя ничего записать! Функцию можно вызвать, в функцию можно передать значения, но записать - нет.
Что значит "увеличить на 5"? Увеличить размер массива? Увеличить значения этого массива?
Отвечать на некорректно заданный вопрос нет никакого желания, посему лишь поправлю предыдущего отвечальщика: использование realloc в паре с new - некорректно!

Виктор Феоктистов
Виктор Феоктистов | Репутация: 117 (Кандидат) 13 мая 2010 в 08:18

Да, ошибся. Либо malloc и realloc, либо new и {new новый, скопировать из старого в новый, delete старый и присвоить указатель на новый массив вместо старого}

Николай Авдеев
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Виталий Крылов
Виталий Крылов | Репутация: 1063 (Эксперт) 26 декабря 2009 в 15:37

  Сейчас уже надо начинать с С#. Однако, отвечая на Ваш вопрос, лучше всего начать с С++ (от Бьерна Страуструпа).
  Курс по C++ (от Бьерна Страуструпа) можно найти на сайте ИНТУИТ.ру:
http://www.intuit.ru/department/pl/cpp2/,
также Вам можно порекомендовать начать изучать C++ по следующей книге:
http://www.intuit.ru/department/pl/cpp/

Александр Пузанов
Александр Пузанов | Репутация: 1145 (Эксперт) 27 декабря 2009 в 00:37

СИ – язык системного программирования, сейчас в основном используется для написания базовых компонентов операционных систем (ядро) и драйверов устройств.
Если вы не планируете этим заниматься, этот этап можно пропустить.
Основное отличие С++ от чистого СИ наличие ориентированность на обьектное программирование (объекты, классы).
Также есть особенности в языке, вносимые средой разработки (Visual С++ , C++ Builder).
Так что лучше сразу изучать конкретный «диалект» на котором будет вестись разработка приложений.

Дмитрий Балаев
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Aa Aa
Aa Aa | Репутация: 2135 (Эксперт) 8 декабря 2009 в 20:51

В языке Паскаль тип массива задается с использованием специального слова array (англ. – массив), и его объявление в программе выглядит следующим образом:Type < имя _ типа >= array [ I ] of T; где I – тип индекса массива, T – тип его элементов.Можно описывать сразу переменные типа массив, т.е. в разделе описания переменных: Var a,b: array [ I ] of T; Обычно тип индекса характеризуется некоторым диапазоном значений любого порядкового типа : I 1 .. I n . Например, индексы могут изменяться в диапазоне 1..20 или ‘ a ’..’ n ’.При этом длину массива Паскаля характеризует выражение:ord ( I n )- ord ( I 1 )+1. Вот, например, объявление двух типов: vector в виде массива Паскаля из 10 целых чисел и stroka в виде массива из 256 символов:    Type     Vector=array [1..10] of integer;     Stroka=array [0..255] of char; С помощью индекса массива можно обращаться к отдельным элементам любого массива, как к обычной переменной: можно получать значение этого элемента, отдельно присваивать ему значение, использовать его в выражениях.Опишем переменные типа vector и stroka : Var a: vector; c: stroka; далее в программе мы можем обращаться к отдельным элементам массива a или c . Например, a [5]:=23; c [1]:=’ w ’; a [7]:= a [5]*2; writeln ( c [1], c [3]).

Андрей Абрамов
Андрей Абрамов | Репутация: 563 (Специалист) 10 декабря 2009 в 08:52

Описанные согласно стандартам языка.

Дмитрий Душин
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Виталий Крылов
Виталий Крылов | Репутация: 1063 (Эксперт) 27 октября 2009 в 20:41

Почитать можно, например, здесь:
http://www.cyberguru.ru/programming/visual-cpp/
А купить можно здесь:
http://www.ozon.ru/context/detail/id/2192536/

Сергей Гвизда
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Игорь Штомпель
Игорь Штомпель | Репутация: 107 (Кандидат) 6 октября 2009 в 18:31

Зависит от операционной системы, которую вы используете. Укажите подробности.

Aa Aa
Aa Aa | Репутация: 2135 (Эксперт) 9 октября 2009 в 13:08

Существует 2 основных варианта:
1. Текст можно набрать в любом тестовом редакторе, сохранить как обычный текст в файл с расширением .c (желательно). Затем из командной строки запустить компилятор языка C, передав ему имя файла с тестом программы в качестве параметра.
2. Использовать систему разработки для языка C со встроенным редактором, например, как самое простое, Turbo C.
p.s. Подробности зависят от выбранных вами версии языка, компилятора и операционной системы.

Айрат Хафизов
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Ярослав Кавун
Ярослав Кавун | Репутация: 124 (Кандидат) 9 сентября 2009 в 21:46

System.Management.ManagementClass class1 = new ManagementClass("Win32_PerfFormattedData_PerfOS_Processor");foreach (ManagementObject ob in class1.GetInstances()){ label2.Text="Name - " + ob.GetPropertyValue("Name").ToString().Trim();                object percents = ob.GetPropertyValue("PercentProcessorTime"); if (percents != null) label1.Text = "PercentProcessorTime - " + percents;else label1.Text = "PercentProcessorTime - null";}

Денис Белошеев
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Константин Иванов
Константин Иванов | Репутация: 608 (Специалист) 13 августа 2009 в 21:52

Я не помню точно но что то подобное у майкрософтов предлагалось в SQL Server 2008. Там как то сама БД может посылать сигнал программе о том что в ней что то изменилось. Задайте этот вопрос на форумах по MS SQL

Владимир Борзенков
Владимир Борзенков | Репутация: 592 (Специалист) 13 августа 2009 в 22:57

Правильность полученого ответа зависит от правильности поставленого вопроса. Какими средствами Вы собираетесь отображать информацию из своей базы? С помощью какого визуализатара создаёте её? И вообще: для каких целей необходимо видить изменения в базе?- для контроля можно использовать одни средства, для наглядности - другие, но зачастую информацию стараются скрыть (не всем необходимо знать, что твориться в Вашей базе!!!)

Владимир Олейник
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Константин Командин
Константин Командин | Репутация: 110 (Кандидат) 1 августа 2009 в 17:15

скорее всего у вас используется в скрипте какойнить фреймворк типа jquery, в них она выступает как бы родительским элементом. В вашем случае эта функция выбираются все span с id или класса (я в яваскриптах не силен) post-hr и применяет к ним форматирования. Тобишь это функция селектор.
Вот тут можно узнать больше
http://docs.jquery.com/Frequently_Asked_Questions

Александр Фоменко
Александр Фоменко | Репутация: 148 (Кандидат) 19 ноября 2013 в 04:05

в данном случае $ является псевдонимом функции jQuery http://codingcraft.ru/web-design/jquery.php

Mmix Н
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Герман Половников
Герман Половников | Репутация: 128 (Кандидат) 25 июля 2009 в 22:17

Есть такая функция - scandir - возвращает список фалов в директории.

Владимир Борзенков
Владимир Борзенков | Репутация: 592 (Специалист) 26 июля 2009 в 20:27

Кроме определения имеется в папке файлы с помощью "scandir", можно воспользоваться довольно простой функцией "Deletedir"...";"

Денис Майков
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Стас Роговский
Стас Роговский | Репутация: 112 (Кандидат) 8 июля 2009 в 10:41

Написать маленький сервер для запуска на другой машине. Он и будет работать с портом. А ваша програма будет работать уже с сервером.

Ильдар Еникеев
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Владимир Борзенков
Владимир Борзенков | Репутация: 592 (Специалист) 25 мая 2009 в 22:10

Да. Является языком высокого уровня.

Кирилл Букаев
Вопрос по операции вставки << в C++. Код:int x=5;cout << x << x++; Почему получается 6_5?
Что справа начинается интерпретирование? А в префиксной форме получается 6_6..
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Вадим Великодный
Вадим Великодный | Репутация: 106 (Кандидат) 24 мая 2009 в 04:22

speianaurel
Я тоже только что проверил. На новом линуксовском g++ для первого примера получилось «656», для второго — «7675». Впрочем, второй пример ещё более некорректен, там всё зависит от компилятора, т.к. порядок вычисления операдов в общем случае не оговаривается стандартом.
Не знаю как у вас, но мой компидятор при компиляции выдает (совершенно справедливое) предупреждение о возможном неопределенном поведении.
Для подтверждения своего объяснения сошлюсь на раздел 6.2.2 специального издания «Языка программирования C++» Страуструпа. Там написано, что порядок вычисления аргументов операции неопределен за исключением операций «,», «&&» и «||».
Там же, в разделе 6.2 приведен список операций с приоритетами, в котором можно видеть, что операция << иметт более низкий приоритет, чем ++. Очевидно, что в выражении (а это именно выражение)
cout<<x<<x++<<x;
нет операций кроме << и ++. Так как ++ имеет больший приоритет, она выполняется первой, в итоге получаем что-то вроде
cout<<6<<5<<6;
А это уже выводится как обычно.
Кстати, Страуструп пишет, что старым компиляторам не стоит особо доверять из-за мелких несовместимостей и несоответствий стандарту. Проверьте, если есть возможность, еще каким-нибудь компилятором.
Чтобы окончательно развеят сомнения, предлагаю найти в каталоге include из комплекта вашего компилятора файл ostream.h и убедиться, что никакого чтения справа налево нет. Есть перегруженная операция <<, которая если слева находится объект типа ostream, а справа — объект известного типа, кидает правый операнд в поток.
P.S. Рекомендую почитать о Sequence points. Например это: http://alenacpp.blogspot.com/2005/11/sequence-points.html

Аурел Спеян
Аурел Спеян | Репутация: 109 (Кандидат) 24 мая 2009 в 14:22

Попробовал в Dev C++
код int x=5;cout<<x<<x++;выводит 55.
а если набрать кодint x=5;cout<<x<<x++<<x++<<x++;выведит 5567
тоесть выходит что значения вычисляются слева на право по порядку, не смотря на более высокий приоритет инкремента.
Из всех этох эксперементов видно что что различные компиляторы по разному воспринимают одну и туже ситуацию.
Спасибо Вам большое за ссылку.Было интересно почитать.