Построение предложений

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

Члены предложения в английском языке, как и в русском, делятся на главные и второстепенные.

Главные члены предложения – это те, благодаря которым образуется грамматическая основа высказывания. Без них предложение не будет иметь смысла. К главным членам относятся подлежащее и сказуемое.

Примеры:

(Кто?) Они (что делали?) думали. — They thought.

Кто?) Кот (что делает?) идет. – The cat is going.

(Что?) Яблоко (что сделает?) упадет. — The apple will fall.

Подлежащее

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

Существительное используется в своей стандартной словарной форме, в единственном или множественном числе.

Примеры:

a product — products (продукт — продукты)

a magazine — magazines (журнал — журналы)

a university — universities (университет — университеты)

Артикль может быть определенным, неопределенным или отсутствовать вообще, в зависимости от подразумеваемого предмета/лица.

Что касается местоимений, то в качестве подлежащего чаще всего употребляются личные местоимения в именительном падеже: I (я), we (мы), you (ты/вы), he (он), she (она), it (это /оно), they (они).

А также некоторые неопределенные и отрицательные местоимения: someone/somebody (кто-то), no one/nobody (никто), everyone/everybody (все), something (что-то), nothing (ничего), everything (все), each (каждый).

В разговорной речи it может заменяться на this (это), that (то).

В утвердительном предложении подлежащее стоит в начале предложения до сказуемого.

Сказуемое

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

Сказуемое отвечает на вопрос «что делать?».

В составе сказуемого глаголов может быть два, вспомогательный и смысловой.

Вспомогательный глагол — глагол, который используется для выражения времени. Как такого значения он сам по себе не имеет и на русский язык никак не переводится. Однако его присутствие необходимо, если того требует временная форма.

Примеры:

Для Present Simple — do / does
Для Past Perfect — had
Для Future Continuous — will be

Основной или смысловой глагол — это глагол, который выражает действие, совершаемое подлежащим.

Примеры:

She runs. — Она бегает.

We went. — Мы пошли.

I want to be there. — Я хочу быть там.

Второстепенные члены предложения — это те, которые поясняют главные. Без них предложение все равно будет иметь смысл, так как они не являются грамматической основой предложения. К второстепенным членам относят определение, дополнение и обстоятельство.

Определение

Этот член предложения отвечает на вопросы «какой?» и «чей?». Определение стоит рядом с подлежащим или дополнением и описывает его свойства, может выражаться практически любой частью речи.

В большинстве случаев определение выражается:

  • Прилагательными: nice (милый), brave (смелый).
  • Причастиями: sold (проданный), crying (плачущий).
  • Причастными оборотами: made of plastic (сделанный из пластика), laughing out loud (громко смеющийся).
  • Числительными: first (первый), thirty (тридцать).
  • Существительным в притяжательном падеже: Nick’s (Ника), Diana’s (Дианы).
  • Личными местоимениями в объектном падеже: my (мой), your (твой).

Примеры:

I see a beautiful girl next to him. — Я вижу (какую?) красивую девушку рядом с ним.

My red cat is lying on the windowsill.

— (Чей?) Мой (какой?) рыжий кот лежит на подоконнике.

Определение может стоять как перед подлежащим, так и перед дополнением.

Примеры:

Her wavy hair is so beautiful. — Ее волнистые волосы такие красивые.

I have read a great book. — Я прочитал замечательную книгу.

Определение, выраженное причастным оборотом, обычно идет после подлежащего и дополнения.

Пример: The girl singing on stage is my sister. — Девушка, поющая на сцене — моя сестра.

Дополнение

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

Примеры:

I see a girl with him. — Я вижу (кого?) девушку (с кем?) с ним.

She is reading a book to the children. — Она читает (что?) книгу (кому?) детям.

Существует два вида дополнения:

  • Прямое — дополнение, отвечающее не вопросы винительного падежа «кого?», «что?».
  • Косвенное — дополнение, отвечающее на все остальные падежные вопросы «кого?», «чего?», «кому?», «чему?».

Если в одном предложении используются сразу два вида дополнения, сначала употребляется прямое, а затем косвенное.

Пример: I play a computer game with her. — Я играю в компьютерную игру с ней.

Обстоятельство

Эта часть речи обозначает место, причину, время, образ действия и тому подобное. Обстоятельство связано со сказуемым, однако его можно использовать как в начале, так и в конце предложения. Первый вариант, встречается реже. Обстоятельство сообщает «где?», «когда?», «как?», «почему?» произошло какое-то действие.

Примеры:

My red cat lies on the windowsill. — Мой рыжий кот лежит (где?) на подоконнике.

Yesterday I saw her with him. — (Когда?) Вчера я видел ее с ним.

He behaved differently. — Он вел себя (как?) по-другому.

Обстоятельство может быть выражено:

  • Наречием: today (сегодня), slowly (медленно).
  • Существительным с предлогом: in Paris (в Париже), behind the scenes (за кулисами).

В английском языке есть два основных порядка слов: прямой и обратный. Прямой используется в утвердительных и отрицательных предложениях, обратный — в вопросах.

Английское предложение отличается от русского порядком слов. В русском языке он свободный, в английском – строго определенный.

Пример: Mother was cleaning the frame. — Мама мыла раму./Раму мыла мама./Мыла раму мама.

Структура утвердительных и отрицательных предложений

Прямой порядок слов в английском предложении выглядит следующим образом: на первом месте стоит подлежащее, на втором — сказуемое, на третьем — дополнение. В некоторых случаях обстоятельство может стоять на первом месте. В английском предложении у основного глагола может появиться вспомогательный глагол.

Порядок слов в утвердительном предложении:

1. Обстоятельство.
2. Подлежащее (возможно с определением).
3. Сказуемое.
4. Дополнение (возможно с определением).
5. Обстоятельство.

Примеры

Yesterday I learned English words — Вчера я учил английские слова.

Yesterday (обстоятельство) I (подлежащее) learned (сказуемое) English words (дополнение с определением).

My little sister will visit me in three days — Моя младшая сестра навестит меня через три дня.

My little sister (подлежащее с определением) will visit (сказуемое) me (дополнение) in three days (обстоятельство).

Порядок слов в отрицательном английском предложении тоже прямой. Для того чтобы показать отрицание, используется частицу not, которая соответствует русской частице «не». Также в отрицательном предложении всегда есть вспомогательный глагол, именно к нему примыкает not.

Порядок слов в отрицательном предложении:

1. Обстоятельство.
2. Подлежащее (возможно с определением).
3. Вспомогательный глагол + not.
4. Основной глагол.
5. Дополнение (возможно с определением).

Примеры

Yesterday I did not learn English words — Вчера я не учил английские слова.

Yesterday (обстоятельство) I (подлежащее) did not (вспомогательный глагол + not) learn (основной глагол) English words (дополнение с определением).

My little sister will not visit me in three days — Моя младшая сестра не навестит меня через три дня.

My little sister (подлежащее с определением) will not (вспомогательный глагол + not) visit (основной глагол) me (дополнение) in three days (обстоятельство).

Структура вопросительных предложений

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

Пример

Они живут в городе. — They live in the city.

Они живут в городе? — Do they live in the city?

Порядок слов в вопросительном предложении:

Вспомогательный глагол.
Подлежащее (возможно с определением).
Основной глагол.
Дополнение (возможно с определением)
Обстоятельство.

Примеры

Did I learn English words? — Я учил английские слова?

Did (вспомогательный глагол) I (подлежащее) learn (основной глагол) English words (дополнение с определением)?

Will my little sister visit me in three days? — Моя младшая сестра навестит меня через три дня?

Will (вспомогательный глагол) my little sister (подлежащее с определением) visit (основной глагол) me (дополнение) in three days (обстоятельство)?

При ответе на вопрос можно использовать краткий ответ. Но в английском языке нельзя просто сказать Yes/No, такой ответ может считаться грубым или недоброжелательным в некоторых случаях. Правильно построенный краткий ответ должен помимо Yes/No содержать подлежащее и вспомогательный глагол.

Примеры

Вопрос: Do they work in the office? — Они работают в офисе?

Ответ: Yes, they do. / No, they don’t. — Да. / Нет.

Вопрос: Has he visited the British Museum? / Он посетил Британский музей?

Ответ: Yes, he has. / No, he hasn’t. — Да. / Нет.

Вопрос: Will you call me? — Ты позвонишь мне?

Ответ: Yes, I will. / No, I won’t. — Да. / Нет.

Вопрос: Do you like tea? — Вы любите чай?

Ответ: Yes, I do. / No, I don’t. — Да. / Нет.

Альтернативные грамматические конструкции английских предложений

Построение английских предложений может в некоторых случаях отходить от нормы. Современный английский язык чрезвычайно богат грамматическими структурами. Некоторые из них не являются нормой в общепринятом понимании, зато отражают современные языковые тенденции. К ним относятся contraction (сокращение), ellipsis (опущение), insert (вставка), preface and tag (введение и тег).

Contraction — сокращение

Данное явление достаточно привычно и понятно в большинстве случаев.

Примеры: can’t = cannot, don’t = do not, I’m = I am

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

Примеры: Mike couldn’t’ve known about it. — Майк не мог об этом знать. You shouldn’t’ve gone there. — Не надо было тебе туда ходить.

В разговорной речи можно использовать сокращение при наличии подлежащего, выраженного несколькими существительными.

Примеры: Mark and Jenny’ve passed the exam. — Марк и Дженни сдали экзамен. The President and his team’re going to the summit. — Президент и его команда едут на саммит.

Ellipsis — опущение

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

Опускать можно:

  • Вспомогательный глагол

    Пример: How are you doing? — Как ты поживаешь? Эллипсис: How you doing? — Как ты?

    Пример: I’m alright, thanks. — У меня все хорошо, спасибо. Эллипсис: Alright, thanks. — Хорошо, спасибо.

  • Подлежащее + be/will

    Пример: I’ll see you later. — Увидимся позже. Эллипсис: See you later. — До скорого.

    Пример: I’m not sure about that. — Я в этом не уверен. Эллипсис: Not sure about that. — Не уверен.

  • Части вопросительной формы (часто с глаголами see, hear, think)

    Пример: Are you going with us? — Ты идешь с нами? Эллипсис: Going with us? — Идешь с нами?

    Пример: Would you like some lemonade? — Ты бы хотел немного лимонада? Эллипсис: (Some) lemonade? — Лимонада?

    Пример: Do you want some water? — Ты хочешь воды? Эллипсис: Want some water? — Хочешь воды?

    Пример: Have you got a little time? — У тебя есть немного времени? Эллипсис: Got a little time? — Есть время?

    Пример: Do you like it? — Тебе это нравится? Эллипсис: Like it? — Нравится?

  • Существительное

    Пример: I can’t complain. — Я не могу жаловаться. Эллипсис: Can’t complain. — Не жалуюсь.

    Пример: I don’t know. — Я не знаю. Эллипсис: Don’t know. — Не знаю.

  • Артикль

    Пример: The delivery man’s here. — Курьер здесь. Эллипсис: Delivery man’s here. — Курьер здесь.

  • It и there

    Пример: It might get colder tomorrow. — Завтра может похолодать. Эллипсис: Might get colder tomorrow. — Завтра может похолодать.

    Пример: Is anybody there ? — Там есть кто-нибудь? Эллипсис: Anybody there? — Есть кто?

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

Также возможно опущение слов в конце предложения, особенно в кратких ответах.

Примеры

Вопрос: Will you be at the meeting? — Ты будешь на встрече?

Ответ: I should be. — Должна.

Вопрос: Are you singing at the gala concert? — Ты поешь на гала концерте?

Ответ: I hope to. — Надеюсь.

Insert – вставка

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

Примеры вставок:

  • Well — выражение сомнения или паузы перед тем, как вернуться к предмету предыдущего обсуждения.

    Well, I haven’t been there yet. — Ну, я там еще не был.

  • Right — привлечение внимания, убеждение, что слушатель согласен с тем, о чем говорится.

    Right. Can you switch off your phones, please? — Итак. Не могли бы вы выключить свои телефоны?

    You’re OK, right? — С тобой все в порядке, да?

  • I mean — перифраз, объяснение, уточнение.

    I speak this language, I mean, English. — Я говорю на этом языке, я имею в виду, английском.

  • You know — убеждение в том, что слушатель понимает, о чем идет речь.

    I really liked French cuisine, you know, frogs’ legs and so on. — Мне действительно понравилась французская кухня, знаете, лягушачьи лапки и так далее.

  • OK — убеждение в том, что слушатель согласен со сказанным, обычно стоит в конце высказывания.

    See you at 5, OK? — Увидимся в 5, ладно?

  • Now — изменение темы или возвращение к предыдущей теме.

    That was interesting. Now, who wants to listen to another story? — Это было интересно. Ну а теперь, кто хочет послушать другую историю?

  • Like — пауза, указание на то, что высказывание не завершено и далее следует дополнительная информация по теме.

    I didn’t join them because it was, like, dangerous. — Я не пошел с ними, ведь это было, ну, опасно.

Вставки могут использоваться не только говорящим, но и слушателем для той или иной цели.

Вопрос: There’s been another bank robbery. — Было еще одно ограбление банка.

Ответ: Really? — Правда?

(вставка использована для демонстрации интереса говорящему)

Вопрос: I’m sick and tired of his behaviour. — Я сыт по горло его поведением.

Ответ: Uh huh. — Ну да.

(вставка использована слушателем для показания толерантности, понимания того, что говорит его собеседник)

Preface and tag — введение и тег

Preface — вводное слово или фраза. Tag — слово (фраза), следующее после основного высказывания. Оба явления используются для того, чтобы удостовериться, что слушатель следует ходу ваших мыслей, понимает, о чем идет речь.

Пример с вводной фразой: That night club, what’s it called? — Тот ночной клуб, как он называется?

Пример с тегом: What is she doing, that girl? — Что она делает, та девушка?

Вводная фраза или слово могут также использоваться для введения новой темы.

Пример: Ireland, what a lovely country it is! — Ирландия, какая прекрасная страна!

«Работа над фразой: Составление предложений из трёх слов.

Четырёхсловные предложения с добавлением определения». | План-конспект занятия по развитию речи (старшая группа):

Тема: «Работа над фразой: Составление  предложений из трех слов. Четырехсловные предложения с добавлением определения».

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

Задачи: 

1. Научить правильно, составлять предложения из трех слов, составлять предложения по образцу и собственные предложения.

2. Развивать внимание, память, логическое мышление, речь.

3. Воспитывать интерес к занятиям.

Оборудование: Предметные и сюжетные картинки.

Ход НОД:

1. Организационный момент: сядет тот, кто назовет ласково свое имя.

2. Сообщение темы:

Сегодня мы будем работать с предложением. Предложение – это последовательность слов, связанных друг с другом по смыслу. В предложении может быть три, четыре, пять и более слов. Но мы будем учиться составлять предложения из трех-четырех слов.

3. Изучение темы:

1. «Составление предложений из трёх слов по сюжетным картинкам».

Рассмотрите внимательно картинку. (На доску выставляется картинка, на которой изображена девочка, читающая книгу). Девочка читает. Кто это? (Девочка). Что она делает? (читает). Что читает девочка? (Книгу). Девочка читает книгу.

Какое слово прибавилось в предложении? (Книгу). Сколько стало слов в предложении? (Три).

Далее выставляются следующие картинки. Работа проводится аналогично.

2. «Составление предложений из трех слов по двум предметным картинкам».

Рассмотрите внимательно картинки. (На доску выставляются две предметные картинки, например: мальчик и рыба). Давайте попробуем составить предложение, подобрав к картинке слово, обозначающее действие:

Мальчик ловит рыбу.

Далее выставляются следующие картинки. Работа проводится аналогично.

3. «Составление предложений из трех слов каждым ребёнком».

Каждому ребенку раздаётся по одной сюжетной картинке и предлагается самостоятельно составить по ней предложение из трех слов.

4. Физкультминутка:

Руки к верху поднимаем,

А потом их опускаем,

А потом их разведем,    

И к себе скорей прижмем.

А потом быстрей, быстрей

Хлопай, хлопай веселей.

5. «Усложнение предложений. Составление предложений из четырёх слов с добавлением  определения».

А теперь давайте усложним эти предложения. Например: Девочка поливает цветы. Какие цветы? (Красивые) или Какая девочка? (Маленькая).

Далее выставляются следующие картинки. Работа проводится аналогично.

6. Упражнение «Собери предложение из слов».

А теперь я буду называть вам слова, а вы внимательно их послушайте и соберите из них предложения.

Пример: Мячик, Таня, ловит, большой.– Таня ловит  большой мячик.

-Свитер, мама, связала, красивый. ( Мама связала красивый свитер)

-Рыбу, рыбаки, поймали, крупную. (Рыбаки поймали крупную рыбу)

-Книжку, Катя, читает, интересную. (Катя читает интересную книжку)

-Стрекозу, Рита , увидела, большую. (Рита увидела большую стрекозу)

-Булку, Вова, купил, вкусную. (Вова купил вкусную булку)

-Карандашами, дети, рисуют, цветными. (Дети рисуют цветными карандашами)

-Дерево, буря, сломала, старое. (Буря сломала старое дерево).

4. Итог:

-Вы сегодня молодцы! Очень хорошо занимались. Теперь встанут и пойдут в группу дети с последнего ряда, затем со второго ряда, потом с первого ряда.

 

Примеры слова «программа» в предложении

программа

  • реклама

  • 900 05
  • Реклама

  • 900 05

    Объявление

  • Объявление

  • Реклама

  • 90 005
  • 90 005
  • 90 006
  • 90 005
  • 90 006
  • 90 005
  • 90 006
  • 90 005
  • 90 006
  • 90 005
  • 90 006
  • 90 005
  • 90 006
  • 90 005
  • 90 006

Приведенные выше примеры использования слов были собраны из различных источников, чтобы отразить текущее и историческое использование. Они не отражают мнения YourDictionary.com.

Статьи по теме

  • «Программа» или «Программа»: что правильно?

    Если вы еще этого не сделали, лучше ознакомьтесь с программой! Или это программа ? Технически обе программы и программа верны, но то, что вы на самом деле используете, зависит от того, где вы живете. А зачем вам программа? Ну, это просто то, что вы должны выяснить сами, извините.

  • Диссертация и диссертация: в чем разница?

    Неудивительно, что учеба в аспирантуре — это невероятно сложное занятие, которое заставляет вас приобретать некоторые реальные навыки, которые помогут вам в вашей карьере, а также строить новые связи с другими людьми в вашей области. Если бы это было легко, у всех была бы ученая степень, но чтобы действительно доказать, что вы чему-то научились в аспирантуре, школы потребуют от вас написания диссертации или диссертации, чтобы перейти к следующему этапу вашей жизни. Но что такое диссертация или тезис?

Также упоминается в

  • амортизатор
  • zap
  • экспорт
  • Mar·shall
  • свободная муфта
  • 910 43 правило «как если»
  • переадресация вызовов
  • Шварц, Рэндал Кейс
  • Демоны
  • читатель новостей
  • рекурсивный
  • keypath

Слова рядом с программой в Словаре

  • prognosticator
  • prognosticatory
  • progno палочка
  • проградация
  • prograde
  • prograf
  • программа
  • счетчик программ
  • директор программы
  • техника оценки и проверки программ
  • программно
  • запрограммировано

Простая схема: введение в информатику, глава 5: слова и предложения

Схема Simply: Введение в информатику, глава 5: Слова и предложения
Схема Simple: Введение в информатику 2/e Copyright (C) 1999 МТИ

Глава 5

Брайан Харви
Калифорнийский университет, Беркли
Мэтью Райт
Калифорнийский университет, Санта-Барбара

Скачать PDF версию
Назад к содержанию
ЗАДНЯЯ ЧАСТЬ резьба главы СЛЕДУЮЩАЯ
Массачусетский технологический институт Пресс-страница для Simply Scheme

В части I мы начали с примеров аббревиатур и т. д., но поскольку тогда мы работали с числовыми старыми номерами. Это потому, что дискуссии об оценке и определении процедуры были сложными достаточно, не вводя при этом дополнительных идей. Но теперь мы готов вернуться к символьному программированию.

Как мы упоминали в главе 3, все, что вы вводите в Scheme, оценивается, и полученное значение распечатывается. Допустим, вы хотите использовать «квадрат» как слово в вашей программе. Например, вы хотите, чтобы ваша программа решить задачу: «Назовите прилагательное, описывающее Барри Манилоу.» Если вы просто наберете квадратных на схеме, вы обнаружим, что квадрата — это процедура:

 > квадрат
#<ПРОЦЕДУРА>
 

(В разных версиях Scheme будут разные способы печати вне процедуры.)

Вам нужен способ сказать, что вы хотите использовать слово « квадрат » само по себе, , а не значение этого слова, как выражение. Способ сделать это — использовать цитата :

 > (квадрат в кавычках)
КВАДРАТ
> (цитата (завтра не знает))
(НИКОГДА НЕ ЗНАЕШЬ ЧТО БУДЕТ ЗАВТРА)
> (цитата (вещи, которые мы говорили сегодня))
(ТО, ЧТО МЫ ГОВОРИЛИ СЕГОДНЯ)
 

Цитата — это особая форма, поскольку ее аргумент не оценивается. Вместо этого он просто возвращает аргумент как есть.

Программисты схем часто используют , цитируя , поэтому для него существует аббревиатура:

 > 'квадрат
КВАДРАТ
> '(старый коричневый ботинок)
(старый коричневый ботинок)
 

(поскольку схема использует апостроф как аббревиатуру для цитата , вы не можете использовать его в качестве обычного знака препинания в предложении. Вот почему мы избегали таких заголовков, как 9.1162 (любовь не купишь) . На схеме это будет означать (можно (кавычка) купить мне любовь) !)[1]

Эта идея цитирования, хотя она может показаться произвольной в контексте компьютерное программирование, на самом деле довольно знакомо из обычного английского языка. Что такое книга? Это куча бумажек с печатью на них, связаны вместе. Что такое «книга»? Это словосочетание, состоящее из артикля и существительное. Видеть? Аналогично, что такое 2+3? Уже пять. Что такое «2+3»? Это арифметическая формула. Когда вы видите слова в кавычках, вы поймите, что вы должны думать о самих словах; ты не оценивайте, что они означают. Схема такая же.

(Не случайно детям, которые шутят, нравится

Мэтт: «Назови свое имя».

Брайан: «Ваше имя.»

вырастают программистами. Разница между вещь и ее название — одна из важных идей, которую программисты должны понимать.)

Селекторы

До сих пор все, что мы делали со словами и предложениями, это цитировали их. Чтобы сделать больше интересная работа, нам нужны инструменты для двух видов операций: Мы должны быть мы можем разобрать их, и мы должны быть в состоянии сложить их вместе.[2] Мы начнем с инструменты для разборки; технический термин для них селекторов.

 > (первое что-то)
С
> (первый '(восемь дней в неделю))
ВОСЕМЬ
> (первая 910)
9
> (последнее что-то)
г
> (последние '(восемь дней в неделю))
НЕДЕЛЯ
> (последние 910)
0
> (но сначала что-то)
ЧТО-ТО
> (но сначала '(восемь дней в неделю))
(ДНЕЙ В НЕДЕЛЮ)
> (но сначала 910)
10
> (но последнее что-то)
ЧТО-ТО
> (butlast '(восемь дней в неделю))
(ВОСЕМЬ ДНЕЙ А)
> (но последний 910)
91
 

Обратите внимание, что первое предложения является словом, а первые слова — это буква. (Но нет отдельного типа данных называется «письмо»; буква такая же, как однобуквенное слово.) butfirst предложения есть предложение, а butfirst предложения слово есть слово. Соответствующие правила справедливы для последних и и последний .

Имена , но сначала и , но потом не предназначены для описания способов сани; они сокращают «все , но первый » и «все но последний ».

Вам может быть интересно, почему нам даны способы найти первую и последнюю элементы, но не 42-й элемент. Оказывается, те, что у нас есть достаточно, так как мы можем использовать эти примитивные селекторы для определения других:

 (определить (второе)
  (первое (но первое)))
> (секунда '(как мечтатели))
МЕЧТАТЕЛИ
> (вторая Мишель)
я
 

Однако существует примитивный селектор элемента , который принимает два аргумента, число n и слово или предложение, и возвращает n th элемент второго аргумента.

 > (поз. 4 '(на благо господина кайта!))
ВЫГОДА
> (пункт 4 'выгода)
Е
 

Не забывайте, что предложение, содержащее ровно одно слово, отличается от само слово, и селекторы работают с ними по-разному:

 > (сначала потому что)
Б
> (сначала '(потому что))
ПОТОМУ ЧТО
 
 > (но сначала потому что)
ПРИЧИНА
> (но сначала '(потому что))
()
 

Значением этого последнего выражения является пустое предложение. Вы можете сказать, что это предложение из-за скобки, и вы можете сказать, что он пуст, потому что между их.

 > (но сначала 'а)
""
> (но сначала 1024)
"024"
 

Как показывают эти примеры, иногда butfirst возвращает слово который должен быть заключен в двойные кавычки. Первый пример показывает пустое слово , , а второе показывает число это не в его обычной форме. (Его числовое значение равно 24, но вы не обычно видят ноль впереди.)

 > 024
24
> "024"
"024"
 

Мы постараемся не печатать эти смешные слова. Но не удивитесь, если увидите один как возвращаемое значение одного из селекторов для слов. (Обратите внимание, что вам не нужно ставить одинарную кавычку перед двойные кавычки. Строки оценивают себя так же, как и числа.)

Так как , но сначала и , но потом так сложно набирать, есть сокращения bf и bl . Вы можете понять, что есть что.

Конструкторы

Функции для объединения вещей называются конструкторами. На данный момент у нас есть только два из них: слово и предложение . Word принимает любое количество слов в качестве аргументов и объединяет их вместе в одно громадное слово:

 > (слово 'ses' qui 'pe' da'lian'ism)
СЕСКВИПЕДАЛИЗМ
> (слово «сейчас» здесь)
НИГДЕ
> (слово 35 893)
35893
 

Предложение похоже, но немного отличается, так как оно может состоять из обоих слова и предложения в качестве аргументов:

 > (предложение «нести» этот «вес»)
(НЕСТИ ЭТО ВЕС)
> (предложение '(Джон Пол) '(Джордж Ринго))
(ДЖОН ПОЛ ДЖОРДЖ РИНГО)
 

Предложение слишком сложно напечатать, поэтому аббревиатура se .

 > (se '(один плюс один)' дает 2)
(ОДИН ПЛЮС ОДИН ДЕЛАЕТ 2)
 

Кстати, почему мы должны были указать , чтобы в последнем примере получилось , но не 2 ? Это потому, что числа дают самооценку, как мы уже говорили. в главе 3. Мы должны процитировать дает , потому что иначе Схема будет искать что-то с именем , что делает вместо использования слова сам. Но числа не могут быть именами вещей; Они представляют сами себя. (На самом деле, вы можете процитировать 2 , и это ничего не даст. разница — понимаете почему?)

Первоклассные слова и предложения

Если Scheme не является вашим первым языком программирования, вы, вероятно, привыкли к работе с английским текстом на компьютере совсем по-другому. Многие другие языки трактуют предложение, например, просто как совокупность «строка») из символов , таких как буквы, пробелы и знаки препинания. Эти языки не помогут вам поддерживать двухуровневую природу английского языка. текст, в котором предложение состоит из слов, а слово состоит из буквы.

Исторически компьютеры работали только с числами. Вы можете добавить два числа, переместить число из одного места в памяти компьютера в другое место, и скоро. Так как каждая инструкция в родной машине компа язык не мог обрабатывать ничего больше числа, программисты выработал отношение к тому, что одно число является «реальной вещью», в то время как все более сложное следует рассматривать как совокупность вещей, а не как нечто само по себе.

Компьютер представляет текстовый символ как одно число. Во многих языках программирования, поэтому персонаж — это «настоящая вещь», но слово или предложение понимается только как совокупность этих кодовые числа символов.

Но это не то, как люди обычно думают о своих собственных язык. Для вас слово — это прежде всего не строка символов (хотя это может временно показаться таковым, если вы соревнуетесь в правописании). Это больше похоже на единую смысловую единицу. Точно так же предложение является языковая структура, частями которой являются слова, а не буквы и пробелы.

Язык программирования должен позволять вам выражать свои идеи в терминах, которые соответствуют ваш образ мышления , а не способ компьютера. Технически, мы говорим что слова и предложения должны быть первоклассными данными в нашем язык. Это означает, что предложение, например, может быть аргументом процедура; это может быть значение, возвращаемое процедурой; мы можем дать ему имя; и мы можем строить агрегаты, элементами которых являются предложения. До сих пор мы видели как сделать первые два из них. Мы закончим работу в главе 7 (на переменных ) и Глава 17 (по списков ).

Ловушки

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

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

 (определить (множественное число) ;; неправильно!
  (слово слово))
> (множественное число «Джордж»)
ОШИБКА: GEORGE — это не процедура
 

Результат подстановки не был, как можно подумать,

 (слово "джордж")
 

а скорее

 (Джордж Джордж)
 

Мы использовали wd и в качестве формальных параметров. вместо слово и предложение , и мы рекомендуем эту практику.

Есть разница между словом и предложением из одного слова. Для Например, люди часто попадают в ловушку, думая, что , но сначала предложения из двух слов, такого как (сексуальная сэди) — это второе слово, но оно нет. Это длинное предложение из одного слова. Например, это счет это один, не пять.[3]

 > (бойфренд '(сексуальная Сэди))
(СЭДИ)
> (первый (бойфренд '(сексуальная сэди)))
СЭДИ
 

Ранее мы упоминали, что иногда Scheme должен помещать двойные кавычки. вокруг слов. Просто игнорируйте их; не расстраивайтесь, если ваша процедура вернется "6 червей" вместо просто 6 червей .

Цитата не означает "печать". Некоторые люди смотрят на взаимодействие так:

 > '(спокойной ночи)
(СПОКОЙНОЙ НОЧИ)
 

и думаю, что кавычки были указанием на то, что Схема для печати того, что следует за ней. На самом деле схема всегда печатает . значение каждого выражения, которое вы вводите, как часть цикла чтения-оценки-печати. В этом случае значением всего выражения является подвыражение, которое цитируется, а именно предложение (спокойной ночи) . Это значение не быть напечатано, если цитата была частью некоторого большего выражения:

 > (bf '(спокойной ночи))
(НОЧЬ)
 

Если вы видите сообщение об ошибке, например

 > (+ 3 (бф 1075))
ОШИБКА: НЕДЕЙСТВИТЕЛЬНЫЙ АРГУМЕНТ ДЛЯ +: "075"
 

попробуйте ввести выражение

 > (строки-числа #t)
ХОРОШО
 

и повторите попытку. (Расширение Scheme, позволяющее выполнять арифметические операции для работы с нестандартными номерами типа "075" делают обычные арифметика медленнее, чем обычно. Итак, мы предоставили способ превратить расширение включить и выключить. Вызов строк-числа с аргументом отключает расширение.)[4]

Сверлильные упражнения

5.1   Какие значения выводятся, когда вы вводите эти выражения в Scheme? (Фигура прокручивайте в голове, прежде чем попробовать на компьютере. )

 (предложение «я» (мой мой))
(предложение '()' (пусто))
(слово '23 '45)
(с '23 '45)
(бф'а)
(бф '(да))
(считай (сначала '(мэгги мэй)))
(см "" '() "" '())
(количество (se "" '() "" '()))
 

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

 > (f1 '(a b c) '(d e f))
(Б В Г Д)
> (f2 '(a b c) '(d e f))
(Б В Г Д Е АФ)
> (f3 '(a b c) '(d e f))
(А Б С А Б С)
> (f4 '(a b c) '(d e f))
БЫТЬ
 

5.3   Объясните разницу в значении между (первый мезонин) и (первый '(мезонин)) .

5.4   Объясните разницу между двумя выражениями (первый (квадрат 7)) и (первый '(квадрат 7)) .

5,5 Объясните разницу между (слово 'a 'b'c) и (se 'a 'b'c) .

5.6   Объясните разницу между (бф 'забадак) и (но сначала забадак) .

5.7   Объясните разницу между (bf 'x) и (butfirst '(x)) .

5.8   Что из нижеперечисленного является допустимым предложением схемы?

 (здесь, там и везде)
(помощь!)
(все, что я должен сделать)
(вы знаете мое имя (ищите номер))
 

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

 (се(слово(бл(бл(первый'(сделай а))))
          (bf (bf (последняя '(бейсбольная перчатка)))))
    (слово (первый'с) (бл(бл(бл(бл'жестко))))
          (первый 'прошел) (первый (бф 'стежки))))
(се (слово (бл (бл 'принести)) 'а (последнее 'чистить))
    (слово (бл (последнее '(бейсбольная кепка))) (последнее' за) (бл (бл 'очень))
(последние (первые'(солнечные дни)))))
 

5.10   Какие аргументы можно привести , но сначала , чтобы возвращает слово? Предложение?

5.11   Какие аргументы можно указать last , чтобы он вернул слово? А предложение?

5. 12   Какие из функций первая , последняя , но первая и бутласт может возвращать пустое слово? Для каких аргументов? Как насчет вернуть пустое предложение?

Реальные упражнения

5.13   Что означает ' 'банан ?

Что такое (первый '' банан) и почему?

5.14   Напишите процедуру Third , которая выбирает третью букву слова (или третье слово предложения).

5,15 Напишите процедуру first-two , которая принимает слово в качестве аргумента, возвращает двухбуквенное слово, содержащее первые две буквы аргумента.

 > (первые две амбулаторные)
ЯВЛЯЮСЬ
 

5.16   Напишите процедуру two-first , которая принимает два слова в качестве аргументов, возвращает двухбуквенное слово, содержащее первые буквы двух аргументы.

 > (два первых Брайана Эпштейна)
БЫТЬ
 

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

 > (два первых отправленных '(Брайан Эпштейн))
БЫТЬ
 

5.17   Напишите процедуру knight , которая использует имя человека в качестве имени. аргумент и возвращает имя с «Сэр» перед ним.

 > (рыцарь '(Дэвид Вессель))
(СЭР ДЭВИД ВЕССЕЛЬ)
 

5.18   Попробуйте следующее и объясните результат:

 (определить (окончание слова)
  (слово (первое слово) (последнее слово)))
> (заканчивается на "Джон")
 

5.19   Напишите процедуру вставка-и , которая принимает предложение элементов и возвращает новое предложение с «и» в нужном месте:

 > (вставить-и '(Джон Билл Уэйн Фред Джоуи))
(ДЖОН БИЛЛ УЭЙН, ФРЕД И ДЖОУИ)
 

5.20   Определите процедуру поиска чьего-либо отчества:

> (отчества '(Джеймс Пол Маккартни))
(ПАВЕЛ)
> (отчества '(Джон Рональд Рауль Толкин))
(РОНАЛЬД РАУЛЬ)
> (отчества '(Багз Банни))
()
> (отчества '(питер блэр денис бернар никто))
(БЛЭР ДЕНИС БЕРНАР)
 

5. 21   Напишите процедуру query , которая превращает утверждение в вопрос поменяв местами первые два слова и добавив вопросительный знак к последнему слову:

 > (запрос '(вы опытны))
(ВЫ ОПЫТНЫ?)
> (запрос '(мне следовало бы знать лучше))
(МНЕ НУЖНО ЗНАТЬ ЛУЧШЕ?)
 

[1] На самом деле, это это можно ставить знаки препинания внутри слов, если все слово заключено в двойные кавычки отметки, например:
 > '("не могу" купить мне любовь)
("не могу" КУПИТЬ МЕНЯ ЛЮБОВЬ)
 

Такие слова называются строками. Мы не пойдем использовать их в любых примерах почти до конца книги. Держись подальше от знаки препинания, и у вас не будет проблем. Однако знаки вопроса и восклицательные знаки в порядке. (Обычные слова, те, что ни ни строки, ни цифры, официально называются символов. )

[2] Процедуры, которые мы собираемся показать вам, не являются частью стандартная, официальная схема. Scheme предоставляет способы сделать это, но обычные способы несколько сложнее и подвержены ошибкам для новички.