Вопрос № 78675: Линейный алгоритм.
Напишите пожалуйста программы к следующим заданиям:
1. Исследовать положительное вещественное число А, определив значения следующих величин: целую часть, дробную часть, значение арифметического квадратного корня, ...Вопрос № 78676: Массивы.
Напишите пожалуйста программы к следующим заданиям:
4. Задан массив Х[п]. К четным элементам прибавить А, а из элементов с четными номерами вычесть В.
5. Элементы массива Х[п] циклически сдвинуть на одну позицию вл...Вопрос № 78677: Алгоритм цыклической структуры.
Напишите пожалуйста программы к следующим заданиям:
7. Вычеркните из данного слова все буквы, совпадающие с его последней буквой.
8. Определить все простые числа, не превосходящие заданного N...Вопрос № 78697: Уважаемые эксперты, не могли бы Вы помочь составить программу которая распечатывает таблицу A(MxN) по спирали против часовой стрелки, начиная с правого верхнего угла.
только пожалуйста, если можно полностью рабочую программу, а не кусочки. И...Вопрос № 78698: Уважаемые эксперты не могли бы Вы мне составить рекурсивную программу перебора перестановок.
Пожалуйста полностью всю уже рабочую программу, если можно с подробным объяснением.
Спасибо....
Вопрос № 78.675
Линейный алгоритм.
Напишите пожалуйста программы к следующим заданиям:
1. Исследовать положительное вещественное число А, определив значения следующих величин: целую часть, дробную часть, значение арифметического квадратного корня, остаток от деления
на 5, символ по целой части числа. Программу составить с контролем ввода данных.
2. Упорядочить по возрастанию последовательность трех чисел х, у, z.
3. Определить наименьшее общее кратное двух натуральных чисел.
Отправлен: 17.03.2007, 08:57
Вопрос задал: Soft2 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Яна
Здравствуйте, Soft2!
1.
Целая часть A div 1
Дробная часть A - (A div 1)
Корень sqrt(A)
Остаток деления на 5 A mod 5
2. Всего -то шесть вариантов. Нужно просто посравнивать числа.
3. Перебор от наибольшего из этих чисел до их произведения с проверкой что это число делится на оба числа.
Мне кажется Вы в конспект даже не заглядывали. Стоит таки заглянуть.
Ответ отправила: Яна (статус: Студент)
Ответ отправлен: 17.03.2007, 09:29
Отвечает: Gh0stik
Здравствуйте, Soft2!
1) Есть стандартные функции которые находят эти величины: frac(t) - возвращает дробную часть числа; int(t) - возвращает целую часть числа; sqrt(t) - возвращает квадратный корень числа; k mod n - остаток отделения числа k на число n (для Вашего случая k mod 5), только данная операция определена только для целых чисел.
2) Вам ответили в предыдущем ответе.
3) Определить наименьшее общее кратное двух натуральных чисел.
Вот код решения данной задачи...
var a,b,x,y:integer;
begin
write('Введите первое число a=');readln(a);
write('Введите второе число b=');readln(b);
x:=a; y:=b;
while (a<>b) do
if a>b then a:=a-b else b:=b-a;
writeln('НОД(',x,',',y,')=',a);
write('НОK(',x,',',y,')=',x*y/a:3:1);
readln;
end.
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 17.03.2007, 15:15
Вопрос № 78.676
Массивы.
Напишите пожалуйста программы к следующим заданиям:
4. Задан массив Х[п]. К четным элементам прибавить А, а из элементов с четными номерами вычесть В.
5. Элементы массива Х[п] циклически сдвинуть на одну позицию влево.
6. Задан массив А[п,т]. Из массива А сформируйте массив D[k], развернув его по столбцам.
Отправлен: 17.03.2007, 08:58
Вопрос задал: Soft2 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Яна
Здравствуйте, Soft2!
4. for i:=1 to n do
begin
if x[i] mod 2 = 0 then x[i]=x[i]+A;
if i div 2=0 then x[i]:=x[i]-B; - Ошибка!!!
end;
Правильно так: if not odd(i) then x[i]:=x[i]-B;
-~= Gh0stik =~-
Ответ отправила: Яна (статус: Студент)
Ответ отправлен: 17.03.2007, 09:32
Отвечает: Gh0stik
Здравствуйте, Soft2!
Обращаю Ваше внимание на то что все массивы я заполняю при помощи генератора случайных чисел.
4) const n=7;
var x:array [1..n] of integer;
i,a,b:integer;
begin
write('Input A=');read(a);
write('Input B=');read(b);
randomize;
for i:=1 to n do
begin x[i]:=random(44);write(x[i]:3); end;
for i:=1 to n do
begin
if not odd(x[i]) then x[i]:=x[i]+a;
if not odd(i) then x[i]:=x[i]-b;
end;
writeln;
for i:=1 to n do write(x[i]:3);
end.
5) const n=7;
var x:array [1..n] of integer;
i,a:integer;
begin
randomize;
for i:=1 to n do
begin x[i]:=random(44);write(x[i]:3); end;
a:=x[1];
for i:=1 to n-1 do x[i]:=x[i+1];
x[n]:=a;
writeln;
for i:=1 to n do write(x[i]:3);
end.
6) Смотри приложение...
Good Luck!!!
Приложение:
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 17.03.2007, 15:47
Вопрос № 78.677
Алгоритм цыклической структуры.
Напишите пожалуйста программы к следующим заданиям:
7. Вычеркните из данного слова все буквы, совпадающие с его последней буквой.
8. Определить все простые числа, не превосходящие заданного N.
Распознавание простых чисел оформить в виде подпрограммы.
Отправлен: 17.03.2007, 09:00
Вопрос задал: Soft2 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Яна
Здравствуйте, Soft2!
Чтобы определить простое число или нет нужно проверить делится ли оно на все простые числа, которые меньше него.
Делаете массив и начинаете записывать в него простые числа, а при проверке очередного числа делите его на все элементы массива. Если остаток <> 0 для всех чисел - значит простое.
Ответ отправила: Яна (статус: Студент)
Ответ отправлен: 17.03.2007, 09:34
Отвечает: Verena
Здравствуйте, Soft2!
В первой задаче надо запомнить в отдельную переменную последний символ строки (например, var str: string; c: char; begin ... c:= str [length (str)], где length (str) определяет длину строки), потом в цикле находить функцией pos (c, str) нужный символ и тут же его удалять функцией delete.
Во второй достаточно написать функцию проверки на простое число, открыть цикл от 2 до n-1, проверять каждое число функцией и выводить на экран простые.
function Prost (x: integer): boolean;
var i: integer;
begin
Prost:= true; {изначально значение функции true}
for i:=2 to x div 2 do {цикл от 2 до половины числа х (на большие числа х делиться в любом случае не будет)}
if x mod i=0 then begin Prost:= false; break; end; {если остаток от деления х на i равен 0, то функция получает значение false и цикл прерывается}
end;
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: 6-ой класс)
Ответ отправлен: 17.03.2007, 15:29
Вопрос № 78.697
Уважаемые эксперты, не могли бы Вы помочь составить программу которая распечатывает таблицу A(MxN) по спирали против часовой стрелки, начиная с правого верхнего угла.
только пожалуйста, если можно полностью рабочую программу, а не кусочки. И пожалуйста с подробным объяснением.
Отвечает: Verena
Здравствуйте, Guzina olga alecsandrovna!
Обход организуем с помощью 4 циклов while и дополнительных счётчиков. Если посмотрите по шагам, как работает программа, то алгоритм будет понятен.
Удачи!
Приложение:
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: 6-ой класс)
Ответ отправлен: 17.03.2007, 15:12
Вопрос № 78.698
Уважаемые эксперты не могли бы Вы мне составить рекурсивную программу перебора перестановок.
Пожалуйста полностью всю уже рабочую программу, если можно с подробным объяснением.
Спасибо.
Отвечает: Gh0stik
Здравствуйте, Guzina olga alecsandrovna!
Вот код, с некоторыми коментариями: program Perestanovki;
var N,i:integer;
M:array [byte] of integer;
procedure printMas; {процедура вывода массива на экран}
var i:integer;
begin
for i:=1 to N do write(M[i]);writeln;
end;
procedure Swap(var a,b:integer); {перестановка элементов местами}
var c:integer;
begin c:=a;a:=b;b:=c end;
procedure Permutation(t: integer); {сама рекурсивная процедура}
var i: integer;
begin
for i := t to n do
begin
swap(M[t],M[i]);
if t = n then printMas { выводим массив на печать }
else Permutation(t+1);
swap(M[t],M[i]);
end;
end;
begin
write('N=');readln(N);
for i:=1 to N do M[i]:=i; {создаем массив из N элементов}
Permutation(1);
end.
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 17.03.2007, 16:27