Новые сообщения · Правила  
Модератор форума: Berestovskiy  
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Решения задач на Паскале!Срочно нужно!
Решения задач на Паскале!Срочно нужно!
Держи))

var
a:array[1..4,1..4]of byte;
i,j,s:integer;
begin
for i:=1 to 4 do
for j:=1 to 4 do begin
read(a[i,j]);
if j>i then s:=s+a[i,j];end;
writeln(s);
end.

"Спасибо" принимается повышением репутации ( Зелёный плюсик:) ). Спасибо


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
141 | Автор: Berestovskiy | 2011-05-30, 19:12   |  Репутация: [ + 211 ]
Добрый день)помогите пожалуйста решить задачи по 3-м темам:
1)Операторы цикла: решите каждую задачу тремя способами: используя операторы цикла for,while и repeat.
Вывести на экран все трехзначные числа в которых хотя бы две цифры повторяются.
2)Массивы: Дан массив размером nxn, элементы которого целые числа.
В каждом столбце найти минимум и заменить его нулем.
3)Строки:Разработать программу, которая для заданной строки s определяет, сколько различных символов встречается в строке.

помогите получить допуск к экзамену, буду очень благодарен!!!

задача 2 вроде получилась, программа вычесляет,но не верно с двухзначными числами, посмотрите что не так плз...
Code
var a:array[1..100,1..100] of integer;
   n,x,y,min,z:integer;
   begin
   write('N:=');
   readln(n);
   writeln('Vvedite znachenie');
   for x:=1 to n do
   begin
   for y:=1 to n do
   read(a[x,y]);
   end;
   for x:= 1 to n do
   begin
   min:=a[1,x];
   for y:=1 to n do
   begin
   if a[x,y]<min then
   begin
   min:=a[y,x];
   end;
   end;
   for z:=1 to n do
   begin
   if min=a[z,x] then a[z,x]:=0;
   end;
   end;
   writeln;
   writeln('Rezultat');
   for x:=1 to n do
   begin
   for y:=1 to n do
   write(a[x,y],' ');
   writeln;
   end;
   readln;
   end.
142 | Автор: stealler | 2011-05-31, 13:25 | Изменено: stealler - Вт, 2011-05-31, 14:12   |  Репутация: [ + 0 ]
program zapic ;

type cifra=record
c,i:integer;s:set of char;
m:set of 0..9;
s1:array[0..9] of 0..9;end;

var a,b:cifra;i:integer;e,r:integer;t:string;
begin
writeln('vvedite chislo 1');readln(a.i);
writeln('vvedite chislo 2');readln(b.i);

str(a.i,t);
a.c:=length(t);a.s:=[];a.m:=[];
for i:=1 to a.c do begin a.s:=a.s+[t[i]];
val(t[i],e,r); for i:=1 to a.c do begin a.s1[i]:=i;
a.m:=a.m+[e];

for i:=1 to 9 do
if i in a.m then
writeln(i)end;end;

str(b.i,t);
b.c:=length(t);b.s:=[];b.m:=[];
for i:=1 to b.c do begin b.s:=b.s+[t[i]];
val(t[i],e,r); for i:=1 to b.c do begin b.s1[i]:=i;
b.m:=b.m+[e];

for i:=1 to 9 do
if i in b.m then
writeln(i)end;end;

if a.i > b.i then writeln
('v 1 chisle cifr bolshe') else write
('vo 2 chisle cifr bolshe');
readln; readln;
end.

Задача типа рекорд-запись.
Описать следующую стректуру данных:
1)число типа integer(у меня это переменная i)
2)общее колличество цифр в числе( переменная с)
3)цифры образующие число( преобразовать в строку и подсчитать потом обратно преобразовывает в цифры и тоже считает переменные s ,s1, процедуры str и val)
4)множество цифр входящих в число (переменная m)
Ввести два числа и напечатать то из них в котором больше разных цифр.

у меня она неправильно иногда работает и сказали попробуй вывести множество ну я это в конце сделала через цикл(for который в конце каждого описания числа) но это не главное вообщем ОНА РАБОТАЕТ НЕПРАВИЛЬНО ПОМОГИТЕ СКАЖИТЕ ЧТО НЕ ТАК!!!

Добавлено (31.05.11, 13:28)
---------------------------------------------
Написать и добавить к модулю функции которые вычисляют общую сумму элементов массива, сумму положительных элементов массива и сумму отрицательных элементов массивов.т,е, будет всего 3 функции и их добавить к модулю будет один массив и в нем три вычисления.

там осталось только дописать функцию к модулю для общей суммы а она у меня в программе считает поэтому надо добавит функцию к самому модулю,там у меня в программе считает общую сумму а мне надо добавит к модулю общую ,ну уже отрицат и положит суммы есть к ним добавить общую только либо в одной процедуре либо другую может и так и так попробовать не знаю точно.


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

Добавлено (31.05.11, 13:28)
---------------------------------------------
Модуль:

Unit array1;
Interface
Const razmer=20;
indexbase=1;
Error=-1000;
Maxind:integer=indexbase-1;
Type elemtype=integer;
massiv=array[indexbase..indexbase+razmer-1] of elemtype;
Var m:massiv;
Procedure setmaxind (m:integer);
Function Getmaxind:integer;
Procedure setelement(i:integer;v:elemtype);
Function Getelement(i:integer):elemtype;
Procedure fill(v:elemtype);
Procedure print;
Function summ (p:boolean):elemtype;

Implementation
Function goodindex(I,m:integer):Boolean;
Begin goodindex:=false;
If i < indexbase then
Begin
writeln(i,' < min= ', indexbase);
Exit
End;
If i > m then
Begin
writeln(i, ' > max= ',m);
Exit
End;
Goodindex:=true
End;

Procedure Setmaxind(m:integer);
Begin
maxind:=indexbase-1;
If goodindex (m,indexbase+ razmer-1)
Then maxind:=m
End;

Function Getmaxind:integer;
Begin
Getmaxind:=maxind
End;

Procedure Setelement(I:integer;v:elemtype);
Begin
if goodindex(I, maxind)
Then m[I]:=V
End;

Function Getelement (i:integer):elemtype;
Begin
if goodindex (I, maxind)
Then Getelement:=m[I]
Else Getelement:=error
End;

Procedure Fill(V:elemtype);
Var i:integer;
Begin
for I:=indexbase to maxind
Do setelement(I,random (v)-50)
End;

Procedure Print;
Var I:integer;
Begin
for I:=indexbase to maxind
Do write (getelement(i),' ');
Writeln;
End;

Function summ(p:boolean):elemtype;
var s,i:integer;
begin
s:=0;
for i:=indexbase to maxind do
if p then begin if m[i]>0 then s:=s+m[i]; end
else begin if m[i]<0 then s:=s+m[i]; end;
summ:=s;
// write (s);
// writeln
end;

End.

Программа:

Uses array1;
var i,s1,s2:integer;
l:boolean;
Begin
writeln ('vvedite dlinu massiva');
read (i);
setmaxind (i);
fill (79);
l:=true;
s1:=summ (l);
l:=false;
s2:=summ (l);
Print;
write('summa pologitelnyh elementov = ');
writeln (s1);
write('summa otritzatelnyh elementov = ');
writeln (s2);
write ('summa vseh elementov = ',s1+s2);
End.

143 | Автор: Diamant | 2011-05-31, 13:28   |  Репутация: [ + 0 ]
143 | Автор: Diamant | 2011-05-31, 13:28   |  Репутация: [ + 0 ]
Убиться об стену...нихрена не понятно в твоём коде, пиши только задание, будем делать:)

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
144 | Автор: Berestovskiy | 2011-05-31, 14:27   |  Репутация: [ + 211 ]
Здравствуйте! Помогите, ПОЖАЛУЙСТА, решить задачу!!!
ввести массив А, размером m x n ( 3 x 4 или 5 x 6 не больше!!!), по строкам и вычислить:
1) max и min значение массива
2) число нечётных чисел в массиве
3) для каждой строчки max и min значение и число ненулевых строк.
4) составить блок схему и математическую модель
145 | Автор: malova | 2011-05-31, 15:30   |  Репутация: [ + 0 ]
var
a:array[1..10,1..10]of byte;
n,m,i,j,p,pmin,z:byte;
begin
read(n,m);pmin:=255;
for i:=1 to n do
for j:=1 to m do begin
read(a[i,j]);
if a[i,j]>p then p:=a[i,j];
if pmin>a[i,j] then pmin:=a[i,j];
if a[i,j]mod 2<>0 then z:=z+1;end;
writeln(p,' ',pmin);
write(z);
end.

3 задание не понятно...

"Спасибо" принимается повышением репутации ( Зелёный плюсик:) ). Спасибо


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
146 | Автор: Berestovskiy | 2011-05-31, 16:45   |  Репутация: [ + 211 ]
3) для каждой строчки массива высчитать max и min значение. и подсчитать число ненулевых строк в массиве
147 | Автор: malova | 2011-05-31, 17:09   |  Репутация: [ + 0 ]
Задача типа рекорд-запись.
Описать следующую стректуру данных:
1)число типа integer
2)общее колличество цифр в числе
3)цифры образующие число
4)множество цифр входящих в число
Ввести два числа и напечатать то из них в котором больше разных цифр.

Добавлено (31.05.11, 17:46)
---------------------------------------------
Написать и добавить к модулю(он у меня написан) функции которые вычисляют общую сумму элементов массива, сумму положительных элементов массива и сумму отрицательных элементов массивов.

Добавлено (31.05.11, 17:47)
---------------------------------------------
Модуль:

Unit array1;
Interface
Const razmer=20;
indexbase=1;
Error=-1000;
Maxind:integer=indexbase-1;
Type elemtype=integer;
massiv=array[indexbase..indexbase+razmer-1] of elemtype;
Var m:massiv;
Procedure setmaxind (m:integer);
Function Getmaxind:integer;
Procedure setelement(i:integer;v:elemtype);
Function Getelement(i:integer):elemtype;
Procedure fill(v:elemtype);
Procedure print;
Function summ (p:boolean):elemtype;

Implementation
Function goodindex(I,m:integer):Boolean;
Begin goodindex:=false;
If i < indexbase then
Begin
writeln(i,' < min= ', indexbase);
Exit
End;
If i > m then
Begin
writeln(i, ' > max= ',m);
Exit
End;
Goodindex:=true
End;

Procedure Setmaxind(m:integer);
Begin
maxind:=indexbase-1;
If goodindex (m,indexbase+ razmer-1)
Then maxind:=m
End;

Function Getmaxind:integer;
Begin
Getmaxind:=maxind
End;

Procedure Setelement(I:integer;v:elemtype);
Begin
if goodindex(I, maxind)
Then m[I]:=V
End;

Function Getelement (i:integer):elemtype;
Begin
if goodindex (I, maxind)
Then Getelement:=m[I]
Else Getelement:=error
End;

Procedure Fill(V:elemtype);
Var i:integer;
Begin
for I:=indexbase to maxind
Do setelement(I,random (v)-50)
End;

Procedure Print;
Var I:integer;
Begin
for I:=indexbase to maxind
Do write (getelement(i),' ');
Writeln;
End;

148 | Автор: Diamant | 2011-05-31, 17:47   |  Репутация: [ + 0 ]
помогите решить задачи пожалуста очень нужно:
1. Знайти кількість цифир даного числа, які більші за n. Чи правильно, що число складається тільки з парних цифер.
2. Знайти кількість простих дільників даного числа.
149 | Автор: Maksimdub | 2011-05-31, 21:03   |  Репутация: [ + 0 ]
Всем привет)
Очень прошу сделать задания для здачи зачета по программированию...
Буду очень благодарен!)

№1. Программирование интерационных процессов вычесления с заданной точностью
Задание: 1)Вычислитьна эвм значение интеграла $$y=\int_{a}^{b}{f(x)dx}$$ методом прямоугольников с основанием выбора шага интегрированияна заданном интервалеинтегрирования [a,b] с заданной точностью Е. 2)Вычислить на ЭВМ длину кривой на заданном интервале [a,b] с заданной точночтью Е.
Функция: $$x^{x}*(1+ln(x))$$ ;Интервал: [1;3]; Е=0,0005

№2. Программирование алгоритмов повычеслению корней уравнений.
Задание: На интервале [a,b] найти с точностью Е=10^-5 корни уравнения f(x)=0 заданным методом деления отрезка пополам.
а=1;
b=3;
f(x)=ln(x)-2*x+3, методом хорд!
150 | Автор: Ghost | 2011-06-02, 22:54   --------->
Привет ВСем! ПОМОГИТЕ ПОЖАЛУЙСТА.НУЖНО ОЧЕНЬ...Мне дали курсовую которую надо сдавать уже на проверку завтра..Если кто может помочь пишите в аську: 606039119..Выручите меня... =(

Добавлено (05.06.11, 18:30)
---------------------------------------------
Я сам пробовал, делал , но не получается ....

151 | Автор: Lamarion | 2011-06-05, 18:30   |  Репутация: [ + 0 ]
Привет Всем!!!!!
Нужна помощь......... отчислят, если не сдам программу по паскаль!!!!!!

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

Посчитать значение функции
f(x)={(-x-1 при x<-1,
0 при-1≤x<0,
x^2 при 0≤x<1,
1/x в других случаях)

В интервале x∈[-3;3] с шагом 0,25.
152 | Автор: leskov | 2011-06-06, 13:55   |  Репутация: [ + 0 ]
Здраствуйте, помогите пожайлусто дурёхе с задачей, поставили на специальности менеджмент предмет ОКТ, а я в этом полная 0... без задачки к сессии не допустят(

"Скласти паскаль програму, яка обчислює значення виразу, використовуючи підпрограму-функцію"
если невидно:
g = числитель: 4,5a! + 17,4b!
знаменатель: 0,2x!
153 | Автор: Shustic | 2011-06-08, 07:45 | Изменено: Shustic - Ср, 2011-06-08, 07:50   |  Репутация: [ + 0 ]
пожалуйста, решите. я дуб в паскале!

1.В радиоателье хранятся квитанции о сданной в ремонт радиоаппаратуре. Каждая квитанция содержит следующую информацию: наименование группы изделий(телевизор, радиоприемник и т. п.),марку изделия, дату приемки в ремонт, состояние готовности заказа (выполнен, не выполнен). Вывести информацию о состоянии заказов на текущие сутки по группам изделий.
2.const m=8 n=13
type матрица = array {1..n,1..m} of real;
Описать процедуру swap (A,B) меняющую местами максимальные элементы матриц. A и B. Считать что в каждой матрице только один максимальный элемент.
4.Рекурсия. function f(n:integer):integer;
begin if n>100 then f:=n-10
else f:=f(f(n+11))
end.
Вычислить f(106), f(99), f(85). Какие вообще значения принимает эта функция
5. Типизированные файлы. Описать процедуру append(f, g, h) от трех файлов типа letters, которая записывает в файл f сначала все элементы файла g, a затем - все элементы файла h.
6.Описать процедуру prisv(t1, t2), переписывающую в текстовый файл t1 содержимое текстового файла t2, но без пустых строк.
7.Процедуры.14.31. type имя=(Вася, Володя, Ира, Лида, Марина, Миша, Наташа, Олег, Оля, Света, Юля);
гocти=set of имя;
группа=аrrау [имя] of гости;
Описать логическую функцию Везде(ГР), определяющую, есть в группе ГР хотя бы один человек, побывавший в гостях у всех остальных из группы (ГР[х]—множество людей, бывших в гостях у человека с именем х;
x принадлежит (ГР[x])
8.Найти область определения функции D(f) ее нули, экстремумы и множества значении W(f). Построить график функции, нарисовав и разметив оси координат y=5/x. СПАСИБО ЗАРАНЕЕ
154 | Автор: dooo | 2011-06-08, 13:53   |  Репутация: [ + 0 ]
Добрый день)
у меня такая просьба, помогите пожалуйста решить задачу,срочно нужно , а то к экзаменам не допустят:
Задача
тема Справочник лекарственных препаратов
Исходные данные • Наименование(баралгин)
• Направление(обезбаливающее)
• Еденицы измерения(таблетки)
• Емкость упаковки(50 шт)
• Цена 1 упаковки(25.50 р)
• Количество упаковок(2)
• Дозировка(3 раза в день по 2 таблетки)
• Общая стоимость(вычислить)

найти • Список препаратов по направлению
• Список препаратов по цене дороже определенной суммы
• Самый дешевый препарат
155 | Автор: Ksenya | 2011-06-08, 15:29   |  Репутация: [ + 0 ]
здравствуйте
помогите решить задачу
В массиве A=(a1, а2, ..., аn) все элементы, равные нулю, поставить сразу после максимального элемента данного массива. Элементы массива вводить с клавиатуры.
156 | Автор: LIFEfreedom | 2011-06-11, 19:27   |  Репутация: [ + 0 ]
Ребят помогите решить задачу!!!
Написать программу с использованием функций.
Ввести с клавиатуры два целых числа.Отобразить на экране символы,соответствующие данным числам.Числа в интервале 1-255. Заранее огромное спасибо!!
157 | Автор: DjAlexDark | 2011-06-12, 08:58 | Изменено: DjAlexDark - Вс, 2011-06-12, 08:58   |  Репутация: [ + 0 ]
Quote (LIFEfreedom)
здравствуйте помогите решить задачу В массиве A=(a1, а2, ..., аn) все элементы, равные нулю, поставить сразу после максимального элемента данного массива. Элементы массива вводить с клавиатуры.


Пример ввода и вывода в студию..:)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
158 | Автор: Berestovskiy | 2011-06-12, 09:43   |  Репутация: [ + 211 ]


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
158 | Автор: Berestovskiy | 2011-06-12, 09:43   |  Репутация: [ + 211 ]
Quote (DjAlexDark)
Отобразить на экране символы,соответствующие данным числам.


Немного не понятно, поясни:)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
159 | Автор: Berestovskiy | 2011-06-12, 09:44   |  Репутация: [ + 211 ]
то есть нужно ввести два числа и отобразить на экране символы,соответствующие этим числам(я так понимаю по ASCII кодам)и все это надо написать с использованием функции (function)
160 | Автор: DjAlexDark | 2011-06-12, 12:57   |  Репутация: [ + 0 ]
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Решения задач на Паскале!Срочно нужно!
Поиск: