Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Пожалуйста, помогите решить задачки по Pascal (http://www.tehnari.ru/f43/t11555/)

marina1602 19.05.2008 19:11

Пожалуйста, помогите решить задачки по Pascal
 
Пожалуйста помогите решить несколько задачек,а то я нитё не понимаю :( Плиз плиз плиз! Я буду очень благодарна!


Линейные алгоритмы:
1)Заданы два целых числа k и d. Используя только арифметические операции, найдите целую и дробную части от деления k на d.
2)Дано действительное число a. Не пользуясь никакими другими операциями кроме умножения, получить a21 за шесть операций; ("21"-в степени)


Условные операторы:
1)Даны два числа. Найти меньшее из них.



Оператор выбора:
1)Дано целое число в диапазоне 1 – 5. Вывести строку — словесное описание соответствующей оценки (1 — "плохо", 2 — "неудовлетворительно", 3 — "удовлетворительно", 4 — "хорошо", 5 — "отлично").


Операторы цикла:

1)Найти все числа, которые делятся на N среди:
всех двухзначных чисел;
2)Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (не включая сами эти числа), в порядке их убывания, а также количество N этих чисел.


Массивы:

1)Дан целочисленный массив размера N. Вывести вначале все его четные элементы, а затем — нечетные.
2)Имеется целочисленный массив n*m элементов.

Символы и строки:

1)Подсчитать, сколько раз в предложенном тексте встречается символ «?».





Воть! Спасибки заранее! Оч прошу...оч оч нужно!

AlexZir 19.05.2008 19:20

Цитата:

Сообщение от marina1602
2)Дано действительное число a. Не пользуясь никакими другими операциями кроме умножения, получить a21 за шесть операций; ("21"-в степени)

Вы точно уверены в правильности задания? Вообще-то при умножении показатели степеней складываются, если конечно речь не идет о битовых операциях

marina1602 19.05.2008 19:23

Нам дали вот такую формулировку задания,это точно..Сори я не знаю,что такое Битовые операции

AlexZir 19.05.2008 19:24

Цитата:

Сообщение от marina1602
Условные операторы:
1)Даны два числа. Найти меньшее из них.

Код:

program mid;
var a,b: real;
begin
readln(a,b);
if a<b then writeln('Меньшее число =', a) else writeln('Меньшее число =', b);
end.


AlexZir 19.05.2008 19:30

Цитата:

Сообщение от marina1602
Оператор выбора:
1)Дано целое число в диапазоне 1 – 5. Вывести строку — словесное описание соответствующей оценки (1 — "плохо", 2 — "неудовлетворительно", 3 — "удовлетворительно", 4 — "хорошо", 5 — "отлично").

Код:

program ball;
label vvv;
var i: integer;
begin
vvv: readln(i);
if (i<1) or (i>5) then goto vvv;
case i of
1: writeln('плохо');
2: writeln('неудовлетворительно');
3: writeln('удовлетворительно');
4: writeln('хорошо');
5: writeln('отлично');
end;
end.


AlexZir 19.05.2008 19:36

Цитата:

Сообщение от marina1602
Операторы цикла:
1)Найти все числа, которые делятся на N среди:
всех двухзначных чисел;

Допустим что N - целое число, в противном случае нужно просто изменить тип переменной.
Код:

program spisok;
var N,i: integer;
begin
readln(N);
for i:=10 to 99 do
if i/N=trunc(i/N) then writeln(i);
end.

Результатом выполнения программы будет столбик двузначных чисел, которые делятся на N без остатка.

AlexZir 19.05.2008 19:42

Цитата:

Сообщение от marina1602
Операторы цикла:
2)Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (не включая сами эти числа), в порядке их убывания, а также количество N этих чисел.

Код:

program analiz;
var i,a,b,s: integer;
begin
readln(a,b);
s:=0;
for i:=b-1 to a+1 downto
begin
writeln(i);
s:=s+1;
end;
writeln('сумма чисел равна ',s);
end.


marina1602 19.05.2008 19:45

Имеется целочисленный массив n*m элементов.
Каких элементов в массиве больше отрицательных или положительных?

AlexZir 19.05.2008 20:01

Цитата:

Сообщение от marina1602
Массивы:
1)Дан целочисленный массив размера N. Вывести вначале все его четные элементы, а затем — нечетные.

Код:

program massiv;
var i, N: integer;
    a: array [1..1000] of integer;
begin
randomize;
readln(N);
for i:=1 to N do a[i]:=random*30+1;
i:=2;
while i<=N do
begin writeln(a[i]); i:=i+2; end;
i:=1;
while i<=N do
begin writeln(a[i]); i:=i+2; end;
end.


AlexZir 19.05.2008 20:16

Цитата:

Сообщение от marina1602
Массивы:
Имеется целочисленный массив n*m элементов.
Каких элементов в массиве больше отрицательных или положительных?

Условимся считать 0 - положительным числом, тогда решение будет таким:
Код:

program summ;
var i,j,n,m: integer;
    a: array [1..1000, 1..1000] of integer;
    pol, otr: integer;
begin
randomize;
readln(n,m);
for i:=1 to n do for j:=1 to m do readln(a[i,j]);
pol:=0;
otr:=0;
for i:=1 to n do
for j:=1 to m do
if a[i,j]>=0 then pol:=pol+1 else otr:=otr+1;
if pol>otr then writeln('положительных чисел больше') else if pol<otr then writeln('отрицательных чисел больше') else writeln('положительных и отрицательных чисел поровну');
end.



Часовой пояс GMT +4, время: 08:10.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.