• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

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

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Pascal. Алгоритмы.

  • Автор темы Автор темы HD-boy
  • Дата начала Дата начала

HD-boy

Ученик
Регистрация
22 Ноя 2009
Сообщения
10
Реакции
0
Баллы
0
Pascal. Алгоритмы.

Здравствуйте. Помогите пожалуйста с задачками на паскале. Задали на экзамен(

1. Даны целые числа a и b. Составить алгоритм для определения знака разности a-b. Разность не вычислять. Разрешается сравнивать числа a и b с нулем, а между собой можно сравнивать только модули a и b.

2. Составить алгоритм, в соответствии с которым с клавиатуры вводится последовательность чисел, признак окончаия ввода - нуль. Найти максимальное их введенных чисел. Определить, сколько раз оно встречалось в последовательности и превышает ли число его вхождение одну треть от общего количества введенных чисел.
 
Здравствуйте. Помогите пожалуйста с задачками на паскале. Задали на экзамен(

1. Даны целые числа a и b. Составить алгоритм для определения знака разности a-b. Разность не вычислять. Разрешается сравнивать числа a и b с нулем, а между собой можно сравнивать только модули a и b.
Код:
IF (a>0) AND (b>0) THEN
 BEGIN
   IF ABS(a)>ABS(b) THEN WriteLn('Positive')
   ELSE
   IF ABS(a)<ABS(b) THEN WriteLn('Negative')
   ELSE
   WriteLn('Zero')
 END ELSE
IF (a<0) AND (b<0) THEN
 BEGIN
   IF ABS(a)>ABS(b) THEN WriteLn('Negative')
   ELSE
   IF ABS(a)<ABS(b) THEN WriteLn('Positive')
   ELSE
   WriteLn('Zero')
 END ELSE
IF (a>0) AND (b<0) THEN
 WriteLn('Positive')
 ELSE
IF (a<0) AND (b>0) THEN
 WriteLn('Negative')
 ELSE
IF (a=0) AND (b>0) THEN
 WriteLn('Negative')
 ELSE
IF (a=0) AND (b<0) THEN
 WriteLn('Positive')
 ELSE
IF (a<0) AND (b=0) THEN
 WriteLn('Negative')
 ELSE
IF (a>0) AND (b=0) THEN
 WriteLn('Positive')
 ELSE
IF (a=0) AND (b=0) THEN
 WriteLn('Zero');


2. Составить алгоритм, в соответствии с которым с клавиатуры вводится последовательность чисел, признак окончаия ввода - нуль. Найти максимальное их введенных чисел. Определить, сколько раз оно встречалось в последовательности и превышает ли число его вхождение одну треть от общего количества введенных чисел.

Код:
VAR
 A:ARRAY[1..100] of INTEGER;
 i,Max,N,Q:INTEGER;
BEGIN
 i:=0;
 REPEAT
  INC(i); 
  Write('A[',i,']= ');
  ReadLn(A[i]);
 UNTIL A[i]=0;
 N:=i-1; 
 Max:=A[1];
 FOR i:=2 TO N DO
  IF A[i]>Max THEN Max:=A[i];
 Q:=0;
 FOR i:=1 TO N DO
  IF A[i]=Max THEN INC(Q);
 WriteLn('The maximum value ',Max,' has ',Q,' entries');
 IF 1.0*Q/N>1.0/3 THEN
 WriteLn('Exceeds') ELSE WriteLn('Does not exceed');
END.
 
Большое прибольшое спасибо! Вообще круть крутовская! Не знаю что б делал без вас!)))
 
Назад
Сверху