Доработайте программу так чтобы она выводила на экран слово hello 10 раз в столбик

Новые вопросы по информатике

Сколько всего различных символов может быть в восьмибитной текстовой кодировке? 1) 8 2) 512 3) 256 4) 65536

Паскаль. Написать программу подсчета количества отрицательных чисел среди любых 10 вводимых. 1 программа с использованием while, 2 программа — repeat

Сколько кб информации содержит сообщение объемом 2^20 бит?

Информатика пользователь создад сообщение из 256 символов в кодировке Unicode в которой каждый символ кодируется 16 битами после редактирования информационный объем сообщения составил 3072 бит Определите сколько символов удалили сообщение если его

Запишите числа в беззнаковом коде (формат 1 байт): а) 31; б) 163; в) 65; г) 128.

Главная » Информатика » Написать программу в Паскале 1. Выведите на экран 10 раз фразу «You are welcome!» 2. Выведите на экран n раз фразу «Silence is golden». Число n вводит пользователь.

Источник: urokam.net

Первое знакомство с программой Kоуч AY

Вывод Hello World в цикле 10 раз — Assembler

Задача: Модифицировать текст программы так, чтобы надпись выводилась на экран 10 раз. Указание: для выполнения задачи достаточно добавить LOOP в нужном месте, при этом не требуется детально разбираться с текстом программы. Если не сложно поясните вкратце код.

! Simple «hello world» program ! See section 9.8.1. _EXIT = 1 ! 1 _WRITE = 4 ! 2 _STDOUT = 1 ! 3 .SECT .TEXT ! 4 start: ! 5 MOV CX,de-hw ! 6 PUSH CX ! 7 PUSH hw ! 8 PUSH _STDOUT ! 9 PUSH _WRITE ! 10 SYS ! 11 ADD SP,8 ! 12 SUB CX,AX ! 13 PUSH CX ! 14 PUSH _EXIT ! 15 SYS ! 16 .SECT .DATA ! 17 hw: ! 18 .ASCII «Hello Worldn» ! 19 de: .BYTE 0 ! 20 .SECT .BSS

Все мои попытки были неудачны. Там CX не уменьшается и происходит зацикливание.Вот мой код.

! Simple «hello world» program ! See section 9.8.1. _EXIT = 1 ! 1 _WRITE = 4 ! 2 _STDOUT = 1 ! 3 .SECT .TEXT ! 4 MOV CX, 10 start: ! 5 MOV CX,de-hw ! 6 PUSH CX ! 7 PUSH hw ! 8 PUSH _STDOUT ! 9 PUSH _WRITE ! 10 SYS ! 11 LOOP start ADD SP,8 ! 12 SUB CX,AX ! 13 PUSH CX ! 14 PUSH _EXIT ! 15 SYS ! 16 .SECT .DATA ! 17 hw: ! 18 .ASCII «Hello Worldn» ! 19 de: .BYTE 0 ! 20 .SECT .BSS

Код к задаче: «Вывод Hello World в цикле 10 раз»

Листинг программы

! Simple «hello world» program ! See section 9.8.1. _EXIT = 1 ! 1 _WRITE = 4 ! 2 _STDOUT = 1 ! 3 .SECT .TEXT ! 4 MOV CX, 10 ; до цикла счётчик зарядил правильно start: ! 5 push cx ; только его нужно сныкать в стек потому что дальше будет MOV CX,de-hw ! 6 ; хуерга которая перебивала твой счётчик PUSH CX ! 7 PUSH hw ! 8 PUSH _STDOUT ! 9 PUSH _WRITE ! 10 SYS ! 11 pop cx ; а тут мы извлекаем счётчик из стека, а не минусуем ту хуергу что косорезит сразу после старта LOOP start ADD SP,8 ! 12 SUB CX,AX ! 13 PUSH CX ! 14 PUSH _EXIT ! 15 SYS ! 16 .SECT .DATA ! 17 hw: ! 18 .ASCII «Hello Worldn» ! 19 de: .BYTE 0 ! 20 .SECT .BSS

Читайте также:
Как добавлять программы в исключения avast

Источник: studassistent.ru

Жарикова А.А. — Разведывательный анализ данных с помощью языка R — 10. Работа с табличными данными

Урок 4. Выводим на экран текст программы hello

В конце второго урока вы получили задание написать программу, которая выведет на экран текст программы hello.

Этот урок мы начнем с решения этой задачи.

1 program helloProg; 2 3 uses 4 Crt; 5 6 begin 7 ClrScr; 8 9 Writeln( ‘program hello;’ ); 10 Writeln; 11 Writeln( ‘begin’ ); 12 Writeln( ‘ Writeln( »Привет!» );’ ); 13 Writeln( ‘end.’ ); 14 end.

Для удобства обсуждения я пронумеровал каждую строку программы. На всякий случай уточню, при наборе текста программы в редакторе Free Pascal набирать эти номера не нужно:

Запустите программу (Ctrl + F9 или через меню Run | Run) и посмотрите на результат (Alt + F5):

Разберем построчно текст нашей программы.

(Чтобы вам не приходилось двигать страницу вверх-вниз — от комментариев к программе и назад, я буду повторять текст программы небольшими кусками в процессе комментирования).

1 program helloProg; 2 3 uses 4 Crt; 5 6 begin 7 ClrScr; 8

1. Программу мы назвали helloProg.

2, 5, 8. Пустые строки в программе, с точки зрения её выполнения, никакой роли не играют, а нужны лишь для улучшения восприятия программы человеком. О том, почему так важен внешний вид программы, мы еще поговорим отдельно.

3-4. Т. к. по заданию текст программы hello надо вывести на чистый экран, то нам понадобится процедура ClrScr , с помощью которой можно очистить экран. Чтобы эта процедура работала, надо подключить к программе модуль Crt , в котором она реализована. Что мы и сделали, добавив строку « uses Crt; ».

6. С этого begin начинается основное тело нашей программы.

7. Очищаем экран с помощью процедуры ClrScr .

Далее мы пишем команды, которые будут выводить текст программы hello. Напомню, как выглядит этот текст:

program hello; begin Writeln( ‘Привет!’ ); end.

Читайте также:
Как установить программу которой нет в appstore

Именно этот текст мы и должны будем получить в окне результатов после запуска нашей программы helloProg.

Вернемся к нашей программе:

9 Writeln( ‘program hello;’ ); 10 Writeln; 11 Writeln( ‘begin’ ); 12 Writeln( ‘ Writeln( »Привет!» );’ ); 13 Writeln( ‘end.’ ); 14 end.

9. Writeln( ‘program hello;’ ) — выводит первую строку программы hello.

10. Writeln — выводит пустую строку. Кстати, мы могли бы написать и Writeln( » ) , т. е. открыть одинарную кавычку и тут же её закрыть — эффект был бы тот же, т. к. » — это пустая строка.

11, 13. Writeln( ‘begin’ ) и Writeln( ‘end’ ) — выводят соответственно begin и end программы hello.

12. Writeln( ‘ Writeln( »Привет!» );’ ) — самая сложная строка, которую мы разберем ниже подробнее.

14. end — конец нашей программы.

Разберем теперь подробнее строку

12 Writeln( ‘ Writeln( »Привет!» );’ )

Чтобы было легче разобраться в данной строке, рассмотрим её с точки зрения набора. Как правильно набирать данную строку в редакторе? Следующие строки иллюстрируют как должна меняться 12-я строка в процессе её набора.

12 Writeln(); 12 Writeln( » ); 12 Writeln( ‘ Writeln();’ ); 12 Writeln( ‘ Writeln( »» );’ ); 12 Writeln( ‘ Writeln( »Привет!» );’ );

Теперь усложним задачу. Выведем программу hello на экран так, как она выглядит в нашем редакторе Free Pascal:

Что я имею в виду? Посмотрите внимательно. Программа в редакторе отображается на синем фоне. Ключевые слова program , begin и end выводятся белым цветом, название программы ( hello ) и процедуры Writeln — желтым, строка ‘Привет!’ — светло-сине-зеленым.

Следующая программа выполняет поставленную задачу:

program helloColor; uses Crt; begin TextBackground( Blue ); ClrScr; TextColor( White ); Write( ‘program ‘ ); TextColor( Yellow ); Writeln( ‘hello;’ ); Writeln; TextColor( White ); Writeln( ‘begin’ ); TextColor( Yellow ); Write( ‘ Writeln( ‘ ); TextColor( LightCyan ); Write( »’Привет!»’ ); TextColor( Yellow ); Writeln( ‘ );’ ); TextColor( White ); Writeln( ‘end.’ ); end.

Запустите программу (Ctrl + F9) и посмотрите на результат (Alt + F5):

Будьте внимательны: это не окно редактора, а окно, в котором выводятся результаты работы программы, по нажатию Alt + F5.

Разберем саму программу. В листинге программы helloColor (листинг — это текст программы) мы видим новые процедуры:

TextBackground — процедура, которая устанавливает заданный цвет для фона текста.

Читайте также:
Чат бот это программа

TextColor — процедура, которая устанавливает заданный цвет для текста.

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

А если вам нужен белый фон, то:

Ниже вы можете увидеть какие числа каким цветам соответствуют:

Черный
1 Синий
2 Зелёный
3 Сине-зелёный
4 Красный
5 Пурпурный
6 Коричневый
7 Светло-серый
8 Тёмно-коричневый
9 Голубой
10 Светло-зелёный
11 Светло-сине-зелёный
12 Светло-красный
13 Светло-пурпурный
14 Жёлтый
15 Белый

Очевидно, что запомнить для каждого цвета его номер очень непросто. Поэтому модуль Crt определяет целый ряд констант, кодирующих вышеуказанные цвета:

const Black = 0; < черный >Blue = 1; < синий >Green = 2; < зелёный >Cyan = 3; < сине-зелёный >Red = 4; < красный >Magenta = 5; < пурпурный >Brown = 6; < коричневый >LightGray = 7; < светло-серый >DarkGray = 8; < тёмно-коричневый >LightBlue = 9; < голубой >LightGreen = 10; < светло-зелёный >LightCyan = 11; < светло-сине-зелёный >LightRed = 12; < светло-красный >LightMagenta = 13; < светло-пурпурный >Yellow = 14; < желтый >White = 15;

В уроке 3 мы с вами уже познакомились с использованием констант. Там мы вводили строковую константу (Name), чтобы упростить в будущем модификацию (изменение) программы. Когда нам нужно было получить письмо для другого адресата, мы должны были изменить программу только в одном месте: там, где определялось значение константы (Name). Здесь же введение числовых констант решает другую задачу.

Во-первых, наша программа становится более понятной. Попробуйте с ходу понять, какой цвет фона будет установлен командой TextBackground( 9 ) . Сравните эту команду с командой, которая использует числовую константу: TextBackground( LightBlue ) . В последнем случае строка в переводе с английского читается как ЦветФонаТекста( голубой ) .

Во-вторых, программу становится проще писать: легче написать TextBackground( Yellow ) , чтобы установить желтый цвет фона, чем вспомнить число, которое соответствует желтому цвету: TextBackground( 14 ) .

Если коротко, то использование числовых констант вместо чисел даёт два преимущества: 1) программу проще писать; и 2) программу проще читать. Помимо этого, использование констант уменьшает вероятность совершения ошибки. Например, печатая TextBackground( 14 ) можно ввести по ошибке другое число, например, 13 , или 15 (такое бывает, когда промахиваются клавишей и вместо требуемой клавиши нажимают соседнюю). Если же вы напишете вместо Yellow слово Yelloq ( q находится рядом с w ), то при запуске программы компилятор сообщит вам, что не знает такого идентификатора как Yelloq .

Источник: ksirov.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru