Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите сделать РГР
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
sergey121212
помогите пожалуйста девушке сделать ргр очень нужно. Спасибо.


Задача 1
Операторы присваивания, ввод и вывод информации

Определите стоимость набора, в который входят следующие конфеты (стоимость упаковки составляет U грн.):
Название Вес Стоимость
Петровские 200 г Кгрн. (1 кг)
Воронежские 300 г Ргрн. (1кг)
Чародейка 250 г RrpH. (I кг)
Факел 150 г Вгрн. (1 кг)
Ласточка 200 г L грн. (1 кг)
Упаковка - U грн. (1 кг)

Задача 2 Условный оператор

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

Задача 3 Операторы цикла

Пусть дано натуральное число п. Вычислите: 1*2 + 2*3*4 +... + п *... * 2п.

Задача 4
Регулярные таны данных. Одномерные массивы

Пусть даны натуральные числа k. n. вещественные числа а1,a2,…akn Получите последовательность min(а1, а2,… аk), min(ak+1, ak+2,… а2k),
min(ak(n-1)+1,… аkn).

Задача 5
Двумерные массивы. Процедуры и функции

Пусть задана вещественная матрица. Рассматривая ее как вектор строк, упорядоченные по количеству нечетных элементов в каждой стро¬ке.

Задача 6
Строки, записи, множества. Обзор всех пройденных тем

Пусть задана символьная матрица размерности n х m. Напечатайте все символы, находящиеся в столбцах, элементы которых симметричны.
мисс_граффити
пусть девушка начинает делать - мы поможем...
sergey121212
У нее сроки горят, я уже 1 сделал помогите с чем можете.
Lapp
Цитата(sergey121212 @ 8.11.2011 23:27) *
У нее сроки горят, я уже 1 сделал помогите с чем можете.

Какую ты ей сделал? Покажи. Я обещаю тебе за одну сделанную сделать две ))
sergey121212
Сделал первую

Вот

program lb1;
uses crt;
const k=5;p=6;r=8.2;b=1.2;l=7.8; u=7.5;
var st:real;
begin
st:=k*0.2+0.3*p+0.25*r+0.15*b+0.2*l+u;
writeln('Стоимость набора',st:7:3);
end.


Если можно помоги, с 6 и 4
Lapp
Хорошо. Обещал - сделаю..

6. Пусть задана символьная матрица размерности n х m. Напечатайте все символы, находящиеся в столбцах, элементы которых симметричны.
const
n= 4;
m= 5;

var
a: array[1..n,1..m] of char;
i,j: integer;

begin
// я не знаю, как ты собираешься задавать эту матрицу, считаю ее данной
for j:=1 to m do begin
i:=1;
while (i<=n div 2) and (a[i,j]=a[n-i+1,j]) do inc(i);
if i>n div 2 do begin
for i:=1 to n do write(a[i]);
writeln
end
end;
readln
end.

- эту я не проверял, писал прямо тут.

4. Пусть даны натуральные числа k. n. вещественные числа а1,a2,…akn Получите последовательность min(а1, а2,… аk), min(ak+1, ak+2,… а2k),
min(ak(n-1)+1,… аkn).
const
k= 5;
n= 10;

var
a: array[1..k*n] of real;
b: array[1..n] of real;
i,j: integer;
min: real;

begin
for i:=1 to k*n do a[i]:= Random*100-50;
writeln('original array:');
for i:=1 to k*n do write(a[i]:8:2);
writeln;
for i:=1 to n do begin
min:= a[k*(i-1)+1];
for j:=k*(i-1)+2 to k*i do if a[j]<min then min:= a[j];
b[i]:= min
end;
writeln('array of minimums in ',n,' searies of ',k,' elements:');
for i:=1 to n do write(b[i]:8:2);
writeln;
readln
end.
sergey121212
Помоги с 6 что-то не получается

const
n= 4;
m= 5;

var
a: array[1..n,1..m] of char;
i,j: integer;

begin
FOR I:=1 TO M DO BEGIN

FOR J:=1 TO N DO
readln(a[i,j]);
END;

for j:=1 to m do begin
i:=1;
while (i<=n div 2) and (a[i,j]=a[n-i+1,j]) do inc(i);
if ( i> (n div 2)) do begin
for i:=1 to n do write(a[i]);
writeln
end
end;
readln
end.



Добавлено через 1 мин.
А за сделанную вторую поможешь сделать 3 и 5
Lapp
Цитата(sergey121212 @ 9.11.2011 22:30) *
Помоги с 6 что-то не получается
Поскольку я не проверял, была парочка опечаток. Еще, я подправил твое заполнение, теперь надо вводить так:
12345
qwert
qwert
10305

И результат будет такой:
1qq1
3ee3
5tt5

Вот исправленный код:
const
n= 4;
m= 5;

var
a: array[1..n,1..m] of char;
i,j: integer;

begin
FOR I:=1 TO n DO begin
FOR J:=1 TO m DO read(a[i,j]);
readln
end;
for j:=1 to m do begin
i:=1;
while (i<=n div 2) and (a[i,j]=a[n-i+1,j]) do inc(i);
if i>n div 2 then begin
for i:=1 to n do write(a[i,j]);
writeln
end
end;
readln
end.
Цитата
А за сделанную вторую поможешь сделать 3 и 5
Да ).
sergey121212
Вот вторая

Код
program zad2;

uses crt;
const t=0.001;  //точность сравнения с нолем
type Point=record  //тип точка
           x,y:real;
           end;
function Dlina(a,b:Point):real; //длина стороны
begin
Dlina:=sqrt(sqr(a.x-b.x)+sqr(a.y-b.y));
end;
function Plosh(a,b,c:Point):real; //площадь
var p:real;
begin
p:=(Dlina(a,b)+Dlina(b,c)+Dlina(a,c))/2;
Plosh:=(sqrt(p*(p-Dlina(a,b))*(p-Dlina(b,c))*(p-Dlina(a,c))));
end;
function H(a,b,c:Point):real;  //длина высоты
begin
H:=2*Plosh(a,b,c)/Dlina(a,b);
end;
procedure Sort(a,b,c:real;var mn,sr,mx:real); //сортировка по возрастанию
begin
mx:=a;
if b>mx then mx:=b;
if c>mx then mx:=c;
mn:=a;
if b<mn then mn:=b;
if c<mn then mn:=c;
sr:=a+b+c-mx-mn;
end;
var a,b,c:Point;
    x,y,z:real;
begin
writeln('Введите координаты X,Y вершин треугольника:');
write('A:  ');readln(a.x,a.y);
write('B:  ');readln(b.x,b.y);
write('C:  ');readln(c.x,c.y);
if  Plosh(a,b,c)<t then writeln('Это не треугольник!')
else
begin
  Sort(Dlina(a,b),Dlina(b,c),Dlina(a,c),x,y,z);
  writeln('Длины сторон в порядке возрастания = ',x:0:2,' ',y:0:2,' ',z:0:2);
  writeln('Площадь =',Plosh(a,b,c):0:2);
  Sort( H(a,b,c),H(a,c,b),H(b,c,a),x,y,z);
  writeln('Длины высот в порядке возрастания = ',x:0:2,' ',y:0:2,' ',z:0:2);
end;
readln
end.
sergey121212
3-тью сделал

Код
uses crt;
Var i,j,t,y:integer;
    pr,S:real;
begin
writeln('Enter n');
readln(t);
S:=0;
for i:=1 to t do begin
  y:= i;
  for j := i+1 to 2*i do y:= y*j;
  S:= S + y;
end;
writeln('SUM:=',S);
readln
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.