Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Упражнения. 1. Каким будет значение переменной х после завершения никла
1. Каким будет значение переменной х после завершения никла for (int X = 0; X < 100; х++)? 2. Создайте вложенный цикл for, заполняющий нулями массив размером 10x10. for (int = 0; i< 10; i++) { for (int j = 0; j< 10; j++) cout < < О; cout < < " \n"; } 3. Организуйте цикл for, счетчик которого изменяется от 100 до 200 с шагом 2. for (int х = 100; х< =200; х*=2) 4. Организуйте цикл while, счетчик которого изменяется от 100 до 200 с шагом 2. int х = 100; while (х < = 200) х+= 2: 5. Организуйте цикл do...while, счетчик которого изменяется от 100 до 200 с шагом 2. int х = 100; do { х+=2: } while (х < = 200); 6. Жучки: найдите ошибку в приведенном фрагменте программы: int counter = 0; while (counter < 10) { cout < < " counter: " < < counter; } Нет выражения, в котором выполнялось бы приращение счетчика counter, поэтому цикл while никогда не закончится. 7. Жучки: найдите ошибку в приведенном фрагменте программы: for (int counter = 0; counter < 10; counter++); cout < < counter < < " "; В конце строки задания цикла стоит точка с запятой, поэтому цикл выполняет только приращение счетчика. Программист, возможно, именно это и имел в виду, но если предполагался еще и вывод каждого значения переменной counter, то этого не произойдет. 8. Жучки: найдите ошибку в приведенном фрагменте программы: int counter = 100; while (counter < 10) { cout < < " counter now: " < < counter; counter—-; } Счетчик counter инициализирован числом 100, но проверяемое условие таково, что, если значение переменной counter больше 10, выражение условия возвратит FALSE и тело цикла никогда не будет выполнено. Если первую строку заменить вариантом int counter = 5;, то этот цикл не закончится до тех пор, пока не выполнится обратный отсчет до минимально возможного значения счетчика. Поскольку тип счетчика int по умолчанию определяется как signed, то мы получим бесконечный цикл. 9. Жучки: найдите ошибку в приведенном фрагменте программы: cout < < " Enter a number between 0 and 5: "; cin > > theNumber; switch (theNumber) { case 0: doZero(); case 1: // идем дальше case 2: П идем дальше case 3: // идем дальше case 4: Ц идем дальше case 5: doOneToFive(); break; default: doDefault(); break; } После оператора case 0, видимо, должен быть оператор break. Если это не так, то ситуацию следовало бы разъяснить с помошью комментария.
День 8
Контрольные вопросы
1. Какой оператор используется для получения адреса переменной? Для возвращения адреса любой переменной используется оператор получения адреса (&). 2. Какой оператор позволяет получить значение, записанное по адресу, содержащемуся в указателе? Для доступа к значению, сохраненному по адресу, содержащемуся в указателе, используется оператор разыменования (*). 3. Что такое указатель? Это переменная, которая содержит адрес другой переменной. 4. В чем различие между адресом, который хранится в указателе, и значением, записанным по этому адресу? Адрес, сохраненный в указателе, — это адрес другой переменной. Значение, сохраненное по этому адресу, — это любое значение, сохраняемое в переменной, на которую ссылается указатель. Оператор разыменования (*) возвращает значение, сохраненное по адресу, который хранится в указателе. 5. В чем различие между оператором разыменования и оператором получения адреса? Оператор разыменования (*) возвращает значение, хранящееся по адресу, на который ссылается указатель. А оператор получения адреса (&) возвращает адрес переменной в памяти. 6. В чем различие между следующими объявлениями: const int * ptrOne и int * const ptrTwo? Выражение const int * ptrOne объявляет, что переменная ptrOne представляет собой указатель на постоянное целое число. Само это целое число не может быть изменено с помощью данного указателя. Выражение int * const pi rTwo объявляет, что переменная ptrTwo является постоянным указателем на некоторое целое число. После такой инициализации этот указатель не может быть переназначен.
|