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

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

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

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

Не понимаю Паскаль, покажите пожалуйста ещё раз как решать.

Машуня

Ученик
Регистрация
6 Май 2010
Сообщения
11
Реакции
0
Баллы
0
Не понимаю Паскаль, покажите пожалуйста ещё раз как решать.

1.С клавиатуры вводится строка длиной N, 2<N<100. Удалить в строке все латинские прописные символы. Результат вывести на экран.
2.Дан целочисленный массив размера N, 2<N<100. Размер массива и его элементы вводятся с клавиатуры. Найти количество элементов массива, которые без остатка делятся на 3. Результат вывести на экран.
 
Прям так уж не понимаете? Если вы не понимаете Паскаль, то вы не понимаете программирование. На кого вы учитесь, позвольте поинтересоваться?
Сначала составляете алгоритм, то есть представляете, каким образом данные будут вводиться, обрабатываться и выводиться (второе самое сложное). Можете записать, но с опытом необходимость в этом отпадает. Обдумайте все, и приступайте к реализации. Мы готовы помочь вам на любом этапе, но писать готовые программы такой легкости - это медвежья услуга.

Вторая задача очень простая. Вот вам пример словесного алгоритма:
1. Вводим размер массива;
2. Вводим сам массив;
3. Поэлементно проверяем остаток от деления каждого элемента на 3;
4. Если остаток равен 0, то выводим элемент.
Пробуйте, у вас получится. С любыми вопросами - милости просим
 
1.С клавиатуры вводится строка длиной N, 2<N<100. Удалить в строке все латинские прописные символы. Результат вывести на экран.
Беда в том, что Вы и не пытаетесь ничего понять! И зачем тогда учиться? Ведь не далее, как 5 дней назад я выложил Вам решение аналогичной задачи: http://www.tehnari.ru/f41/t35786/ , но Вы, очевидно, не пожелали даже разобраться в этой программе. Ну хорошо, ну дам я Вам решение этой:
Код:
VAR
 i:INTEGER;
 S:STRING;
BEGIN
 WriteLn('Enter the string:');
 ReadLn(S);
 For i:=1 to Length(S) do
  If (Ord(S[i])<65) or (Ord(S[i])>90) then Write (S[i]);
 WriteLn;
 ReadLn;
END.
А дальше что? Завтра Вам дадут задачу "заменить вопросительные знаки в строке восклицательными" и Вы опять прибежите сюда? Ну-ну... Грустно это всё...
 
Володь, чувствую ты от авторши даже элементарного "спасибо" не дождесси.
 
Я учюсь совсем по другой специальности!!!!Просто хочу научится задачи на паскале решать, но пока я плохо понимаю!!
 
Артем, чтд.. Машуня, что бы научиться, надо пробовать. Не понимаете - спрашивайте, что не понимаете. Все не понимать невозможно, но если так, то берите учебник, и начинайте вдумчиво читать с самого начала
 
С клавиатуры вводится строка длиной N, 2<N<100. Удалить в строке все латинские прописные символы. Результат вывести на экран.
Вот в задаче я не понимаю, как записать вот это предложение(Удалить в строке все латинские прописные символы.)
А в решённой задаче откуда берутся вот эти числа( If (Ord(S)<65) or (Ord(S)>90) then Write (S))
 
Артем, что и требовалось доказать.
Удалить латинские прописные символы - это значит удалить заглавные буквы английского (латинского) алфавита.
У каждого символа, введенного с клавиатуры, есть свой порядковый номер по таблице кодов ASCII. Например, символы переноса строки и возврат катерки (клавиша Enter) - #10 и #13; у пробела - #32 (если я ничего не путаю).
В языке паскаль есть операторы, позволяющие получать символ по номеру в кодовой таблице и номер по символу - chr(n) и ord(c), где н-число, а с - символ. То есть, если мы напишем а:=chr(32), то а станет равно пробелу, или a:=ord(' '), и в а запишется 32.
Владимир решил эту задачу с использованием этой самой кодовой таблицы. Все заглавные символы латинского алфавита (то, что нам нужно удалить), находятся в диапазоне от #65 до #90. Суть оператора такова:
если символ не лежит в диапазоне [65..90], то он не является заглавным латинским символом, следовательно, его не надо удалять из строки (надо вывести на экран).
Надеюсь, все понятно и подробно изложил?
 
Да спасибо большое!Попробую теперь разобраться!
 
Надеюсь, получится. Удачи в этом деле
 
Спасибо большое, что объяснили!Попробую тепрь с другими задачами разобраться!!!!!!!
 
Назад
Сверху