Новые вопросы по информатике
Сколько всего различных символов может быть в восьмибитной текстовой кодировке? 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
Источник: 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.
Именно этот текст мы и должны будем получить в окне результатов после запуска нашей программы 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