Не понимаю Паскаль, покажите пожалуйста ещё раз как решать.
1.С клавиатуры вводится строка длиной N, 2<N<100. Удалить в строке все латинские прописные символы. Результат вывести на экран.
2.Дан целочисленный массив размера N, 2<N<100. Размер массива и его элементы вводятся с клавиатуры. Найти количество элементов массива, которые без остатка делятся на 3. Результат вывести на экран. |
Прям так уж не понимаете? Если вы не понимаете Паскаль, то вы не понимаете программирование. На кого вы учитесь, позвольте поинтересоваться?
Сначала составляете алгоритм, то есть представляете, каким образом данные будут вводиться, обрабатываться и выводиться (второе самое сложное). Можете записать, но с опытом необходимость в этом отпадает. Обдумайте все, и приступайте к реализации. Мы готовы помочь вам на любом этапе, но писать готовые программы такой легкости - это медвежья услуга. Вторая задача очень простая. Вот вам пример словесного алгоритма: 1. Вводим размер массива; 2. Вводим сам массив; 3. Поэлементно проверяем остаток от деления каждого элемента на 3; 4. Если остаток равен 0, то выводим элемент. Пробуйте, у вас получится. С любыми вопросами - милости просим |
Цитата:
Код:
VAR |
Володь, чувствую ты от авторши даже элементарного "спасибо" не дождесси.
|
Я учюсь совсем по другой специальности!!!!Просто хочу научится задачи на паскале решать, но пока я плохо понимаю!!
|
Артем, чтд.. Машуня, что бы научиться, надо пробовать. Не понимаете - спрашивайте, что не понимаете. Все не понимать невозможно, но если так, то берите учебник, и начинайте вдумчиво читать с самого начала
|
Цитата:
|
С клавиатуры вводится строка длиной N, 2<N<100. Удалить в строке все латинские прописные символы. Результат вывести на экран.
Вот в задаче я не понимаю, как записать вот это предложение(Удалить в строке все латинские прописные символы.) А в решённой задаче откуда берутся вот эти числа( If (Ord(S[i])<65) or (Ord(S[i])>90) then Write (S[i])) |
Цитата:
Цитата:
|
Артем, что и требовалось доказать.
Удалить латинские прописные символы - это значит удалить заглавные буквы английского (латинского) алфавита. У каждого символа, введенного с клавиатуры, есть свой порядковый номер по таблице кодов ASCII. Например, символы переноса строки и возврат катерки (клавиша Enter) - #10 и #13; у пробела - #32 (если я ничего не путаю). В языке паскаль есть операторы, позволяющие получать символ по номеру в кодовой таблице и номер по символу - chr(n) и ord(c), где н-число, а с - символ. То есть, если мы напишем а:=chr(32), то а станет равно пробелу, или a:=ord(' '), и в а запишется 32. Владимир решил эту задачу с использованием этой самой кодовой таблицы. Все заглавные символы латинского алфавита (то, что нам нужно удалить), находятся в диапазоне от #65 до #90. Суть оператора такова: если символ не лежит в диапазоне [65..90], то он не является заглавным латинским символом, следовательно, его не надо удалять из строки (надо вывести на экран). Надеюсь, все понятно и подробно изложил? |
Часовой пояс GMT +4, время: 10:11. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.